[
  {
    "path": ".gitignore",
    "content": ".DS_Store\n"
  },
  {
    "path": "1 - PHP for WordPress/1.02-phpforwp-completed/index.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <title>PHP for WordPress</title>\n    <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  </head>\n  <body>\n\n    <header id=\"masthead\">\n    \t<h1><a href=\"#\">PHP for WordPress</a></h1>\n    </header>\n\n    <div id=\"content\">\n\n      <?php\n\n        // Create a variable called $name and assign it your name\n        $name = \"Enter your name\";\n\n      ?>\n\n      <h2>Welcome!</h2>\n\n      <p>My name is \"<?php echo $name; ?>.\"</p>\n\n    </div>\n  </body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.02-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.2 - Writing Some PHP (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.02-phpforwp-starter/index.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <title>PHP for WordPress</title>\n    <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  </head>\n  <body>\n\n    <header id=\"masthead\">\n      <h1><a href=\"#\">PHP for WordPress</a></h1>\n    </header>\n\n    <div id=\"content\">\n\n    <?php\n\n      // Create a variable called $name and assign it your name\n\n    ?>\n\n    <h2>Welcome!</h2>\n\n    <p>My name is \"<?php // echo $name variable here ?>.\"</p>\n\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.02-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.2 - Writing Some PHP (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.04-phpforwp-completed/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n</head>\n<body>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n\n  <div id=\"content\">\n\n\n    <?php\n\n      // Create an array of post objects using the display_post function\n      $posts = array(\n        'Hello World',\n        'PHP for WordPress',\n        'WP Development'\n      );\n\n\n      // Loop through array of posts and display each one on the page\n      foreach( $posts as $post ) {\n\n        // Call the display_title function and pass it the $post\n        display_title( $post );\n\n      }\n\n      /**\n       * Custom function for displaying the title and content for a post\n       *\n       * @param string $title The title to be displayed\n       */\n      function display_title( $title ) {\n\n        // Echo an <h3> tag with the $title inside\n        echo \"<h3><a href=\\\"#\\\">$title</a></h3>\";\n\n      }\n\n    ?>\n\n  </div>\n\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.04-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.4 - PHP Basics (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.04-phpforwp-starter/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n</head>\n<body>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n\n  <div id=\"content\">\n\n\n    <?php\n\n      // Create an array of post objects using the display_post function\n\n\n      // Loop through array of posts and display each one on the page\n\n        // Call the display_title function and pass it the $post\n\n\n      /**\n       * Custom function for displaying the title and content for a post\n       *\n       * @param string $title The title to be displayed\n       */\n      function display_title( $title ) {\n\n        // Echo an <h3> tag with the $title inside\n\n      }\n\n    ?>\n\n  </div>\n\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.04-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.4 - PHP Basics (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.08-phpforwp-completed/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n</head>\n<body>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n\n  <div id=\"content\">\n\n    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n      <h2><?php the_title(); ?></h2>\n      <?php the_content(); ?>\n\n    <?php endwhile; else: ?>\n\n      <h2><?php esc_html_e( '404 Error', 'phpforwp' ); ?></h2>\n      <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>\n\n    <?php endif; ?>\n\n  </div>\n\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.08-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.8 - The Loop (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n\tbackground-color: #B49AEB;\n\tfont-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tfont-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n\tmargin:  2rem 0 1rem;\n}\n\na {\n\t\tcolor: #564A71;\n\t\ttext-decoration: none;\n}\n\npre {\n\tbackground: #222;\n\tpadding: 10px;\n\tborder: 1px #777 solid;\n\tcolor: #ededed;\n\tfont-family: monospace;\n\tfont-size: 1rem;\n}\n\n#masthead {\n\tmargin: 2rem 0 1rem;\n\ttext-align: center;\n}\n\n#content {\n\tbackground: #efefef;\n\tmargin: 20px auto;\n\tpadding: 20px;\n\twidth: 80%;\n\tborder-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.08-phpforwp-starter/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n</head>\n<body>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n\n  <div id=\"content\">\n\n    <?php // Start the loop here ?>\n\n      <!-- Display the_title and the_content here -->\n\n    <?php // End while and start else ?>\n\n      <!-- Display a 404 message here -->\n\n    <?php // End if ?>\n\n  </div>\n\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.08-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.8 - The Loop (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-completed/footer.php",
    "content": "  <?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-completed/header.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  <?php wp_head(); ?>\n</head>\n<body <?php body_class(); ?>>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\"><?php bloginfo( 'name' ); ?></a></h1>\n  </header>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-completed/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"content\">\n\n    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n      <article <?php post_class(); ?> >\n\n        <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n        <?php the_content(); ?>\n\n        <footer>\n          <p class=\"byline\">\n            Author:\n            <a href=\"<?php echo get_author_posts_url( $post->post_author ); ?>\"><?php the_author(); ?></a> |\n            Date:\n            <?php the_time( 'M. j, Y' ); ?> |\n            Categories:\n            <?php the_category( ',' ); ?> |\n            Tags:\n            <?php the_tags( '', ',', '' ); ?>\n          </p>\n        </footer>\n\n      </article>\n\n    <?php endwhile; else: ?>\n\n      <h2><?php esc_html_e( '404 Error', 'phpforwp' ); ?></h2>\n      <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>\n\n    <?php endif; ?>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.10 - Template Tags (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-starter/index.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n</head>\n<body>\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n\n  <div id=\"content\">\n\n<!-- Add any template tags outside of loop -->\n\n    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n      <!-- Add any post template tags inside of loop -->\n\n      <h2><?php the_title(); ?></h2>\n      <?php the_content(); ?>\n\n    <?php endwhile; else: ?>\n\n      <h2><?php esc_html_e( '404 Error', 'phpforwp' ); ?></h2>\n      <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>\n\n    <?php endif; ?>\n\n<!-- Add any template tags outside of loop -->\n\n  </div>\n\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.10-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.10 - Template Tags (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-completed/footer.php",
    "content": "  <?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-completed/header.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  <?php wp_head(); ?>\n</head>\n<body class=\"<?php body_class(); ?>\">\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-completed/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"content\">\n\n    <!-- Static Front Page -->\n    <?php if( is_front_page() && !is_home() ): ?>\n\n      <h1>Static Front Page</h1>\n\n    <?php endif; ?>\n\n    <!-- Blog Home -->\n    <?php if( is_home() ): ?>\n\n      <h1>Blog Home</h1>\n\n    <?php endif; ?>\n\n    <!-- Page (Not Front Page) -->\n    <?php if( is_page() &&  !is_front_page() ): ?>\n\n      <h1>Page</h1>\n\n    <?php endif; ?>\n\n    <!-- Single Post -->\n    <?php if( is_single() && !is_attachment() ): ?>\n\n      <h1>Post</h1>\n\n    <?php endif; ?>\n\n    <!-- Attachment (Media) -->\n    <?php if( is_attachment() ): ?>\n\n      <h1>Attachment</h1>\n\n    <?php endif; ?>\n\n    <!-- Category Archive -->\n    <?php if( is_category() ): ?>\n\n      <h1><?php single_cat_title(); ?></h1>\n\n    <?php endif; ?>\n\n    <!-- Tag Archive -->\n    <?php if( is_tag() ): ?>\n\n      <h1><?php single_tag_title(); ?></h1>\n\n    <?php endif; ?>\n\n    <!-- Author Archive -->\n    <?php if( is_author() ): ?>\n\n      <h1><?php the_archive_title(); ?></h1>\n\n    <?php endif; ?>\n\n    <!-- Date Archive -->\n    <?php if( is_date() ): ?>\n\n      <h1><?php the_archive_title(); ?></h1>\n\n    <?php endif; ?>\n\n    <!-- 404 Page -->\n    <?php if( is_404() ): ?>\n\n      <h1><?php esc_html_e( '404 - Content not found', 'phpforwp' ); ?></h1>\n\n    <?php endif; ?>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.12 - Conditional Tags (Compeleted)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6,\np.sitename {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#masthead p.sitename {\n  font-size: 1.8rem;\n  font-weight: bold;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-starter/footer.php",
    "content": "  <?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-starter/header.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  <?php wp_head(); ?>\n</head>\n<body class=\"<?php body_class(); ?>\">\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-starter/index.php",
    "content": "<?php get_header(); ?>\n\n    <div id=\"content\">\n\n      <!-- Static Front Page -->\n\n      <!-- Blog Home -->\n\n      <!-- Page (Not Front Page) -->\n\n      <!-- Single Post -->\n\n      <!-- Single Attachment (Media) -->\n\n      <!-- Category Archive -->\n\n      <!-- Tag Archive -->\n\n      <!-- Author Archive -->\n\n      <!-- Date Archive -->\n\n      <!-- 404 Page -->\n\n    </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.12-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.12 - Conditional Tags (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6,\np.sitename {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#masthead p.sitename {\n  font-size: 1.8rem;\n  font-weight: bold;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-completed/footer.php",
    "content": "  <?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-completed/functions.php",
    "content": "<?php\n\n/**\n * Enqueue the theme stylesheets\n */\nfunction phpforwp_theme_styles() {\n\n  wp_enqueue_script( 'font-css', 'https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round' );\n\n  wp_enqueue_style( 'main-css', get_stylesheet_uri(), 'fonts-css', get_the_time() );\n\n}\nadd_action( 'wp_enqueue_scripts', 'phpforwp_theme_styles' );\n\n\n/**\n * Add read more text to post excerpt\n *\n * @param string $excerpt The post excerpt\n * @return string $extended_excerpt Post excerpt with read more link\n */\nfunction phpforwp_read_more_link( $excerpt ) {\n\n  $extended_excerpt = $excerpt;\n\n  $extended_excerpt .= ' <a class=\"more-link\" href=\"' . get_permalink() . '\">Read more &raquo;</a>';\n\n  return $extended_excerpt;\n\n}\nadd_filter( 'get_the_excerpt', 'phpforwp_read_more_link', 10 );\n\n\n?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-completed/header.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <?php wp_head(); ?>\n</head>\n<body class=\"<?php body_class(); ?>\">\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-completed/index.php",
    "content": "<?php get_header(); ?>\n\n    <div id=\"content\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article class=\"<?php post_class(); ?>\">\n\n          <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n          <p class=\"byline\">\n          </p>\n\n          <?php the_excerpt(); ?>\n\n          <footer>\n            <p class=\"byline\">\n              Author:\n              <a href=\"<?php echo get_author_posts_url( $post->post_author ); ?>\"><?php the_author(); ?></a> |\n              Date: <?php the_time( 'M. j, Y' ); ?> |\n              Categories: <?php the_category( ',' ); ?> |\n              Tags: <?php the_tags( '', ',', '' ); ?>\n            </p>\n          </footer>\n\n        </article>\n\n      <?php endwhile; else: ?>\n\n        <h2><?php esc_html_e( '404 Error' ); ?></h2>\n        <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>\n\n      <?php endif; ?>\n\n    </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-completed/style.css",
    "content": "/*\nTheme Name: 1.14 - WordPress Hooks (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-starter/footer.php",
    "content": "  <?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-starter/functions.php",
    "content": "<?php\n\n/**\n * Enqueue the theme stylesheets\n */\nfunction phpforwp_theme_styles() {\n\n  // Enqueue google fonts https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\n  // Enque main style sheet (make dependent on google fonts)\n\n}\n// Add phpforwp_theme_styles function to wp_enqueue_scripts action hook\n// with a priority of 10\nadd_action( '', '', 0 );\n\n\n/**\n * Add read more text to post excerpt\n *\n * @param string $excerpt The post excerpt\n * @return string $extended_excerpt Post excerpt with read more link\n */\nfunction phpforwp_read_more_link( $excerpt ) {\n\n  // Create a variable called $extended_excerpt and\n  // assign it the value of $excerpt\n\n  // Append a read more link using get_permalink() as the url\n\n  // Return $extended_excerpt\n\n}\n// Add phpforwp_read_more_link function to the get_the_excerpt\n// with a priority of 10\nadd_filter( '', '', 0 );\n\n\n?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-starter/header.php",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta charset=\"utf-8\">\n  <title>PHP for WordPress</title>\n  <link href=\"https://fonts.googleapis.com/css?family=Open+Sans|Varela+Round\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"<?php echo get_stylesheet_directory_uri(); ?>/style.css\">\n  <?php wp_head(); ?>\n</head>\n<body class=\"<?php body_class(); ?>\">\n\n  <header id=\"masthead\">\n    <h1><a href=\"#\">PHP for WordPress</a></h1>\n  </header>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-starter/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"content\">\n\n    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n      <article class=\"<?php post_class(); ?>\">\n\n        <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n        <?php the_excerpt(); ?>\n\n        <footer>\n          <p class=\"byline\">\n            Author:\n            <a href=\"<?php echo get_author_posts_url( $post->post_author ); ?>\"><?php the_author(); ?></a> |\n            Date: <?php the_time( 'M. j, Y' ); ?> |\n            Categories: <?php the_category( ',' ); ?> |\n            Tags: <?php the_tags( '', ',', '' ); ?>\n          </p>\n        </footer>\n\n      </article>\n\n    <?php endwhile; else: ?>\n\n      <h2><?php esc_html_e( '404 Error' ); ?></h2>\n      <p><?php esc_html_e( 'Sorry, content not found.', 'phpforwp' ); ?></p>\n\n    <?php endif; ?>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "1 - PHP for WordPress/1.14-phpforwp-starter/style.css",
    "content": "/*\nTheme Name: 1.14 - WordPress Hooks (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: phpforwp\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\nbody {\n  background-color: #B49AEB;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\na {\n  color: #564A71;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\n#masthead {\n  margin: 2rem 0 1rem;\n  text-align: center;\n}\n\n#content {\n  background: #efefef;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  border-radius: 5px;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.03-twentyseventeen-child/footer.php",
    "content": "<?php\n/**\n * The template for displaying the footer\n *\n * Contains the closing of the #content div and all content after.\n *\n * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials\n *\n * @package WordPress\n * @subpackage Twenty_Seventeen\n * @since 1.0\n * @version 1.2\n */\n\n?>\n\n\t\t</div><!-- #content -->\n\n\t\t<footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\t\t\t<div class=\"wrap\">\n\t\t\t\t<?php\n\t\t\t\tget_template_part( 'template-parts/footer/footer', 'widgets' );\n\n\t\t\t\tif ( has_nav_menu( 'social' ) ) : ?>\n\t\t\t\t\t<nav class=\"social-navigation\" role=\"navigation\" aria-label=\"<?php esc_attresc_html_e( 'Footer Social Links Menu', 'twentyseventeen' ); ?>\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\twp_nav_menu( array(\n\t\t\t\t\t\t\t\t'theme_location' => 'social',\n\t\t\t\t\t\t\t\t'menu_class'     => 'social-links-menu',\n\t\t\t\t\t\t\t\t'depth'          => 1,\n\t\t\t\t\t\t\t\t'link_before'    => '<span class=\"screen-reader-text\">',\n\t\t\t\t\t\t\t\t'link_after'     => '</span>' . twentyseventeen_get_svg( array( 'icon' => 'chain' ) ),\n\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t?>\n\t\t\t\t\t</nav><!-- .social-navigation -->\n\t\t\t\t<?php endif;\n\n\t\t\t\tget_template_part( 'template-parts/footer/site', 'info' );\n\t\t\t\t?>\n        <div class=\"custom-footer\">\n          <?php esc_html_e( 'Custom footer text', 'twentyseventeenchild' ); ?>\n        </div>\n\n\t\t\t</div><!-- .wrap -->\n\t\t</footer><!-- #colophon -->\n\t</div><!-- .site-content-contain -->\n</div><!-- #page -->\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.03-twentyseventeen-child/functions.php",
    "content": "<?php\n\nfunction twenty_seventeen_child_theme_enqueue_styles() {\n    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );\n    wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css' );\n}\n\nadd_action( 'wp_enqueue_scripts', 'twenty_seventeen_child_theme_enqueue_styles' );\n?>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.03-twentyseventeen-child/style.css",
    "content": "/*\n Theme Name:   Twenty Seventeen Child\n Description:  Twenty Seventeen Child Theme\n Author:       Zac Gordon\n Author URI:   http://zacgordon.com\n Template:     twentyseventeen\n Version:      1.0.0\n License:      GNU General Public License v2 or later\n License URI:  http://www.gnu.org/licenses/gpl-2.0.html\n Text Domain:  twentyseventeenchild\n*/\n\n\n.site-content-contain {\n  background: #FEEF97;\n}\n\n.custom-footer {\n  clear: both;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.04-twentysixteen-child/footer.php",
    "content": "<?php\n/**\n * The template for displaying the footer\n *\n * Contains the closing of the #content div and all content after\n *\n * @package WordPress\n * @subpackage Twenty_Sixteen\n * @since Twenty Sixteen 1.0\n */\n?>\n\n\t\t</div><!-- .site-content -->\n\n\t\t<footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\t\t\t<?php if ( has_nav_menu( 'primary' ) ) : ?>\n\t\t\t\t<nav class=\"main-navigation\" role=\"navigation\" aria-label=\"<?php esc_attresc_html_e( 'Footer Primary Menu', 'twentysixteen' ); ?>\">\n\t\t\t\t\t<?php\n\t\t\t\t\t\twp_nav_menu( array(\n\t\t\t\t\t\t\t'theme_location' => 'primary',\n\t\t\t\t\t\t\t'menu_class'     => 'primary-menu',\n\t\t\t\t\t\t ) );\n\t\t\t\t\t?>\n\t\t\t\t</nav><!-- .main-navigation -->\n\t\t\t<?php endif; ?>\n\n\t\t\t<?php if ( has_nav_menu( 'social' ) ) : ?>\n\t\t\t\t<nav class=\"social-navigation\" role=\"navigation\" aria-label=\"<?php esc_attresc_html_e( 'Footer Social Links Menu', 'twentysixteen' ); ?>\">\n\t\t\t\t\t<?php\n\t\t\t\t\t\twp_nav_menu( array(\n\t\t\t\t\t\t\t'theme_location' => 'social',\n\t\t\t\t\t\t\t'menu_class'     => 'social-links-menu',\n\t\t\t\t\t\t\t'depth'          => 1,\n\t\t\t\t\t\t\t'link_before'    => '<span class=\"screen-reader-text\">',\n\t\t\t\t\t\t\t'link_after'     => '</span>',\n\t\t\t\t\t\t) );\n\t\t\t\t\t?>\n\t\t\t\t</nav><!-- .social-navigation -->\n\t\t\t<?php endif; ?>\n\n\t\t\t<div class=\"site-info\">\n\t\t\t\t<?php\n\t\t\t\t\t/**\n\t\t\t\t\t * Fires before the twentysixteen footer text for footer customization.\n\t\t\t\t\t *\n\t\t\t\t\t * @since Twenty Sixteen 1.0\n\t\t\t\t\t */\n\t\t\t\t\tdo_action( 'twentysixteen_credits' );\n\t\t\t\t?>\n\t\t\t\t<span class=\"site-title\"><a href=\"<?php echo esc_url( home_url( '/' ) ); ?>\" rel=\"home\"><?php bloginfo( 'name' ); ?></a></span>\n\t\t\t\t<a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'twentysixteen' ) ); ?>\"><?php printf( __( 'Proudly powered by %s', 'twentysixteen' ), 'WordPress' ); ?></a>\n\t\t\t</div><!-- .site-info -->\n      <div class=\"custom-footer\">\n        <?php esc_html_e( 'Custom footer text', 'twentysixteenchild' ); ?>\n      </div>\n\t\t</footer><!-- .site-footer -->\n\t</div><!-- .site-inner -->\n</div><!-- .site -->\n\n<?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.04-twentysixteen-child/functions.php",
    "content": "<?php\n\nfunction twenty_seventeen_child_theme_enqueue_styles() {\n    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );\n    wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css' );\n}\n\nadd_action( 'wp_enqueue_scripts', 'twenty_seventeen_child_theme_enqueue_styles' );\n?>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.04-twentysixteen-child/style.css",
    "content": "/*\n Theme Name:   Twenty Sixteen Child\n Description:  Twenty Sixteen Child Theme\n Author:       Zac Gordon\n Author URI:   http://zacgordon.com\n Template:     twentysixteen\n Version:      1.0.0\n License:      GNU General Public License v2 or later\n License URI:  http://www.gnu.org/licenses/gpl-2.0.html\n Text Domain:  twentysixteenchild\n*/\n\n\nbody {\n  background: #FEEF97;\n}\n\n#page {\n  background: #fff\n}\n\n.custom-footer {\n  clear: both;\n  width: 100%;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/.jscsrc",
    "content": "{\n    \"preset\": \"wordpress\",\n    \"fileExtensions\": [ \".js\" ],\n    \"excludeFiles\": [\n    \t\"js/**.min.js\"\n    ]\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/.jshintignore",
    "content": "js/**.min.js"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/404.php",
    "content": "<?php\n/**\n * The template for displaying 404 pages (not found)\n *\n * @link https://codex.wordpress.org/Creating_an_Error_404_Page\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<div id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t\t<section class=\"error-404 not-found\">\n\t\t\t\t<header class=\"page-header\">\n\t\t\t\t\t<h1 class=\"page-title\"><?php esc_html_e( 'Oops! That page can&rsquo;t be found.', 'demo-starter' ); ?></h1>\n\t\t\t\t</header><!-- .page-header -->\n\n\t\t\t\t<div class=\"page-content\">\n\t\t\t\t\t<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try one of the links below or a search?', 'demo-starter' ); ?></p>\n\n\t\t\t\t\t<?php\n\t\t\t\t\t\tget_search_form();\n\n\t\t\t\t\t\tthe_widget( 'WP_Widget_Recent_Posts' );\n\n\t\t\t\t\t\t// Only show the widget if site has multiple categories.\n\t\t\t\t\t\tif ( demo_starter_categorized_blog() ) :\n\t\t\t\t\t?>\n\n\t\t\t\t\t<div class=\"widget widget_categories\">\n\t\t\t\t\t\t<h2 class=\"widget-title\"><?php esc_html_e( 'Most Used Categories', 'demo-starter' ); ?></h2>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\twp_list_categories( array(\n\t\t\t\t\t\t\t\t'orderby'    => 'count',\n\t\t\t\t\t\t\t\t'order'      => 'DESC',\n\t\t\t\t\t\t\t\t'show_count' => 1,\n\t\t\t\t\t\t\t\t'title_li'   => '',\n\t\t\t\t\t\t\t\t'number'     => 10,\n\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div><!-- .widget -->\n\n\t\t\t\t\t<?php\n\t\t\t\t\t\tendif;\n\n\t\t\t\t\t\t/* translators: %1$s: smiley */\n\t\t\t\t\t\t$archive_content = '<p>' . sprintf( esc_html__( 'Try looking in the monthly archives. %1$s', 'demo-starter' ), convert_smilies( ':)' ) ) . '</p>';\n\t\t\t\t\t\tthe_widget( 'WP_Widget_Archives', 'dropdown=1', \"after_title=</h2>$archive_content\" );\n\n\t\t\t\t\t\tthe_widget( 'WP_Widget_Tag_Cloud' );\n\t\t\t\t\t?>\n\n\t\t\t\t</div><!-- .page-content -->\n\t\t\t</section><!-- .error-404 -->\n\n\t\t</main><!-- #main -->\n\t</div><!-- #primary -->\n\n<?php\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n                            NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    {description}\n    Copyright (C) {year}  {fullname}\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License along\n    with this program; if not, write to the Free Software Foundation, Inc.,\n    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n    Gnomovision version 69, Copyright (C) year name of author\n    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n  `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n  {signature of Ty Coon}, 1 April 1989\n  Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs.  If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/README.md",
    "content": "[![Build Status](https://travis-ci.org/Automattic/_s.svg?branch=master)](https://travis-ci.org/Automattic/_s)\n\n_s\n===\n\nHi. I'm a starter theme called `_s`, or `underscores`, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.\n\nMy ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:\n\n* A just right amount of lean, well-commented, modern, HTML5 templates.\n* A helpful 404 template.\n* A custom header implementation in `inc/custom-header.php` just add the code snippet found in the comments of `inc/custom-header.php` to your `header.php` template.\n* Custom template tags in `inc/template-tags.php` that keep your templates clean and neat and prevent code duplication.\n* Some small tweaks in `inc/extras.php` that can improve your theming experience.\n* A script at `js/navigation.js` that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in `functions.php`.\n* 2 sample CSS layouts in `layouts/` for a sidebar on either side of your content.\n* Smartly organized starter CSS in `style.css` that will help you to quickly get your design off the ground.\n* Licensed under GPLv2 or later. :) Use it to make something cool.\n\nGetting Started\n---------------\n\nIf you want to keep it simple, head over to http://underscores.me and generate your `_s` based theme from there. You just input the name of the theme you want to create, click the \"Generate\" button, and you get your ready-to-awesomize starter theme.\n\nIf you want to set things up manually, download `_s` from GitHub. The first thing you want to do is copy the `_s` directory and change the name to something else (like, say, `megatherium-is-awesome`), and then you'll need to do a five-step find and replace on the name in all the templates.\n\n1. Search for `'_s'` (inside single quotations) to capture the text domain.\n2. Search for `_s_` to capture all the function names.\n3. Search for `Text Domain: _s` in style.css.\n4. Search for <code>&nbsp;_s</code> (with a space before it) to capture DocBlocks.\n5. Search for `_s-` to capture prefixed handles.\n\nOR\n\n* Search for: `'_s'` and replace with: `'megatherium-is-awesome'`\n* Search for: `_s_` and replace with: `megatherium_is_awesome_`\n* Search for: `Text Domain: _s` and replace with: `Text Domain: megatherium-is-awesome` in style.css.\n* Search for: <code>&nbsp;_s</code> and replace with: <code>&nbsp;Megatherium_is_Awesome</code>\n* Search for: `_s-` and replace with: `megatherium-is-awesome-`\n\nThen, update the stylesheet header in `style.css` and the links in `footer.php` with your own information. Next, update or delete this readme.\n\nNow you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)\n\nGood luck!\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/archive.php",
    "content": "<?php\n/**\n * The template for displaying archive pages\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<div id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t<?php\n\t\tif ( have_posts() ) : ?>\n\n\t\t\t<header class=\"page-header\">\n\t\t\t\t<?php\n\t\t\t\t\tthe_archive_title( '<h1 class=\"page-title\">', '</h1>' );\n\t\t\t\t\tthe_archive_description( '<div class=\"archive-description\">', '</div>' );\n\t\t\t\t?>\n\t\t\t</header><!-- .page-header -->\n\n\t\t\t<?php\n\t\t\t/* Start the Loop */\n\t\t\twhile ( have_posts() ) : the_post();\n\n\t\t\t\t/*\n\t\t\t\t * Include the Post-Format-specific template for the content.\n\t\t\t\t * If you want to override this in a child theme, then include a file\n\t\t\t\t * called content-___.php (where ___ is the Post Format name) and that will be used instead.\n\t\t\t\t */\n\t\t\t\tget_template_part( 'template-parts/content', get_post_format() );\n\n\t\t\tendwhile;\n\n\t\t\tthe_posts_navigation();\n\n\t\telse :\n\n\t\t\tget_template_part( 'template-parts/content', 'none' );\n\n\t\tendif; ?>\n\n\t\t</main><!-- #main -->\n\t</div><!-- #primary -->\n\n<?php\nget_sidebar();\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/comments.php",
    "content": "<?php\n/**\n * The template for displaying comments\n *\n * This is the template that displays the area of the page that contains both the current comments\n * and the comment form.\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\n/*\n * If the current post is protected by a password and\n * the visitor has not yet entered the password we will\n * return early without loading the comments.\n */\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'demo-starter' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'demo-starter' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'demo-starter' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'demo-starter' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'demo-starter' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'demo-starter' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'demo-starter' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'demo-starter' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/footer.php",
    "content": "<?php\n/**\n * The template for displaying the footer\n *\n * Contains the closing of the #content div and all content after.\n *\n * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials\n *\n * @package Demo_Starter_Theme\n */\n\n?>\n\n\t</div><!-- #content -->\n\n\t<footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\t\t<div class=\"site-info\">\n\t\t\t<a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'demo-starter' ) ); ?>\"><?php printf( esc_html__( 'Proudly powered by %s', 'demo-starter' ), 'WordPress' ); ?></a>\n\t\t\t<span class=\"sep\"> | </span>\n\t\t\t<?php printf( esc_html__( 'Theme: %1$s by %2$s.', 'demo-starter' ), 'demo-starter', '<a href=\"https://automattic.com/\" rel=\"designer\">Zac Gordon</a>' ); ?>\n\t\t</div><!-- .site-info -->\n    <div class=\"custom-footer\">\n       <?php esc_html_e( 'Custom footer text', 'demo-starter' ); ?>\n\n    </div>\n\t</footer><!-- #colophon -->\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/functions.php",
    "content": "<?php\n/**\n * Demo Starter Theme functions and definitions\n *\n * @link https://developer.wordpress.org/themes/basics/theme-functions/\n *\n * @package Demo_Starter_Theme\n */\n\nif ( ! function_exists( 'demo_starter_setup' ) ) :\n/**\n * Sets up theme defaults and registers support for various WordPress features.\n *\n * Note that this function is hooked into the after_setup_theme hook, which\n * runs before the init hook. The init hook is too late for some features, such\n * as indicating support for post thumbnails.\n */\nfunction demo_starter_setup() {\n\t/*\n\t * Make theme available for translation.\n\t * Translations can be filed in the /languages/ directory.\n\t * If you're building a theme based on Demo Starter Theme, use a find and replace\n\t * to change 'demo-starter' to the name of your theme in all the template files.\n\t */\n\tload_theme_textdomain( 'demo-starter', get_template_directory() . '/languages' );\n\n\t// Add default posts and comments RSS feed links to head.\n\tadd_theme_support( 'automatic-feed-links' );\n\n\t/*\n\t * Let WordPress manage the document title.\n\t * By adding theme support, we declare that this theme does not use a\n\t * hard-coded <title> tag in the document head, and expect WordPress to\n\t * provide it for us.\n\t */\n\tadd_theme_support( 'title-tag' );\n\n\t/*\n\t * Enable support for Post Thumbnails on posts and pages.\n\t *\n\t * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/\n\t */\n\tadd_theme_support( 'post-thumbnails' );\n\n\t// This theme uses wp_nav_menu() in one location.\n\tregister_nav_menus( array(\n\t\t'menu-1' => esc_html__( 'Primary', 'demo-starter' ),\n\t) );\n\n\t/*\n\t * Switch default core markup for search form, comment form, and comments\n\t * to output valid HTML5.\n\t */\n\tadd_theme_support( 'html5', array(\n\t\t'search-form',\n\t\t'comment-form',\n\t\t'comment-list',\n\t\t'gallery',\n\t\t'caption',\n\t) );\n\n\t// Set up the WordPress core custom background feature.\n\tadd_theme_support( 'custom-background', apply_filters( 'demo_starter_custom_background_args', array(\n\t\t'default-color' => 'ffffff',\n\t\t'default-image' => '',\n\t) ) );\n\n\t// Add theme support for selective refresh for widgets.\n\tadd_theme_support( 'customize-selective-refresh-widgets' );\n}\nendif;\nadd_action( 'after_setup_theme', 'demo_starter_setup' );\n\n/**\n * Set the content width in pixels, based on the theme's design and stylesheet.\n *\n * Priority 0 to make it available to lower priority callbacks.\n *\n * @global int $content_width\n */\nfunction demo_starter_content_width() {\n\t$GLOBALS['content_width'] = apply_filters( 'demo_starter_content_width', 640 );\n}\nadd_action( 'after_setup_theme', 'demo_starter_content_width', 0 );\n\n/**\n * Register widget area.\n *\n * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar\n */\nfunction demo_starter_widgets_init() {\n\tregister_sidebar( array(\n\t\t'name'          => esc_html__( 'Sidebar', 'demo-starter' ),\n\t\t'id'            => 'sidebar-1',\n\t\t'description'   => esc_html__( 'Add widgets here.', 'demo-starter' ),\n\t\t'before_widget' => '<section id=\"%1$s\" class=\"widget %2$s\">',\n\t\t'after_widget'  => '</section>',\n\t\t'before_title'  => '<h2 class=\"widget-title\">',\n\t\t'after_title'   => '</h2>',\n\t) );\n}\nadd_action( 'widgets_init', 'demo_starter_widgets_init' );\n\n/**\n * Enqueue scripts and styles.\n */\nfunction demo_starter_scripts() {\n\twp_enqueue_style( 'demo-starter-style', get_stylesheet_uri() );\n\n\twp_enqueue_script( 'demo-starter-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true );\n\n\twp_enqueue_script( 'demo-starter-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true );\n\n\tif ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {\n\t\twp_enqueue_script( 'comment-reply' );\n\t}\n}\nadd_action( 'wp_enqueue_scripts', 'demo_starter_scripts' );\n\n/**\n * Implement the Custom Header feature.\n */\nrequire get_template_directory() . '/inc/custom-header.php';\n\n/**\n * Custom template tags for this theme.\n */\nrequire get_template_directory() . '/inc/template-tags.php';\n\n/**\n * Custom functions that act independently of the theme templates.\n */\nrequire get_template_directory() . '/inc/extras.php';\n\n/**\n * Customizer additions.\n */\nrequire get_template_directory() . '/inc/customizer.php';\n\n/**\n * Load Jetpack compatibility file.\n */\nrequire get_template_directory() . '/inc/jetpack.php';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/header.php",
    "content": "<?php\n/**\n * The header for our theme\n *\n * This is the template that displays all of the <head> section and everything up until <div id=\"content\">\n *\n * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials\n *\n * @package Demo_Starter_Theme\n */\n\n?><!DOCTYPE html>\n<html <?php language_attributes(); ?>>\n<head>\n<meta charset=\"<?php bloginfo( 'charset' ); ?>\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n\n<?php wp_head(); ?>\n</head>\n\n<body <?php body_class(); ?>>\n<div id=\"page\" class=\"site\">\n\t<a class=\"skip-link screen-reader-text\" href=\"#content\"><?php esc_html_e( 'Skip to content', 'demo-starter' ); ?></a>\n\n\t<header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\t\t<div class=\"site-branding\">\n\t\t\t<?php\n\t\t\tif ( is_front_page() && is_home() ) : ?>\n\t\t\t\t<h1 class=\"site-title\"><a href=\"<?php echo esc_url( home_url( '/' ) ); ?>\" rel=\"home\"><?php bloginfo( 'name' ); ?></a></h1>\n\t\t\t<?php else : ?>\n\t\t\t\t<p class=\"site-title\"><a href=\"<?php echo esc_url( home_url( '/' ) ); ?>\" rel=\"home\"><?php bloginfo( 'name' ); ?></a></p>\n\t\t\t<?php\n\t\t\tendif;\n\n\t\t\t$description = get_bloginfo( 'description', 'display' );\n\t\t\tif ( $description || is_customize_preview() ) : ?>\n\t\t\t\t<p class=\"site-description\"><?php echo $description; /* WPCS: xss ok. */ ?></p>\n\t\t\t<?php\n\t\t\tendif; ?>\n\t\t</div><!-- .site-branding -->\n\n\t\t<nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n\t\t\t<button class=\"menu-toggle\" aria-controls=\"primary-menu\" aria-expanded=\"false\"><?php esc_html_e( 'Primary Menu', 'demo-starter' ); ?></button>\n\t\t\t<?php wp_nav_menu( array( 'theme_location' => 'menu-1', 'menu_id' => 'primary-menu' ) ); ?>\n\t\t</nav><!-- #site-navigation -->\n\t</header><!-- #masthead -->\n\n\t<div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/inc/custom-header.php",
    "content": "<?php\n/**\n * Sample implementation of the Custom Header feature\n *\n * You can add an optional custom header image to header.php like so ...\n *\n\t<?php the_header_image_tag(); ?>\n *\n * @link https://developer.wordpress.org/themes/functionality/custom-headers/\n *\n * @package Demo_Starter_Theme\n */\n\n/**\n * Set up the WordPress core custom header feature.\n *\n * @uses demo_starter_header_style()\n */\nfunction demo_starter_custom_header_setup() {\n\tadd_theme_support( 'custom-header', apply_filters( 'demo_starter_custom_header_args', array(\n\t\t'default-image'          => '',\n\t\t'default-text-color'     => '000000',\n\t\t'width'                  => 1000,\n\t\t'height'                 => 250,\n\t\t'flex-height'            => true,\n\t\t'wp-head-callback'       => 'demo_starter_header_style',\n\t) ) );\n}\nadd_action( 'after_setup_theme', 'demo_starter_custom_header_setup' );\n\nif ( ! function_exists( 'demo_starter_header_style' ) ) :\n/**\n * Styles the header image and text displayed on the blog.\n *\n * @see demo_starter_custom_header_setup().\n */\nfunction demo_starter_header_style() {\n\t$header_text_color = get_header_textcolor();\n\n\t/*\n\t * If no custom options for text are set, let's bail.\n\t * get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).\n\t */\n\tif ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {\n\t\treturn;\n\t}\n\n\t// If we get this far, we have custom styles. Let's do this.\n\t?>\n\t<style type=\"text/css\">\n\t<?php\n\t\t// Has the text been hidden?\n\t\tif ( ! display_header_text() ) :\n\t?>\n\t\t.site-title,\n\t\t.site-description {\n\t\t\tposition: absolute;\n\t\t\tclip: rect(1px, 1px, 1px, 1px);\n\t\t}\n\t<?php\n\t\t// If the user has set a custom color for the text use that.\n\t\telse :\n\t?>\n\t\t.site-title a,\n\t\t.site-description {\n\t\t\tcolor: #<?php echo esc_attr( $header_text_color ); ?>;\n\t\t}\n\t<?php endif; ?>\n\t</style>\n\t<?php\n}\nendif;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/inc/customizer.php",
    "content": "<?php\n/**\n * Demo Starter Theme Theme Customizer\n *\n * @package Demo_Starter_Theme\n */\n\n/**\n * Add postMessage support for site title and description for the Theme Customizer.\n *\n * @param WP_Customize_Manager $wp_customize Theme Customizer object.\n */\nfunction demo_starter_customize_register( $wp_customize ) {\n\t$wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';\n\t$wp_customize->get_setting( 'blogdescription' )->transport  = 'postMessage';\n\t$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';\n}\nadd_action( 'customize_register', 'demo_starter_customize_register' );\n\n/**\n * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.\n */\nfunction demo_starter_customize_preview_js() {\n\twp_enqueue_script( 'demo_starter_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20151215', true );\n}\nadd_action( 'customize_preview_init', 'demo_starter_customize_preview_js' );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/inc/extras.php",
    "content": "<?php\n/**\n * Custom functions that act independently of the theme templates\n *\n * Eventually, some of the functionality here could be replaced by core features.\n *\n * @package Demo_Starter_Theme\n */\n\n/**\n * Adds custom classes to the array of body classes.\n *\n * @param array $classes Classes for the body element.\n * @return array\n */\nfunction demo_starter_body_classes( $classes ) {\n\t// Adds a class of group-blog to blogs with more than 1 published author.\n\tif ( is_multi_author() ) {\n\t\t$classes[] = 'group-blog';\n\t}\n\n\t// Adds a class of hfeed to non-singular pages.\n\tif ( ! is_singular() ) {\n\t\t$classes[] = 'hfeed';\n\t}\n\n\treturn $classes;\n}\nadd_filter( 'body_class', 'demo_starter_body_classes' );\n\n/**\n * Add a pingback url auto-discovery header for singularly identifiable articles.\n */\nfunction demo_starter_pingback_header() {\n\tif ( is_singular() && pings_open() ) {\n\t\techo '<link rel=\"pingback\" href=\"', esc_url( get_bloginfo( 'pingback_url' ) ), '\">';\n\t}\n}\nadd_action( 'wp_head', 'demo_starter_pingback_header' );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/inc/jetpack.php",
    "content": "<?php\n/**\n * Jetpack Compatibility File\n *\n * @link https://jetpack.com/\n *\n * @package Demo_Starter_Theme\n */\n\n/**\n * Jetpack setup function.\n *\n * See: https://jetpack.com/support/infinite-scroll/\n * See: https://jetpack.com/support/responsive-videos/\n */\nfunction demo_starter_jetpack_setup() {\n\t// Add theme support for Infinite Scroll.\n\tadd_theme_support( 'infinite-scroll', array(\n\t\t'container' => 'main',\n\t\t'render'    => 'demo_starter_infinite_scroll_render',\n\t\t'footer'    => 'page',\n\t) );\n\n\t// Add theme support for Responsive Videos.\n\tadd_theme_support( 'jetpack-responsive-videos' );\n}\nadd_action( 'after_setup_theme', 'demo_starter_jetpack_setup' );\n\n/**\n * Custom render function for Infinite Scroll.\n */\nfunction demo_starter_infinite_scroll_render() {\n\twhile ( have_posts() ) {\n\t\tthe_post();\n\t\tif ( is_search() ) :\n\t\t\tget_template_part( 'template-parts/content', 'search' );\n\t\telse :\n\t\t\tget_template_part( 'template-parts/content', get_post_format() );\n\t\tendif;\n\t}\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/inc/template-tags.php",
    "content": "<?php\n/**\n * Custom template tags for this theme\n *\n * Eventually, some of the functionality here could be replaced by core features.\n *\n * @package Demo_Starter_Theme\n */\n\nif ( ! function_exists( 'demo_starter_posted_on' ) ) :\n/**\n * Prints HTML with meta information for the current post-date/time and author.\n */\nfunction demo_starter_posted_on() {\n\t$time_string = '<time class=\"entry-date published updated\" datetime=\"%1$s\">%2$s</time>';\n\tif ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {\n\t\t$time_string = '<time class=\"entry-date published\" datetime=\"%1$s\">%2$s</time><time class=\"updated\" datetime=\"%3$s\">%4$s</time>';\n\t}\n\n\t$time_string = sprintf( $time_string,\n\t\tesc_attr( get_the_date( 'c' ) ),\n\t\tesc_html( get_the_date() ),\n\t\tesc_attr( get_the_modified_date( 'c' ) ),\n\t\tesc_html( get_the_modified_date() )\n\t);\n\n\t$posted_on = sprintf(\n\t\tesc_html_x( 'Posted on %s', 'post date', 'demo-starter' ),\n\t\t'<a href=\"' . esc_url( get_permalink() ) . '\" rel=\"bookmark\">' . $time_string . '</a>'\n\t);\n\n\t$byline = sprintf(\n\t\tesc_html_x( 'by %s', 'post author', 'demo-starter' ),\n\t\t'<span class=\"author vcard\"><a class=\"url fn n\" href=\"' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '\">' . esc_html( get_the_author() ) . '</a></span>'\n\t);\n\n\techo '<span class=\"posted-on\">' . $posted_on . '</span><span class=\"byline\"> ' . $byline . '</span>'; // WPCS: XSS OK.\n\n}\nendif;\n\nif ( ! function_exists( 'demo_starter_entry_footer' ) ) :\n/**\n * Prints HTML with meta information for the categories, tags and comments.\n */\nfunction demo_starter_entry_footer() {\n\t// Hide category and tag text for pages.\n\tif ( 'post' === get_post_type() ) {\n\t\t/* translators: used between list items, there is a space after the comma */\n\t\t$categories_list = get_the_category_list( esc_html__( ', ', 'demo-starter' ) );\n\t\tif ( $categories_list && demo_starter_categorized_blog() ) {\n\t\t\tprintf( '<span class=\"cat-links\">' . esc_html__( 'Posted in %1$s', 'demo-starter' ) . '</span>', $categories_list ); // WPCS: XSS OK.\n\t\t}\n\n\t\t/* translators: used between list items, there is a space after the comma */\n\t\t$tags_list = get_the_tag_list( '', esc_html__( ', ', 'demo-starter' ) );\n\t\tif ( $tags_list ) {\n\t\t\tprintf( '<span class=\"tags-links\">' . esc_html__( 'Tagged %1$s', 'demo-starter' ) . '</span>', $tags_list ); // WPCS: XSS OK.\n\t\t}\n\t}\n\n\tif ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {\n\t\techo '<span class=\"comments-link\">';\n\t\t/* translators: %s: post title */\n\t\tcomments_popup_link( sprintf( wp_kses( __( 'Leave a Comment<span class=\"screen-reader-text\"> on %s</span>', 'demo-starter' ), array( 'span' => array( 'class' => array() ) ) ), get_the_title() ) );\n\t\techo '</span>';\n\t}\n\n\tedit_post_link(\n\t\tsprintf(\n\t\t\t/* translators: %s: Name of current post */\n\t\t\tesc_html__( 'Edit %s', 'demo-starter' ),\n\t\t\tthe_title( '<span class=\"screen-reader-text\">\"', '\"</span>', false )\n\t\t),\n\t\t'<span class=\"edit-link\">',\n\t\t'</span>'\n\t);\n}\nendif;\n\n/**\n * Returns true if a blog has more than 1 category.\n *\n * @return bool\n */\nfunction demo_starter_categorized_blog() {\n\tif ( false === ( $all_the_cool_cats = get_transient( 'demo_starter_categories' ) ) ) {\n\t\t// Create an array of all the categories that are attached to posts.\n\t\t$all_the_cool_cats = get_categories( array(\n\t\t\t'fields'     => 'ids',\n\t\t\t'hide_empty' => 1,\n\t\t\t// We only need to know if there is more than one category.\n\t\t\t'number'     => 2,\n\t\t) );\n\n\t\t// Count the number of categories that are attached to the posts.\n\t\t$all_the_cool_cats = count( $all_the_cool_cats );\n\n\t\tset_transient( 'demo_starter_categories', $all_the_cool_cats );\n\t}\n\n\tif ( $all_the_cool_cats > 1 ) {\n\t\t// This blog has more than 1 category so demo_starter_categorized_blog should return true.\n\t\treturn true;\n\t} else {\n\t\t// This blog has only 1 category so demo_starter_categorized_blog should return false.\n\t\treturn false;\n\t}\n}\n\n/**\n * Flush out the transients used in demo_starter_categorized_blog.\n */\nfunction demo_starter_category_transient_flusher() {\n\tif ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {\n\t\treturn;\n\t}\n\t// Like, beat it. Dig?\n\tdelete_transient( 'demo_starter_categories' );\n}\nadd_action( 'edit_category', 'demo_starter_category_transient_flusher' );\nadd_action( 'save_post',     'demo_starter_category_transient_flusher' );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/index.php",
    "content": "<?php\n/**\n * The main template file\n *\n * This is the most generic template file in a WordPress theme\n * and one of the two required files for a theme (the other being style.css).\n * It is used to display a page when nothing more specific matches a query.\n * E.g., it puts together the home page when no home.php file exists.\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<div id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t<?php\n\t\tif ( have_posts() ) :\n\n\t\t\tif ( is_home() && ! is_front_page() ) : ?>\n\t\t\t\t<header>\n\t\t\t\t\t<h1 class=\"page-title screen-reader-text\"><?php single_post_title(); ?></h1>\n\t\t\t\t</header>\n\n\t\t\t<?php\n\t\t\tendif;\n\n\t\t\t/* Start the Loop */\n\t\t\twhile ( have_posts() ) : the_post();\n\n\t\t\t\t/*\n\t\t\t\t * Include the Post-Format-specific template for the content.\n\t\t\t\t * If you want to override this in a child theme, then include a file\n\t\t\t\t * called content-___.php (where ___ is the Post Format name) and that will be used instead.\n\t\t\t\t */\n\t\t\t\tget_template_part( 'template-parts/content', get_post_format() );\n\n\t\t\tendwhile;\n\n\t\t\tthe_posts_navigation();\n\n\t\telse :\n\n\t\t\tget_template_part( 'template-parts/content', 'none' );\n\n\t\tendif; ?>\n\n\t\t</main><!-- #main -->\n\t</div><!-- #primary -->\n\n<?php\nget_sidebar();\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/js/customizer.js",
    "content": "/**\n * File customizer.js.\n *\n * Theme Customizer enhancements for a better user experience.\n *\n * Contains handlers to make Theme Customizer preview reload changes asynchronously.\n */\n\n( function( $ ) {\n\n\t// Site title and description.\n\twp.customize( 'blogname', function( value ) {\n\t\tvalue.bind( function( to ) {\n\t\t\t$( '.site-title a' ).text( to );\n\t\t} );\n\t} );\n\twp.customize( 'blogdescription', function( value ) {\n\t\tvalue.bind( function( to ) {\n\t\t\t$( '.site-description' ).text( to );\n\t\t} );\n\t} );\n\n\t// Header text color.\n\twp.customize( 'header_textcolor', function( value ) {\n\t\tvalue.bind( function( to ) {\n\t\t\tif ( 'blank' === to ) {\n\t\t\t\t$( '.site-title a, .site-description' ).css( {\n\t\t\t\t\t'clip': 'rect(1px, 1px, 1px, 1px)',\n\t\t\t\t\t'position': 'absolute'\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t$( '.site-title a, .site-description' ).css( {\n\t\t\t\t\t'clip': 'auto',\n\t\t\t\t\t'position': 'relative'\n\t\t\t\t} );\n\t\t\t\t$( '.site-title a, .site-description' ).css( {\n\t\t\t\t\t'color': to\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n} )( jQuery );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/js/navigation.js",
    "content": "/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens and enables TAB key\n * navigation support for dropdown menus.\n */\n( function() {\n\tvar container, button, menu, links, i, len;\n\n\tcontainer = document.getElementById( 'site-navigation' );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tbutton = container.getElementsByTagName( 'button' )[0];\n\tif ( 'undefined' === typeof button ) {\n\t\treturn;\n\t}\n\n\tmenu = container.getElementsByTagName( 'ul' )[0];\n\n\t// Hide menu toggle button if menu is empty and return early.\n\tif ( 'undefined' === typeof menu ) {\n\t\tbutton.style.display = 'none';\n\t\treturn;\n\t}\n\n\tmenu.setAttribute( 'aria-expanded', 'false' );\n\tif ( -1 === menu.className.indexOf( 'nav-menu' ) ) {\n\t\tmenu.className += ' nav-menu';\n\t}\n\n\tbutton.onclick = function() {\n\t\tif ( -1 !== container.className.indexOf( 'toggled' ) ) {\n\t\t\tcontainer.className = container.className.replace( ' toggled', '' );\n\t\t\tbutton.setAttribute( 'aria-expanded', 'false' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'false' );\n\t\t} else {\n\t\t\tcontainer.className += ' toggled';\n\t\t\tbutton.setAttribute( 'aria-expanded', 'true' );\n\t\t\tmenu.setAttribute( 'aria-expanded', 'true' );\n\t\t}\n\t};\n\n\t// Get all the link elements within the menu.\n\tlinks    = menu.getElementsByTagName( 'a' );\n\n\t// Each time a menu link is focused or blurred, toggle focus.\n\tfor ( i = 0, len = links.length; i < len; i++ ) {\n\t\tlinks[i].addEventListener( 'focus', toggleFocus, true );\n\t\tlinks[i].addEventListener( 'blur', toggleFocus, true );\n\t}\n\n\t/**\n\t * Sets or removes .focus class on an element.\n\t */\n\tfunction toggleFocus() {\n\t\tvar self = this;\n\n\t\t// Move up through the ancestors of the current link until we hit .nav-menu.\n\t\twhile ( -1 === self.className.indexOf( 'nav-menu' ) ) {\n\n\t\t\t// On li elements toggle the class .focus.\n\t\t\tif ( 'li' === self.tagName.toLowerCase() ) {\n\t\t\t\tif ( -1 !== self.className.indexOf( 'focus' ) ) {\n\t\t\t\t\tself.className = self.className.replace( ' focus', '' );\n\t\t\t\t} else {\n\t\t\t\t\tself.className += ' focus';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself = self.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles `focus` class to allow submenu access on tablets.\n\t */\n\t( function( container ) {\n\t\tvar touchStartFn, i,\n\t\t\tparentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );\n\n\t\tif ( 'ontouchstart' in window ) {\n\t\t\ttouchStartFn = function( e ) {\n\t\t\t\tvar menuItem = this.parentNode, i;\n\n\t\t\t\tif ( ! menuItem.classList.contains( 'focus' ) ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tfor ( i = 0; i < menuItem.parentNode.children.length; ++i ) {\n\t\t\t\t\t\tif ( menuItem === menuItem.parentNode.children[i] ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmenuItem.parentNode.children[i].classList.remove( 'focus' );\n\t\t\t\t\t}\n\t\t\t\t\tmenuItem.classList.add( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tmenuItem.classList.remove( 'focus' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor ( i = 0; i < parentLink.length; ++i ) {\n\t\t\t\tparentLink[i].addEventListener( 'touchstart', touchStartFn, false );\n\t\t\t}\n\t\t}\n\t}( container ) );\n} )();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/js/skip-link-focus-fix.js",
    "content": "/**\n * File skip-link-focus-fix.js.\n *\n * Helps with accessibility for keyboard only users.\n *\n * Learn more: https://git.io/vWdr2\n */\n(function() {\n\tvar isIe = /(trident|msie)/i.test( navigator.userAgent );\n\n\tif ( isIe && document.getElementById && window.addEventListener ) {\n\t\twindow.addEventListener( 'hashchange', function() {\n\t\t\tvar id = location.hash.substring( 1 ),\n\t\t\t\telement;\n\n\t\t\tif ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement = document.getElementById( id );\n\n\t\t\tif ( element ) {\n\t\t\t\tif ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {\n\t\t\t\t\telement.tabIndex = -1;\n\t\t\t\t}\n\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, false );\n\t}\n})();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/languages/demo-starter.pot",
    "content": "# Copyright (C) 2016 Automattic\n# This file is distributed under the GNU General Public License v2 or later.\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: _s 1.0.0\\n\"\n\"Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\\n\"\n\"POT-Creation-Date: 2016-02-14 21:43:07+00:00\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\\n\"\n\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n\n#: 404.php:17\n#@ _s\nmsgid \"Oops! That page can&rsquo;t be found.\"\nmsgstr \"\"\n\n#: 404.php:21\n#@ _s\nmsgid \"It looks like nothing was found at this location. Maybe try one of the links below or a search?\"\nmsgstr \"\"\n\n#: 404.php:33\n#@ _s\nmsgid \"Most Used Categories\"\nmsgstr \"\"\n\n#. translators: %1$s: smiley\n#: 404.php:51\n#, php-format\n#@ _s\nmsgid \"Try looking in the monthly archives. %1$s\"\nmsgstr \"\"\n\n#: comments.php:31\n#, php-format\n#@ _s\nmsgctxt \"comments title\"\nmsgid \"One thought on &ldquo;%2$s&rdquo;\"\nmsgid_plural \"%1$s thoughts on &ldquo;%2$s&rdquo;\"\nmsgstr[0] \"\"\nmsgstr[1] \"\"\n\n#: comments.php:40\n#: comments.php:61\n#@ _s\nmsgid \"Comment navigation\"\nmsgstr \"\"\n\n#: comments.php:43\n#: comments.php:64\n#@ _s\nmsgid \"Older Comments\"\nmsgstr \"\"\n\n#: comments.php:44\n#: comments.php:65\n#@ _s\nmsgid \"Newer Comments\"\nmsgstr \"\"\n\n#: comments.php:78\n#@ _s\nmsgid \"Comments are closed.\"\nmsgstr \"\"\n\n#: footer.php:18\n#@ _s\nmsgid \"https://wordpress.org/\"\nmsgstr \"\"\n\n#: footer.php:18\n#, php-format\n#@ _s\nmsgid \"Proudly powered by %s\"\nmsgstr \"\"\n\n#: footer.php:20\n#, php-format\n#@ _s\nmsgid \"Theme: %1$s by %2$s.\"\nmsgstr \"\"\n\n#: functions.php:47\n#@ _s\nmsgid \"Primary\"\nmsgstr \"\"\n\n#: functions.php:102\n#@ _s\nmsgid \"Sidebar\"\nmsgstr \"\"\n\n#: header.php:25\n#@ _s\nmsgid \"Skip to content\"\nmsgstr \"\"\n\n#: header.php:45\n#@ _s\nmsgid \"Primary Menu\"\nmsgstr \"\"\n\n#: inc/template-tags.php:28\n#, php-format\n#@ _s\nmsgctxt \"post date\"\nmsgid \"Posted on %s\"\nmsgstr \"\"\n\n#: inc/template-tags.php:33\n#, php-format\n#@ _s\nmsgctxt \"post author\"\nmsgid \"by %s\"\nmsgstr \"\"\n\n#. translators: used between list items, there is a space after the comma\n#: inc/template-tags.php:50\n#: inc/template-tags.php:56\n#@ _s\nmsgid \", \"\nmsgstr \"\"\n\n#: inc/template-tags.php:52\n#, php-format\n#@ _s\nmsgid \"Posted in %1$s\"\nmsgstr \"\"\n\n#: inc/template-tags.php:58\n#, php-format\n#@ _s\nmsgid \"Tagged %1$s\"\nmsgstr \"\"\n\n#: inc/template-tags.php:65\n#@ _s\nmsgid \"Leave a Comment<span class=\\\"screen-reader-text\\\"> on %s</span>\"\nmsgstr \"\"\n\n#: inc/template-tags.php:65\n#@ _s\nmsgid \"1 Comment\"\nmsgstr \"\"\n\n#: inc/template-tags.php:65\n#@ _s\nmsgid \"% Comments\"\nmsgstr \"\"\n\n#. translators: %s: Name of current post\n#: inc/template-tags.php:71\n#: template-parts/content-page.php:33\n#, php-format\n#@ _s\nmsgid \"Edit %s\"\nmsgstr \"\"\n\n#: search.php:19\n#, php-format\n#@ _s\nmsgid \"Search Results for: %s\"\nmsgstr \"\"\n\n#: template-parts/content-none.php:14\n#@ _s\nmsgid \"Nothing Found\"\nmsgstr \"\"\n\n#: template-parts/content-none.php:21\n#, php-format\n#@ _s\nmsgid \"Ready to publish your first post? <a href=\\\"%1$s\\\">Get started here</a>.\"\nmsgstr \"\"\n\n#: template-parts/content-none.php:25\n#@ _s\nmsgid \"Sorry, but nothing matched your search terms. Please try again with some different keywords.\"\nmsgstr \"\"\n\n#: template-parts/content-none.php:31\n#@ _s\nmsgid \"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.\"\nmsgstr \"\"\n\n#: template-parts/content-page.php:22\n#: template-parts/content.php:38\n#@ _s\nmsgid \"Pages:\"\nmsgstr \"\"\n\n#. translators: %s: Name of current post. \n#: template-parts/content.php:33\n#, php-format\n#@ _s\nmsgid \"Continue reading %s <span class=\\\"meta-nav\\\">&rarr;</span>\"\nmsgstr \"\"\n\n#. Theme Name of the plugin/theme\nmsgid \"_s\"\nmsgstr \"\"\n\n#. Theme URI of the plugin/theme\n#@ _s\nmsgid \"http://underscores.me/\"\nmsgstr \"\"\n\n#. Description of the plugin/theme\n#@ _s\nmsgid \"Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if you like. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.\"\nmsgstr \"\"\n\n#. Author of the plugin/theme\n#@ _s\nmsgid \"Automattic\"\nmsgstr \"\"\n\n#. Author URI of the plugin/theme\n#@ _s\nmsgid \"http://automattic.com/\"\nmsgstr \"\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/languages/readme.txt",
    "content": "Place your theme language files in this directory.\n\nPlease visit the following links to learn more about translating WordPress themes:\n\nhttps://make.wordpress.org/polyglots/teams/\nhttps://developer.wordpress.org/themes/functionality/localization/\nhttps://developer.wordpress.org/reference/functions/load_theme_textdomain/\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/layouts/content-sidebar.css",
    "content": "/*\n * Theme Name: Demo Starter Theme\n *\n * Layout: Content-Sidebar\n *\n * Learn more: https://developer.wordpress.org/themes/basics/template-files/\n*/\n\n.content-area {\n\tfloat: left;\n\tmargin: 0 -25% 0 0;\n\twidth: 100%;\n}\n.site-main {\n\tmargin: 0 25% 0 0;\n}\n.site-content .widget-area {\n\tfloat: right;\n\toverflow: hidden;\n\twidth: 25%;\n}\n.site-footer {\n\tclear: both;\n\twidth: 100%;\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/layouts/sidebar-content.css",
    "content": "/*\n * Theme Name: Demo Starter Theme\n *\n * Layout: Sidebar-Content\n *\n * Learn more: https://developer.wordpress.org/themes/basics/template-files/\n*/\n\n.content-area {\n\tfloat: right;\n\tmargin: 0 0 0 -25%;\n\twidth: 100%;\n}\n.site-main {\n\tmargin: 0 0 0 25%;\n}\n.site-content .widget-area {\n\tfloat: left;\n\toverflow: hidden;\n\twidth: 25%;\n}\n.site-footer {\n\tclear: both;\n\twidth: 100%;\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/page.php",
    "content": "<?php\n/**\n * The template for displaying all pages\n *\n * This is the template that displays all pages by default.\n * Please note that this is the WordPress construct of pages\n * and that other 'pages' on your WordPress site may use a\n * different template.\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<div id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t\t<?php\n\t\t\twhile ( have_posts() ) : the_post();\n\n\t\t\t\tget_template_part( 'template-parts/content', 'page' );\n\n\t\t\t\t// If comments are open or we have at least one comment, load up the comment template.\n\t\t\t\tif ( comments_open() || get_comments_number() ) :\n\t\t\t\t\tcomments_template();\n\t\t\t\tendif;\n\n\t\t\tendwhile; // End of the loop.\n\t\t\t?>\n\n\t\t</main><!-- #main -->\n\t</div><!-- #primary -->\n\n<?php\nget_sidebar();\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/readme.txt",
    "content": "=== Demo Starter Theme ===\n\nContributors: automattic\nTags: translation-ready, custom-background, theme-options, custom-menu, post-formats, threaded-comments\n\nRequires at least: 4.0\nTested up to: 4.7\nStable tag: 1.0.0\nLicense: GNU General Public License v2 or later\nLicense URI: LICENSE\n\nA starter theme called Demo Starter Theme, or underscores.\n\n== Description ==\n\nHi. I'm a starter theme called Demo Starter Theme, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.\n\n== Installation ==\n\n1. In your admin panel, go to Appearance > Themes and click the Add New button.\n2. Click Upload and Choose File, then select the theme's .zip file. Click Install Now.\n3. Click Activate to use your new theme right away.\n\n== Frequently Asked Questions ==\n\n= Does this theme support any plugins? =\n\nDemo Starter Theme includes support for Infinite Scroll in Jetpack.\n\n== Changelog ==\n\n= 1.0 - May 12 2015 =\n* Initial release\n\n== Credits ==\n\n* Based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)\n* normalize.css http://necolas.github.io/normalize.css/, (C) 2012-2016 Nicolas Gallagher and Jonathan Neal, [MIT](http://opensource.org/licenses/MIT)\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/rtl.css",
    "content": "/*\nTheme Name: Demo Starter Theme\n\nAdding support for languages written in a Right To Left (RTL) direction is easy -\nit's just a matter of overwriting all the horizontal positioning attributes\nof your CSS stylesheet in a separate stylesheet file named rtl.css.\n\nhttps://codex.wordpress.org/Right-to-Left_Language_Support\n\n*/\n\n/*\nbody {\n\tdirection: rtl;\n\tunicode-bidi: embed;\n}\n*/\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/search.php",
    "content": "<?php\n/**\n * The template for displaying search results pages\n *\n * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<section id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t<?php\n\t\tif ( have_posts() ) : ?>\n\n\t\t\t<header class=\"page-header\">\n\t\t\t\t<h1 class=\"page-title\"><?php printf( esc_html__( 'Search Results for: %s', 'demo-starter' ), '<span>' . get_search_query() . '</span>' ); ?></h1>\n\t\t\t</header><!-- .page-header -->\n\n\t\t\t<?php\n\t\t\t/* Start the Loop */\n\t\t\twhile ( have_posts() ) : the_post();\n\n\t\t\t\t/**\n\t\t\t\t * Run the loop for the search to output the results.\n\t\t\t\t * If you want to overload this in a child theme then include a file\n\t\t\t\t * called content-search.php and that will be used instead.\n\t\t\t\t */\n\t\t\t\tget_template_part( 'template-parts/content', 'search' );\n\n\t\t\tendwhile;\n\n\t\t\tthe_posts_navigation();\n\n\t\telse :\n\n\t\t\tget_template_part( 'template-parts/content', 'none' );\n\n\t\tendif; ?>\n\n\t\t</main><!-- #main -->\n\t</section><!-- #primary -->\n\n<?php\nget_sidebar();\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/sidebar.php",
    "content": "<?php\n/**\n * The sidebar containing the main widget area\n *\n * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials\n *\n * @package Demo_Starter_Theme\n */\n\nif ( ! is_active_sidebar( 'sidebar-1' ) ) {\n\treturn;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\t<?php dynamic_sidebar( 'sidebar-1' ); ?>\n</aside><!-- #secondary -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/single.php",
    "content": "<?php\n/**\n * The template for displaying all single posts\n *\n * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post\n *\n * @package Demo_Starter_Theme\n */\n\nget_header(); ?>\n\n\t<div id=\"primary\" class=\"content-area\">\n\t\t<main id=\"main\" class=\"site-main\" role=\"main\">\n\n\t\t<?php\n\t\twhile ( have_posts() ) : the_post();\n\n\t\t\tget_template_part( 'template-parts/content', get_post_format() );\n\n\t\t\tthe_post_navigation();\n\n\t\t\t// If comments are open or we have at least one comment, load up the comment template.\n\t\t\tif ( comments_open() || get_comments_number() ) :\n\t\t\t\tcomments_template();\n\t\t\tendif;\n\n\t\tendwhile; // End of the loop.\n\t\t?>\n\n\t\t</main><!-- #main -->\n\t</div><!-- #primary -->\n\n<?php\nget_sidebar();\nget_footer();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/style.css",
    "content": "/*\nTheme Name: Demo Starter Theme\nTheme URI: http://underscores.me/\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: A demo starter theme!\nVersion: 1.0.0\nLicense: GNU General Public License v2 or later\nLicense URI: LICENSE\nText Domain: demo-starter\nTags:\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n\nDemo Starter Theme is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.\nUnderscores is distributed under the terms of the GNU GPL v2 or later.\n\nNormalizing styles have been helped along thanks to the fine work of\nNicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/\n*/\n\n/*--------------------------------------------------------------\n>>> TABLE OF CONTENTS:\n----------------------------------------------------------------\n# Normalize\n# Typography\n# Elements\n# Forms\n# Navigation\n\t## Links\n\t## Menus\n# Accessibility\n# Alignments\n# Clearings\n# Widgets\n# Content\n\t## Posts and pages\n\t## Comments\n# Infinite scroll\n# Media\n\t## Captions\n\t## Galleries\n--------------------------------------------------------------*/\n\n/*--------------------------------------------------------------\n# Normalize\n--------------------------------------------------------------*/\nhtml {\n\tfont-family: sans-serif;\n\t-webkit-text-size-adjust: 100%;\n\t-ms-text-size-adjust:     100%;\n}\n\nbody {\n\tmargin: 0;\n}\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n\tdisplay: block;\n}\n\naudio,\ncanvas,\nprogress,\nvideo {\n\tdisplay: inline-block;\n\tvertical-align: baseline;\n}\n\naudio:not([controls]) {\n\tdisplay: none;\n\theight: 0;\n}\n\n[hidden],\ntemplate {\n\tdisplay: none;\n}\n\na {\n\tbackground-color: transparent;\n}\n\na:active,\na:hover {\n\toutline: 0;\n}\n\nabbr[title] {\n\tborder-bottom: 1px dotted;\n}\n\nb,\nstrong {\n\tfont-weight: bold;\n}\n\ndfn {\n\tfont-style: italic;\n}\n\nh1 {\n\tfont-size: 2em;\n\tmargin: 0.67em 0;\n}\n\nmark {\n\tbackground: #ff0;\n\tcolor: #000;\n}\n\nsmall {\n\tfont-size: 80%;\n}\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nimg {\n\tborder: 0;\n}\n\nsvg:not(:root) {\n\toverflow: hidden;\n}\n\nfigure {\n\tmargin: 1em 40px;\n}\n\nhr {\n\tbox-sizing: content-box;\n\theight: 0;\n}\n\npre {\n\toverflow: auto;\n}\n\ncode,\nkbd,\npre,\nsamp {\n\tfont-family: monospace, monospace;\n\tfont-size: 1em;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tcolor: inherit;\n\tfont: inherit;\n\tmargin: 0;\n}\n\nbutton {\n\toverflow: visible;\n}\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n\t-webkit-appearance: button;\n\tcursor: pointer;\n}\n\nbutton[disabled],\nhtml input[disabled] {\n\tcursor: default;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n\ninput {\n\tline-height: normal;\n}\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n\tbox-sizing: border-box;\n\tpadding: 0;\n}\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n\theight: auto;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\nfieldset {\n\tborder: 1px solid #c0c0c0;\n\tmargin: 0 2px;\n\tpadding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n\tborder: 0;\n\tpadding: 0;\n}\n\ntextarea {\n\toverflow: auto;\n}\n\noptgroup {\n\tfont-weight: bold;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntd,\nth {\n\tpadding: 0;\n}\n\n/*--------------------------------------------------------------\n# Typography\n--------------------------------------------------------------*/\nbody,\nbutton,\ninput,\nselect,\ntextarea {\n\tcolor: #404040;\n\tfont-family: sans-serif;\n\tfont-size: 16px;\n\tfont-size: 1rem;\n\tline-height: 1.5;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n\tclear: both;\n}\n\np {\n\tmargin-bottom: 1.5em;\n}\n\ndfn,\ncite,\nem,\ni {\n\tfont-style: italic;\n}\n\nblockquote {\n\tmargin: 0 1.5em;\n}\n\naddress {\n\tmargin: 0 0 1.5em;\n}\n\npre {\n\tbackground: #eee;\n\tfont-family: \"Courier 10 Pitch\", Courier, monospace;\n\tfont-size: 15px;\n\tfont-size: 0.9375rem;\n\tline-height: 1.6;\n\tmargin-bottom: 1.6em;\n\tmax-width: 100%;\n\toverflow: auto;\n\tpadding: 1.6em;\n}\n\ncode,\nkbd,\ntt,\nvar {\n\tfont-family: Monaco, Consolas, \"Andale Mono\", \"DejaVu Sans Mono\", monospace;\n\tfont-size: 15px;\n\tfont-size: 0.9375rem;\n}\n\nabbr,\nacronym {\n\tborder-bottom: 1px dotted #666;\n\tcursor: help;\n}\n\nmark,\nins {\n\tbackground: #fff9c0;\n\ttext-decoration: none;\n}\n\nbig {\n\tfont-size: 125%;\n}\n\n/*--------------------------------------------------------------\n# Elements\n--------------------------------------------------------------*/\nhtml {\n\tbox-sizing: border-box;\n}\n\n*,\n*:before,\n*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */\n\tbox-sizing: inherit;\n}\n\nbody {\t\n  background-color: #3be492;\n}\n\nblockquote:before,\nblockquote:after,\nq:before,\nq:after {\n\tcontent: \"\";\n}\n\nblockquote,\nq {\n\tquotes: \"\" \"\";\n}\n\nhr {\n\tbackground-color: #ccc;\n\tborder: 0;\n\theight: 1px;\n\tmargin-bottom: 1.5em;\n}\n\nul,\nol {\n\tmargin: 0 0 1.5em 3em;\n}\n\nul {\n\tlist-style: disc;\n}\n\nol {\n\tlist-style: decimal;\n}\n\nli > ul,\nli > ol {\n\tmargin-bottom: 0;\n\tmargin-left: 1.5em;\n}\n\ndt {\n\tfont-weight: bold;\n}\n\ndd {\n\tmargin: 0 1.5em 1.5em;\n}\n\nimg {\n\theight: auto; /* Make sure images are scaled correctly. */\n\tmax-width: 100%; /* Adhere to container width. */\n}\n\nfigure {\n\tmargin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */\n}\n\ntable {\n\tmargin: 0 0 1.5em;\n\twidth: 100%;\n}\n\n/*--------------------------------------------------------------\n# Forms\n--------------------------------------------------------------*/\nbutton,\ninput[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n\tborder: 1px solid;\n\tborder-color: #ccc #ccc #bbb;\n\tborder-radius: 3px;\n\tbackground: #e6e6e6;\n\tcolor: rgba(0, 0, 0, .8);\n\tfont-size: 12px;\n\tfont-size: 0.75rem;\n\tline-height: 1;\n\tpadding: .6em 1em .4em;\n}\n\nbutton:hover,\ninput[type=\"button\"]:hover,\ninput[type=\"reset\"]:hover,\ninput[type=\"submit\"]:hover {\n\tborder-color: #ccc #bbb #aaa;\n}\n\nbutton:focus,\ninput[type=\"button\"]:focus,\ninput[type=\"reset\"]:focus,\ninput[type=\"submit\"]:focus,\nbutton:active,\ninput[type=\"button\"]:active,\ninput[type=\"reset\"]:active,\ninput[type=\"submit\"]:active {\n\tborder-color: #aaa #bbb #bbb;\n}\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"url\"],\ninput[type=\"password\"],\ninput[type=\"search\"],\ninput[type=\"number\"],\ninput[type=\"tel\"],\ninput[type=\"range\"],\ninput[type=\"date\"],\ninput[type=\"month\"],\ninput[type=\"week\"],\ninput[type=\"time\"],\ninput[type=\"datetime\"],\ninput[type=\"datetime-local\"],\ninput[type=\"color\"],\ntextarea {\n\tcolor: #666;\n\tborder: 1px solid #ccc;\n\tborder-radius: 3px;\n\tpadding: 3px;\n}\n\nselect {\n\tborder: 1px solid #ccc;\n}\n\ninput[type=\"text\"]:focus,\ninput[type=\"email\"]:focus,\ninput[type=\"url\"]:focus,\ninput[type=\"password\"]:focus,\ninput[type=\"search\"]:focus,\ninput[type=\"number\"]:focus,\ninput[type=\"tel\"]:focus,\ninput[type=\"range\"]:focus,\ninput[type=\"date\"]:focus,\ninput[type=\"month\"]:focus,\ninput[type=\"week\"]:focus,\ninput[type=\"time\"]:focus,\ninput[type=\"datetime\"]:focus,\ninput[type=\"datetime-local\"]:focus,\ninput[type=\"color\"]:focus,\ntextarea:focus {\n\tcolor: #111;\n}\n\ntextarea {\n\twidth: 100%;\n}\n\n/*--------------------------------------------------------------\n# Navigation\n--------------------------------------------------------------*/\n/*--------------------------------------------------------------\n## Links\n--------------------------------------------------------------*/\na {\n\tcolor: royalblue;\n}\n\na:visited {\n\tcolor: purple;\n}\n\na:hover,\na:focus,\na:active {\n\tcolor: midnightblue;\n}\n\na:focus {\n\toutline: thin dotted;\n}\n\na:hover,\na:active {\n\toutline: 0;\n}\n\n/*--------------------------------------------------------------\n## Menus\n--------------------------------------------------------------*/\n.main-navigation {\n\tclear: both;\n\tdisplay: block;\n\tfloat: left;\n\twidth: 100%;\n}\n\n.main-navigation ul {\n\tdisplay: none;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding-left: 0;\n}\n\n.main-navigation li {\n\tfloat: left;\n\tposition: relative;\n}\n\n.main-navigation a {\n\tdisplay: block;\n\ttext-decoration: none;\n}\n\n.main-navigation ul ul {\n\tbox-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);\n\tfloat: left;\n\tposition: absolute;\n\ttop: 1.5em;\n\tleft: -999em;\n\tz-index: 99999;\n}\n\n.main-navigation ul ul ul {\n\tleft: -999em;\n\ttop: 0;\n}\n\n.main-navigation ul ul a {\n\twidth: 200px;\n}\n\n.main-navigation ul ul li {\n\n}\n\n.main-navigation li:hover > a,\n.main-navigation li.focus > a {\n}\n\n.main-navigation ul ul :hover > a,\n.main-navigation ul ul .focus > a {\n}\n\n.main-navigation ul ul a:hover,\n.main-navigation ul ul a.focus {\n}\n\n.main-navigation ul li:hover > ul,\n.main-navigation ul li.focus > ul {\n\tleft: auto;\n}\n\n.main-navigation ul ul li:hover > ul,\n.main-navigation ul ul li.focus > ul {\n\tleft: 100%;\n}\n\n.main-navigation .current_page_item > a,\n.main-navigation .current-menu-item > a,\n.main-navigation .current_page_ancestor > a,\n.main-navigation .current-menu-ancestor > a {\n}\n\n/* Small menu. */\n.menu-toggle,\n.main-navigation.toggled ul {\n\tdisplay: block;\n}\n\n@media screen and (min-width: 37.5em) {\n\t.menu-toggle {\n\t\tdisplay: none;\n\t}\n\t.main-navigation ul {\n\t\tdisplay: block;\n\t}\n}\n\n.site-main .comment-navigation,\n.site-main .posts-navigation,\n.site-main .post-navigation {\n\tmargin: 0 0 1.5em;\n\toverflow: hidden;\n}\n\n.comment-navigation .nav-previous,\n.posts-navigation .nav-previous,\n.post-navigation .nav-previous {\n\tfloat: left;\n\twidth: 50%;\n}\n\n.comment-navigation .nav-next,\n.posts-navigation .nav-next,\n.post-navigation .nav-next {\n\tfloat: right;\n\ttext-align: right;\n\twidth: 50%;\n}\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n/*--------------------------------------------------------------\n# Alignments\n--------------------------------------------------------------*/\n.alignleft {\n\tdisplay: inline;\n\tfloat: left;\n\tmargin-right: 1.5em;\n}\n\n.alignright {\n\tdisplay: inline;\n\tfloat: right;\n\tmargin-left: 1.5em;\n}\n\n.aligncenter {\n\tclear: both;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n/*--------------------------------------------------------------\n# Clearings\n--------------------------------------------------------------*/\n.clear:before,\n.clear:after,\n.entry-content:before,\n.entry-content:after,\n.comment-content:before,\n.comment-content:after,\n.site-header:before,\n.site-header:after,\n.site-content:before,\n.site-content:after,\n.site-footer:before,\n.site-footer:after {\n\tcontent: \"\";\n\tdisplay: table;\n\ttable-layout: fixed;\n}\n\n.clear:after,\n.entry-content:after,\n.comment-content:after,\n.site-header:after,\n.site-content:after,\n.site-footer:after {\n\tclear: both;\n}\n\n/*--------------------------------------------------------------\n# Widgets\n--------------------------------------------------------------*/\n.widget {\n\tmargin: 0 0 1.5em;\n}\n\n/* Make sure select elements fit in widgets. */\n.widget select {\n\tmax-width: 100%;\n}\n\n/*--------------------------------------------------------------\n# Content\n--------------------------------------------------------------*/\n/*--------------------------------------------------------------\n## Posts and pages\n--------------------------------------------------------------*/\n.sticky {\n\tdisplay: block;\n}\n\n.hentry {\n\tmargin: 0 0 1.5em;\n}\n\n.byline,\n.updated:not(.published) {\n\tdisplay: none;\n}\n\n.single .byline,\n.group-blog .byline {\n\tdisplay: inline;\n}\n\n.page-content,\n.entry-content,\n.entry-summary {\n\tmargin: 1.5em 0 0;\n}\n\n.page-links {\n\tclear: both;\n\tmargin: 0 0 1.5em;\n}\n\n/*--------------------------------------------------------------\n## Comments\n--------------------------------------------------------------*/\n.comment-content a {\n\tword-wrap: break-word;\n}\n\n.bypostauthor {\n\tdisplay: block;\n}\n\n/*--------------------------------------------------------------\n# Infinite scroll\n--------------------------------------------------------------*/\n/* Globally hidden elements when Infinite Scroll is supported and in use. */\n.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */\n.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */\n\tdisplay: none;\n}\n\n/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */\n.infinity-end.neverending .site-footer {\n\tdisplay: block;\n}\n\n/*--------------------------------------------------------------\n# Media\n--------------------------------------------------------------*/\n.page-content .wp-smiley,\n.entry-content .wp-smiley,\n.comment-content .wp-smiley {\n\tborder: none;\n\tmargin-bottom: 0;\n\tmargin-top: 0;\n\tpadding: 0;\n}\n\n/* Make sure embeds and iframes fit their containers. */\nembed,\niframe,\nobject {\n\tmax-width: 100%;\n}\n\n/*--------------------------------------------------------------\n## Captions\n--------------------------------------------------------------*/\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\tmax-width: 100%;\n}\n\n.wp-caption img[class*=\"wp-image-\"] {\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.wp-caption .wp-caption-text {\n\tmargin: 0.8075em 0;\n}\n\n.wp-caption-text {\n\ttext-align: center;\n}\n\n/*--------------------------------------------------------------\n## Galleries\n--------------------------------------------------------------*/\n.gallery {\n\tmargin-bottom: 1.5em;\n}\n\n.gallery-item {\n\tdisplay: inline-block;\n\ttext-align: center;\n\tvertical-align: top;\n\twidth: 100%;\n}\n\n.gallery-columns-2 .gallery-item {\n\tmax-width: 50%;\n}\n\n.gallery-columns-3 .gallery-item {\n\tmax-width: 33.33%;\n}\n\n.gallery-columns-4 .gallery-item {\n\tmax-width: 25%;\n}\n\n.gallery-columns-5 .gallery-item {\n\tmax-width: 20%;\n}\n\n.gallery-columns-6 .gallery-item {\n\tmax-width: 16.66%;\n}\n\n.gallery-columns-7 .gallery-item {\n\tmax-width: 14.28%;\n}\n\n.gallery-columns-8 .gallery-item {\n\tmax-width: 12.5%;\n}\n\n.gallery-columns-9 .gallery-item {\n\tmax-width: 11.11%;\n}\n\n.gallery-caption {\n\tdisplay: block;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/template-parts/content-none.php",
    "content": "<?php\n/**\n * Template part for displaying a message that posts cannot be found\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\n?>\n\n<section class=\"no-results not-found\">\n\t<header class=\"page-header\">\n\t\t<h1 class=\"page-title\"><?php esc_html_e( 'Nothing Found', 'demo-starter' ); ?></h1>\n\t</header><!-- .page-header -->\n\n\t<div class=\"page-content\">\n\t\t<?php\n\t\tif ( is_home() && current_user_can( 'publish_posts' ) ) : ?>\n\n\t\t\t<p><?php printf( wp_kses( __( 'Ready to publish your first post? <a href=\"%1$s\">Get started here</a>.', 'demo-starter' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?></p>\n\n\t\t<?php elseif ( is_search() ) : ?>\n\n\t\t\t<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'demo-starter' ); ?></p>\n\t\t\t<?php\n\t\t\t\tget_search_form();\n\n\t\telse : ?>\n\n\t\t\t<p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'demo-starter' ); ?></p>\n\t\t\t<?php\n\t\t\t\tget_search_form();\n\n\t\tendif; ?>\n\t</div><!-- .page-content -->\n</section><!-- .no-results -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/template-parts/content-page.php",
    "content": "<?php\n/**\n * Template part for displaying page content in page.php\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\n?>\n\n<article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\t<header class=\"entry-header\">\n\t\t<?php the_title( '<h1 class=\"entry-title\">', '</h1>' ); ?>\n\t</header><!-- .entry-header -->\n\n\t<div class=\"entry-content\">\n\t\t<?php\n\t\t\tthe_content();\n\n\t\t\twp_link_pages( array(\n\t\t\t\t'before' => '<div class=\"page-links\">' . esc_html__( 'Pages:', 'demo-starter' ),\n\t\t\t\t'after'  => '</div>',\n\t\t\t) );\n\t\t?>\n\t</div><!-- .entry-content -->\n\n\t<?php if ( get_edit_post_link() ) : ?>\n\t\t<footer class=\"entry-footer\">\n\t\t\t<?php\n\t\t\t\tedit_post_link(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: Name of current post */\n\t\t\t\t\t\tesc_html__( 'Edit %s', 'demo-starter' ),\n\t\t\t\t\t\tthe_title( '<span class=\"screen-reader-text\">\"', '\"</span>', false )\n\t\t\t\t\t),\n\t\t\t\t\t'<span class=\"edit-link\">',\n\t\t\t\t\t'</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</footer><!-- .entry-footer -->\n\t<?php endif; ?>\n</article><!-- #post-## -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/template-parts/content-search.php",
    "content": "<?php\n/**\n * Template part for displaying results in search pages\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\n?>\n\n<article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\t<header class=\"entry-header\">\n\t\t<?php the_title( sprintf( '<h2 class=\"entry-title\"><a href=\"%s\" rel=\"bookmark\">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>\n\n\t\t<?php if ( 'post' === get_post_type() ) : ?>\n\t\t<div class=\"entry-meta\">\n\t\t\t<?php demo_starter_posted_on(); ?>\n\t\t</div><!-- .entry-meta -->\n\t\t<?php endif; ?>\n\t</header><!-- .entry-header -->\n\n\t<div class=\"entry-summary\">\n\t\t<?php the_excerpt(); ?>\n\t</div><!-- .entry-summary -->\n\n\t<footer class=\"entry-footer\">\n\t\t<?php demo_starter_entry_footer(); ?>\n\t</footer><!-- .entry-footer -->\n</article><!-- #post-## -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.06-demo-starter/template-parts/content.php",
    "content": "<?php\n/**\n * Template part for displaying posts\n *\n * @link https://codex.wordpress.org/Template_Hierarchy\n *\n * @package Demo_Starter_Theme\n */\n\n?>\n\n<article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\t<header class=\"entry-header\">\n\t\t<?php\n\t\tif ( is_single() ) :\n\t\t\tthe_title( '<h1 class=\"entry-title\">', '</h1>' );\n\t\telse :\n\t\t\tthe_title( '<h2 class=\"entry-title\"><a href=\"' . esc_url( get_permalink() ) . '\" rel=\"bookmark\">', '</a></h2>' );\n\t\tendif;\n\n\t\tif ( 'post' === get_post_type() ) : ?>\n\t\t<div class=\"entry-meta\">\n\t\t\t<?php demo_starter_posted_on(); ?>\n\t\t</div><!-- .entry-meta -->\n\t\t<?php\n\t\tendif; ?>\n\t</header><!-- .entry-header -->\n\n\t<div class=\"entry-content\">\n\t\t<?php\n\t\t\tthe_content( sprintf(\n\t\t\t\t/* translators: %s: Name of current post. */\n\t\t\t\twp_kses( __( 'Continue reading %s <span class=\"meta-nav\">&rarr;</span>', 'demo-starter' ), array( 'span' => array( 'class' => array() ) ) ),\n\t\t\t\tthe_title( '<span class=\"screen-reader-text\">\"', '\"</span>', false )\n\t\t\t) );\n\n\t\t\twp_link_pages( array(\n\t\t\t\t'before' => '<div class=\"page-links\">' . esc_html__( 'Pages:', 'demo-starter' ),\n\t\t\t\t'after'  => '</div>',\n\t\t\t) );\n\t\t?>\n\t</div><!-- .entry-content -->\n\n\t<footer class=\"entry-footer\">\n\t\t<?php demo_starter_entry_footer(); ?>\n\t</footer><!-- .entry-footer -->\n</article><!-- #post-## -->\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/.gitignore",
    "content": ".DS_Store\nassets/scss/.sass-cache/*\nnode_modules/\nbower_components/"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/404.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t\t<main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n\n\t\t\t\t<article id=\"content-not-found\">\n\t\t\t\t\n\t\t\t\t\t<header class=\"article-header\">\n\t\t\t\t\t\t<h1><?php esc_html_e( 'Epic 404 - Article Not Found', 'jointswp' ); ?></h1>\n\t\t\t\t\t</header> <!-- end article header -->\n\t\t\t\n\t\t\t\t\t<section class=\"entry-content\">\n\t\t\t\t\t\t<p><?php esc_html_e( 'The article you were looking for was not found, but maybe try looking again!', 'jointswp' ); ?></p>\n\t\t\t\t\t</section> <!-- end article section -->\n\n\t\t\t\t\t<section class=\"search\">\n\t\t\t\t\t    <p><?php get_search_form(); ?></p>\n\t\t\t\t\t</section> <!-- end search section -->\n\t\t\t\n\t\t\t\t</article> <!-- end article -->\n\t\n\t\t\t</main> <!-- end #main -->\n\n\t\t</div> <!-- end #inner-content -->\n\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/README.md",
    "content": "Find out more here: www.jointswp.com  \nDemo: www.jointswp.com/demo\n\nCurrently using Foundation 6.3.\n\n### What is JointsWP?\nJointsWP is a blank WordPress theme built with Foundation 6, giving you all the power and flexibility you need to build complex, mobile friendly websites without having to start from scratch.\n\nStarting its humble life as a fork of the popular theme Bones, JointsWP is now the foundation of thousands of websites across the globe.\n\n### What comes with JointsWP?\nJointsWP comes pre-baked with all of the great features that are found in the Foundation framework – simply put, if it works in Foundation, it will work in JointsWP. The theme also includes:\n\n- Foundation Navigation Options\n- Motion-UI\n- Grid archive templates\n- Translation Support\n- Bower and Gulp Support\n- And much, much more!\n\n### What tools do I need to use JointsWP?\nYou can use whatever you want – seriously. While the Sass version comes with Bower and Gulp support out of the box, you aren’t required to use those by any means. You can use CodeKit, Grunt, Compass or nothing at all. It’s completely up to you how you decide to build you theme – JointsWP won’t get in the way of your workflow.\n\n### Getting Started With Gulp\n- Install [node.js](https://nodejs.org).\n- Using the command line, navigate to your theme directory\n- Run npm install\n- Run gulp to confirm everything is working\n\n[Read more about how Gulp is used with JointsWP.](http://jointswp.com/docs/gulp/)"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/archive-custom_type.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\t\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t    <main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n    \n\t\t\t    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\t \n\t\t\t\t\t<!-- To see additional archive styles, visit the /parts directory -->\n\t\t\t\t\t<?php get_template_part( 'parts/loop', 'archive' ); ?>\n\t\t\t\t    \n\t\t\t\t<?php endwhile; ?>\t\n\n\t\t\t\t\t<?php joints_page_navi(); ?>\n\t\t\t\t\t\n\t\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\t\t\t\t\t\t\n\t\t\t\t<?php endif; ?>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t    </main> <!-- end #main -->\n\n\t\t    <?php get_sidebar(); ?>\n\t\t    \n\t\t</div> <!-- end #inner-content -->\n\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/archive.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\t\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\t\n\t\t    <main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n\t\t\t    \n\t\t    \t<header>\n\t\t    \t\t<h1 class=\"page-title\"><?php the_archive_title();?></h1>\n\t\t\t\t\t<?php the_archive_description('<div class=\"taxonomy-description\">', '</div>');?>\n\t\t    \t</header>\n\t\t\n\t\t    \t<?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\t \n\t\t\t\t\t<!-- To see additional archive styles, visit the /parts directory -->\n\t\t\t\t\t<?php get_template_part( 'parts/loop', 'archive' ); ?>\n\t\t\t\t    \n\t\t\t\t<?php endwhile; ?>\t\n\n\t\t\t\t\t<?php joints_page_navi(); ?>\n\t\t\t\t\t\n\t\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\t\t\t\t\t\t\n\t\t\t\t<?php endif; ?>\n\t\t\n\t\t\t</main> <!-- end #main -->\n\t\n\t\t\t<?php get_sidebar(); ?>\n\t    \n\t    </div> <!-- end #inner-content -->\n\t    \n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/css/login.css",
    "content": "/******************************************************************\n\nStylesheet: Login Stylesheet\n\nThis stylesheet is loaded is only on the login page. This way you can style\nthe login page. It won't affect any other page, admin or front-end.\n\nMake sure functions/admin.php is activated in your functions.php file.\n\nThis stylesheet is turned off by default.\n\nFor more info, check out the codex:\nhttp://codex.wordpress.org/Creating_Admin_Themes\n\n******************************************************************/\n.login h1 a {\n  background: url(../images/login-logo.png) no-repeat top center;\n  width: 326px;\n  height: 67px;\n  text-indent: -9999px;\n  overflow: hidden;\n  padding-bottom: 15px;\n  display: block; }\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/css/style.css",
    "content": "@charset \"UTF-8\";\n/************************************************\n\nStylesheet: Main Stylesheet\n\n*************************************************/\n/*********************\nGENERAL STYLES\n*********************/\n\nbody {\n  background-color: #FEEF97;\n}\n\n\n/*********************\nLINK STYLES\n*********************/\na:link, a:visited:link {\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }\n\n/*********************\nH1, H2, H3, H4, H5 P STYLES\n*********************/\nh1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {\n  text-decoration: none; }\n\n/*********************\nHEADER STYLES\n*********************/\n.header ul.off-canvas-list li {\n  list-style: none; }\n\n/*********************\nNAVIGATION STYLES\n*********************/\n.top-bar {\n  background-color: #444;\n}\n.top-bar .title-area {\n  z-index: 1; }\n\n.off-canvas-list ul {\n  margin-left: 0; }\n  .off-canvas-list ul li a {\n    border-bottom: 0px; }\n  .off-canvas-list ul .dropdown {\n    margin-left: 20px; }\n\n/*********************\nPOSTS & CONTENT STYLES\n*********************/\n#content #inner-content {\n  background-color: #fff;\n  padding: 1rem 0rem; }\n\n.page-title .vcard {\n  border: 0px;\n  padding: 0px; }\n\n.byline {\n  color: #999; }\n\n.entry-content img {\n  max-width: 100%;\n  height: auto; }\n\n.entry-content .alignleft, .entry-content img.alignleft {\n  margin-right: 1.5em;\n  display: inline;\n  float: left; }\n\n.entry-content .alignright, .entry-content img.alignright {\n  margin-left: 1.5em;\n  display: inline;\n  float: right; }\n\n.entry-content .aligncenter, .entry-content img.aligncenter {\n  margin-right: auto;\n  margin-left: auto;\n  display: block;\n  clear: both; }\n\n.entry-content video, .entry-content object {\n  max-width: 100%;\n  height: auto; }\n\n.entry-content pre {\n  background: #eee;\n  border: 1px solid #cecece;\n  padding: 10px; }\n\n.wp-caption {\n  max-width: 100%;\n  background: #eee;\n  padding: 5px; }\n  .wp-caption img {\n    max-width: 100%;\n    margin-bottom: 0;\n    width: 100%; }\n  .wp-caption p.wp-caption-text {\n    font-size: 0.85em;\n    margin: 4px 0 7px;\n    text-align: center; }\n\n.post-password-form input[type=\"submit\"] {\n  display: inline-block;\n  text-align: center;\n  line-height: 1;\n  cursor: pointer;\n  -webkit-appearance: none;\n  transition: all 0.25s ease-out;\n  vertical-align: middle;\n  border: 1px solid transparent;\n  border-radius: 0;\n  padding: 0.85em 1em;\n  margin: 0 1rem 1rem 0;\n  font-size: 0.9rem;\n  background: #2199e8;\n  color: #fff; }\n  [data-whatinput='mouse'] .post-password-form input[type=\"submit\"] {\n    outline: 0; }\n  .post-password-form input[type=\"submit\"]:hover, .post-password-form input[type=\"submit\"]:focus {\n    background: #1583cc;\n    color: #fff; }\n\n/*********************\nIMAGE GALLERY STYLES\n*********************/\n/*********************\nPAGE NAVI STYLES\n*********************/\n.page-navigation {\n  margin-top: 1rem; }\n\n/*********************\nCOMMENT STYLES\n*********************/\n#comments .commentlist {\n  margin-left: 0px; }\n\n#respond ul {\n  margin-left: 0px; }\n\n.commentlist li {\n  position: relative;\n  clear: both;\n  overflow: hidden;\n  list-style-type: none;\n  margin-bottom: 1.5em;\n  padding: 0.7335em 10px; }\n  .commentlist li:last-child {\n    margin-bottom: 0; }\n  .commentlist li ul.children {\n    margin: 0; }\n\n.commentlist li[class*=depth-] {\n  margin-top: 1.1em; }\n\n.commentlist li.depth-1 {\n  margin-left: 0;\n  margin-top: 0; }\n\n.commentlist li:not(.depth-1) {\n  margin-left: 10px;\n  margin-top: 0;\n  padding-bottom: 0; }\n\n.commentlist .vcard {\n  margin-left: 50px; }\n  .commentlist .vcard cite.fn {\n    font-weight: 700;\n    font-style: normal; }\n  .commentlist .vcard time {\n    float: right; }\n    .commentlist .vcard time a {\n      color: #999;\n      text-decoration: none; }\n      .commentlist .vcard time a:hover {\n        text-decoration: underline; }\n  .commentlist .vcard img.avatar {\n    position: absolute;\n    left: 10px;\n    padding: 2px;\n    border: 1px solid #cecece;\n    background: #fff; }\n\n.commentlist .comment_content p {\n  margin: 0.7335em 0 1.5em;\n  font-size: 1em;\n  line-height: 1.5em; }\n\n.commentlist .comment-reply-link {\n  float: right; }\n\n/*********************\nCOMMENT FORM STYLES\n*********************/\n.respond-form {\n  margin: 1.5em 10px;\n  padding-bottom: 2.2em; }\n  .respond-form form {\n    margin: 0.75em 0; }\n    .respond-form form li {\n      list-style-type: none;\n      clear: both;\n      margin-bottom: 0.7335em; }\n      .respond-form form li label,\n      .respond-form form li small {\n        display: none; }\n    .respond-form form input[type=text],\n    .respond-form form input[type=email],\n    .respond-form form input[type=url],\n    .respond-form form textarea {\n      padding: 3px 6px;\n      background: #efefef;\n      border: 2px solid #cecece;\n      line-height: 1.5em; }\n      .respond-form form input[type=text]:focus,\n      .respond-form form input[type=email]:focus,\n      .respond-form form input[type=url]:focus,\n      .respond-form form textarea:focus {\n        background: #fff; }\n      .respond-form form input[type=text]:invalid,\n      .respond-form form input[type=email]:invalid,\n      .respond-form form input[type=url]:invalid,\n      .respond-form form textarea:invalid {\n        outline: none;\n        border-color: #fbc2c4;\n        background-color: #f6e7eb;\n        -ms-box-shadow: none;\n        box-shadow: none; }\n    .respond-form form input[type=text],\n    .respond-form form input[type=email],\n    .respond-form form input[type=url] {\n      max-width: 400px;\n      min-width: 250px; }\n    .respond-form form textarea {\n      resize: none;\n      width: 97.3%;\n      height: 150px; }\n\n#comment-form-title {\n  margin: 0 0 1.1em; }\n\n#allowed_tags {\n  margin: 1.5em 10px 0.7335em 0; }\n\n.nocomments {\n  margin: 0 20px 1.1em; }\n\n/*********************\nSIDEBARS & ASIDES\n*********************/\n.widget ul {\n  margin: 0; }\n  .widget ul li {\n    list-style: none; }\n\n/*********************\nFOOTER STYLES\n*********************/\n.footer {\n  clear: both;\n  margin-top: 1em; }\n\n/*********************\nFOUNDATION STYLES\n*********************/\n\n/*********************\nPLUGIN STYLES\n*********************/\n.gform_body ul {\n  list-style: none outside none;\n  margin: 0; }\n\n/******************************************************************\n\nStylesheet: Retina Screens & Devices Stylesheet\n\nWhen handling retina screens you need to make adjustments, especially\nif you're not using font icons. Here you can add them in one neat\nplace.\n\n******************************************************************/\n/******************************************************************\n\nStylesheet: Print Stylesheet\n\nThis is the print stylesheet. There's probably not a lot\nof reasons to edit this stylesheet.\n\nRemember to add things that won't make sense to print at\nthe bottom. Things like nav, ads, and forms shouldbe set\nto display none.\n******************************************************************/\n@media print {\n  * {\n    background: transparent !important;\n    color: black !important;\n    text-shadow: none !important;\n    -webkit-filter: none !important;\n    filter: none !important;\n    -ms-filter: none !important; }\n  a, a:visited {\n    color: #444 !important;\n    text-decoration: underline; }\n    a:after, a:visited:after {\n      content: \" (\" attr(href) \")\"; }\n    a abbr[title]:after, a:visited abbr[title]:after {\n      content: \" (\" attr(title) \")\"; }\n  .ir a:after,\n  a[href^=\"javascript:\"]:after,\n  a[href^=\"#\"]:after {\n    content: \"\"; }\n  pre, blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr, img {\n    page-break-inside: avoid; }\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  p, h2, h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; }\n  .sidebar,\n  .page-navigation,\n  .wp-prev-next,\n  .respond-form,\n  nav {\n    display: none; } }\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/admin.php",
    "content": "<?php\n// This file handles the admin area and functions - You can use this file to make changes to the dashboard.\n\n/************* DASHBOARD WIDGETS *****************/\n// Disable default dashboard widgets\nfunction disable_default_dashboard_widgets() {\n\t// Remove_meta_box('dashboard_right_now', 'dashboard', 'core');    // Right Now Widget\n\tremove_meta_box('dashboard_recent_comments', 'dashboard', 'core'); // Comments Widget\n\tremove_meta_box('dashboard_incoming_links', 'dashboard', 'core');  // Incoming Links Widget\n\tremove_meta_box('dashboard_plugins', 'dashboard', 'core');         // Plugins Widget\n\n\t// Remove_meta_box('dashboard_quick_press', 'dashboard', 'core');  // Quick Press Widget\n\tremove_meta_box('dashboard_recent_drafts', 'dashboard', 'core');   // Recent Drafts Widget\n\tremove_meta_box('dashboard_primary', 'dashboard', 'core');         //\n\tremove_meta_box('dashboard_secondary', 'dashboard', 'core');       //\n\n\t// Removing plugin dashboard boxes\n\tremove_meta_box('yoast_db_widget', 'dashboard', 'normal');         // Yoast's SEO Plugin Widget\n\n}\n\n/*\nFor more information on creating Dashboard Widgets, view:\nhttp://digwp.com/2010/10/customize-wordpress-dashboard/\n*/\n\n// RSS Dashboard Widget\nfunction joints_rss_dashboard_widget() {\n\tif(function_exists('fetch_feed')) {\n\t\tinclude_once(ABSPATH . WPINC . '/feed.php');               // include the required file\n\t\t$feed = fetch_feed('http://jointswp.com/feed/rss/');        // specify the source feed\n\t\t$limit = $feed->get_item_quantity(5);                      // specify number of items\n\t\t$items = $feed->get_items(0, $limit);                      // create an array of items\n\t}\n\tif ($limit == 0) echo '<div>' . __( 'The RSS Feed is either empty or unavailable.', 'jointswp' ) . '</div>';   // fallback message\n\telse foreach ($items as $item) { ?>\n\n\t<h4 style=\"margin-bottom: 0;\">\n\t\t<a href=\"<?php echo $item->get_permalink(); ?>\" title=\"<?php echo mysql2date(__('j F Y @ g:i a', 'jointswp'), $item->get_date('Y-m-d H:i:s')); ?>\" target=\"_blank\">\n\t\t\t<?php echo $item->get_title(); ?>\n\t\t</a>\n\t</h4>\n\t<p style=\"margin-top: 0.5em;\">\n\t\t<?php echo substr($item->get_description(), 0, 200); ?>\n\t</p>\n\t<?php }\n}\n\n// Calling all custom dashboard widgets\nfunction joints_custom_dashboard_widgets() {\n\twp_add_dashboard_widget('joints_rss_dashboard_widget', __('Custom RSS Feed (Customize in admin.php)', 'jointswp'), 'joints_rss_dashboard_widget');\n\t/*\n\tBe sure to drop any other created Dashboard Widgets\n\tin this function and they will all load.\n\t*/\n}\n// removing the dashboard widgets\nadd_action('admin_menu', 'disable_default_dashboard_widgets');\n// adding any custom widgets\nadd_action('wp_dashboard_setup', 'joints_custom_dashboard_widgets');\n\n/************* CUSTOMIZE ADMIN *******************/\n// Custom Backend Footer\nfunction joints_custom_admin_footer() {\n\tesc_html_e('<span id=\"footer-thankyou\">Developed by <a href=\"#\" target=\"_blank\">Your Site Name</a></span>.', 'jointswp');\n}\n\n// adding it to the admin area\nadd_filter('admin_footer_text', 'joints_custom_admin_footer');"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/cleanup.php",
    "content": "<?php\n\n// Fire all our initial functions at the start\nadd_action('after_setup_theme','joints_start', 16);\n\nfunction joints_start() {\n\n    // launching operation cleanup\n    add_action('init', 'joints_head_cleanup');\n    \n    // remove pesky injected css for recent comments widget\n    add_filter( 'wp_head', 'joints_remove_wp_widget_recent_comments_style', 1 );\n    \n    // clean up comment styles in the head\n    add_action('wp_head', 'joints_remove_recent_comments_style', 1);\n    \n    // clean up gallery output in wp\n    add_filter('gallery_style', 'joints_gallery_style');\n    \n    // adding sidebars to Wordpress\n    add_action( 'widgets_init', 'joints_register_sidebars' );\n    \n    // cleaning up excerpt\n    add_filter('excerpt_more', 'joints_excerpt_more');\n\n} /* end joints start */\n\n//The default wordpress head is a mess. Let's clean it up by removing all the junk we don't need.\nfunction joints_head_cleanup() {\n\t// Remove category feeds\n\t// remove_action( 'wp_head', 'feed_links_extra', 3 );\n\t// Remove post and comment feeds\n\t// remove_action( 'wp_head', 'feed_links', 2 );\n\t// Remove EditURI link\n\tremove_action( 'wp_head', 'rsd_link' );\n\t// Remove Windows live writer\n\tremove_action( 'wp_head', 'wlwmanifest_link' );\n\t// Remove index link\n\tremove_action( 'wp_head', 'index_rel_link' );\n\t// Remove previous link\n\tremove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );\n\t// Remove start link\n\tremove_action( 'wp_head', 'start_post_rel_link', 10, 0 );\n\t// Remove links for adjacent posts\n\tremove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );\n\t// Remove WP version\n\tremove_action( 'wp_head', 'wp_generator' );\n} /* end Joints head cleanup */\n\n// Remove injected CSS for recent comments widget\nfunction joints_remove_wp_widget_recent_comments_style() {\n   if ( has_filter('wp_head', 'wp_widget_recent_comments_style') ) {\n      remove_filter('wp_head', 'wp_widget_recent_comments_style' );\n   }\n}\n\n// Remove injected CSS from recent comments widget\nfunction joints_remove_recent_comments_style() {\n  global $wp_widget_factory;\n  if (isset($wp_widget_factory->widgets['WP_Widget_Recent_Comments'])) {\n    remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));\n  }\n}\n\n// Remove injected CSS from gallery\nfunction joints_gallery_style($css) {\n  return preg_replace(\"!<style type='text/css'>(.*?)</style>!s\", '', $css);\n}\n\n// This removes the annoying […] to a Read More link\nfunction joints_excerpt_more($more) {\n\tglobal $post;\n\t// edit here if you like\nreturn '<a class=\"excerpt-read-more\" href=\"'. get_permalink($post->ID) . '\" title=\"'. __('Read', 'jointswp') . get_the_title($post->ID).'\">'. __('... Read more &raquo;', 'jointswp') .'</a>';\n}\n\n//  Stop WordPress from using the sticky class (which conflicts with Foundation), and style WordPress sticky posts using the .wp-sticky class instead\nfunction remove_sticky_class($classes) {\n\tif(in_array('sticky', $classes)) {\n\t\t$classes = array_diff($classes, array(\"sticky\"));\n\t\t$classes[] = 'wp-sticky';\n\t}\n\t\n\treturn $classes;\n}\nadd_filter('post_class','remove_sticky_class');\n\n//This is a modified the_author_posts_link() which just returns the link. This is necessary to allow usage of the usual l10n process with printf()\nfunction joints_get_the_author_posts_link() {\n\tglobal $authordata;\n\tif ( !is_object( $authordata ) )\n\t\treturn false;\n\t$link = sprintf(\n\t\t'<a href=\"%1$s\" title=\"%2$s\" rel=\"author\">%3$s</a>',\n\t\tget_author_posts_url( $authordata->ID, $authordata->user_nicename ),\n\t\tesc_attr( sprintf( __( 'Posts by %s', 'jointswp' ), get_the_author() ) ), // No further l10n needed, core will take care of this one\n\t\tget_the_author()\n\t);\n\treturn $link;\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/comments.php",
    "content": "<?php\n// Comment Layout\nfunction joints_comments($comment, $args, $depth) {\n   $GLOBALS['comment'] = $comment; ?>\n\t<li <?php comment_class('panel'); ?>>\n\t\t<div class=\"media-object\">\n\t\t\t<div class=\"media-object-section\">\n\t\t\t    <?php echo get_avatar( $comment, 75 ); ?>\n\t\t\t  </div>\n\t\t\t<div class=\"media-object-section\">\n\t\t\t\t<article id=\"comment-<?php comment_ID(); ?>\">\n\t\t\t\t\t<header class=\"comment-author\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t// create variable\n\t\t\t\t\t\t\t$bgauthemail = get_comment_author_email();\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<?php printf(__('%s', 'jointswp'), get_comment_author_link()) ?> on\n\t\t\t\t\t\t<time datetime=\"<?php echo comment_time('Y-m-j'); ?>\"><a href=\"<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>\"><?php comment_time(__(' F jS, Y - g:ia', 'jointswp')); ?> </a></time>\n\t\t\t\t\t\t<?php edit_comment_link(__('(Edit)', 'jointswp'),'  ','') ?>\n\t\t\t\t\t</header>\n\t\t\t\t\t<?php if ($comment->comment_approved == '0') : ?>\n\t\t\t\t\t\t<div class=\"alert alert-info\">\n\t\t\t\t\t\t\t<p><?php esc_html_e('Your comment is awaiting moderation.', 'jointswp') ?></p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t<?php endif; ?>\n\t\t\t\t\t<section class=\"comment_content clearfix\">\n\t\t\t\t\t\t<?php comment_text() ?>\n\t\t\t\t\t</section>\n\t\t\t\t\t<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>\n\t\t\t\t</article>\n\t\t\t</div>\n\t\t</div>\n\t<!-- </li> is added by WordPress automatically -->\n<?php\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/custom-post-type.php",
    "content": "<?php\n/* joints Custom Post Type Example\nThis page walks you through creating \na custom post type and taxonomies. You\ncan edit this one or copy the following code \nto create another one. \n\nI put this in a separate file so as to \nkeep it organized. I find it easier to edit\nand change things if they are concentrated\nin their own file.\n\n*/\n\n\n// let's create the function for the custom type\nfunction custom_post_example() { \n\t// creating (registering) the custom type \n\tregister_post_type( 'custom_type', /* (http://codex.wordpress.org/Function_Reference/register_post_type) */\n\t \t// let's now add all the options for this post type\n\t\tarray('labels' => array(\n\t\t\t'name' => __('Custom Types', 'jointswp'), /* This is the Title of the Group */\n\t\t\t'singular_name' => __('Custom Post', 'jointswp'), /* This is the individual type */\n\t\t\t'all_items' => __('All Custom Posts', 'jointswp'), /* the all items menu item */\n\t\t\t'add_new' => __('Add New', 'jointswp'), /* The add new menu item */\n\t\t\t'add_new_item' => __('Add New Custom Type', 'jointswp'), /* Add New Display Title */\n\t\t\t'edit' => __( 'Edit', 'jointswp' ), /* Edit Dialog */\n\t\t\t'edit_item' => __('Edit Post Types', 'jointswp'), /* Edit Display Title */\n\t\t\t'new_item' => __('New Post Type', 'jointswp'), /* New Display Title */\n\t\t\t'view_item' => __('View Post Type', 'jointswp'), /* View Display Title */\n\t\t\t'search_items' => __('Search Post Type', 'jointswp'), /* Search Custom Type Title */ \n\t\t\t'not_found' =>  __('Nothing found in the Database.', 'jointswp'), /* This displays if there are no entries yet */ \n\t\t\t'not_found_in_trash' => __('Nothing found in Trash', 'jointswp'), /* This displays if there is nothing in the trash */\n\t\t\t'parent_item_colon' => ''\n\t\t\t), /* end of arrays */\n\t\t\t'description' => __( 'This is the example custom post type', 'jointswp' ), /* Custom Type Description */\n\t\t\t'public' => true,\n\t\t\t'publicly_queryable' => true,\n\t\t\t'exclude_from_search' => false,\n\t\t\t'show_ui' => true,\n\t\t\t'query_var' => true,\n\t\t\t'menu_position' => 8, /* this is what order you want it to appear in on the left hand side menu */ \n\t\t\t'menu_icon' => 'dashicons-book', /* the icon for the custom post type menu. uses built-in dashicons (CSS class name) */\n\t\t\t'rewrite'\t=> array( 'slug' => 'custom_type', 'with_front' => false ), /* you can specify its url slug */\n\t\t\t'has_archive' => 'custom_type', /* you can rename the slug here */\n\t\t\t'capability_type' => 'post',\n\t\t\t'hierarchical' => false,\n\t\t\t/* the next one is important, it tells what's enabled in the post editor */\n\t\t\t'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')\n\t \t) /* end of options */\n\t); /* end of register post type */\n\t\n\t/* this adds your post categories to your custom post type */\n\tregister_taxonomy_for_object_type('category', 'custom_type');\n\t/* this adds your post tags to your custom post type */\n\tregister_taxonomy_for_object_type('post_tag', 'custom_type');\n\t\n} \n\n\t// adding the function to the Wordpress init\n\tadd_action( 'init', 'custom_post_example');\n\t\n\t/*\n\tfor more information on taxonomies, go here:\n\thttp://codex.wordpress.org/Function_Reference/register_taxonomy\n\t*/\n\t\n\t// now let's add custom categories (these act like categories)\n    register_taxonomy( 'custom_cat', \n    \tarray('custom_type'), /* if you change the name of register_post_type( 'custom_type', then you have to change this */\n    \tarray('hierarchical' => true,     /* if this is true, it acts like categories */             \n    \t\t'labels' => array(\n    \t\t\t'name' => __( 'Custom Categories', 'jointswp' ), /* name of the custom taxonomy */\n    \t\t\t'singular_name' => __( 'Custom Category', 'jointswp' ), /* single taxonomy name */\n    \t\t\t'search_items' =>  __( 'Search Custom Categories', 'jointswp' ), /* search title for taxomony */\n    \t\t\t'all_items' => __( 'All Custom Categories', 'jointswp' ), /* all title for taxonomies */\n    \t\t\t'parent_item' => __( 'Parent Custom Category', 'jointswp' ), /* parent title for taxonomy */\n    \t\t\t'parent_item_colon' => __( 'Parent Custom Category:', 'jointswp' ), /* parent taxonomy title */\n    \t\t\t'edit_item' => __( 'Edit Custom Category', 'jointswp' ), /* edit custom taxonomy title */\n    \t\t\t'update_item' => __( 'Update Custom Category', 'jointswp' ), /* update title for taxonomy */\n    \t\t\t'add_new_item' => __( 'Add New Custom Category', 'jointswp' ), /* add new title for taxonomy */\n    \t\t\t'new_item_name' => __( 'New Custom Category Name', 'jointswp' ) /* name title for taxonomy */\n    \t\t),\n    \t\t'show_admin_column' => true, \n    \t\t'show_ui' => true,\n    \t\t'query_var' => true,\n    \t\t'rewrite' => array( 'slug' => 'custom-slug' ),\n    \t)\n    );   \n    \n\t// now let's add custom tags (these act like categories)\n    register_taxonomy( 'custom_tag', \n    \tarray('custom_type'), /* if you change the name of register_post_type( 'custom_type', then you have to change this */\n    \tarray('hierarchical' => false,    /* if this is false, it acts like tags */                \n    \t\t'labels' => array(\n    \t\t\t'name' => __( 'Custom Tags', 'jointswp' ), /* name of the custom taxonomy */\n    \t\t\t'singular_name' => __( 'Custom Tag', 'jointswp' ), /* single taxonomy name */\n    \t\t\t'search_items' =>  __( 'Search Custom Tags', 'jointswp' ), /* search title for taxomony */\n    \t\t\t'all_items' => __( 'All Custom Tags', 'jointswp' ), /* all title for taxonomies */\n    \t\t\t'parent_item' => __( 'Parent Custom Tag', 'jointswp' ), /* parent title for taxonomy */\n    \t\t\t'parent_item_colon' => __( 'Parent Custom Tag:', 'jointswp' ), /* parent taxonomy title */\n    \t\t\t'edit_item' => __( 'Edit Custom Tag', 'jointswp' ), /* edit custom taxonomy title */\n    \t\t\t'update_item' => __( 'Update Custom Tag', 'jointswp' ), /* update title for taxonomy */\n    \t\t\t'add_new_item' => __( 'Add New Custom Tag', 'jointswp' ), /* add new title for taxonomy */\n    \t\t\t'new_item_name' => __( 'New Custom Tag Name', 'jointswp' ) /* name title for taxonomy */\n    \t\t),\n    \t\t'show_admin_column' => true,\n    \t\t'show_ui' => true,\n    \t\t'query_var' => true,\n    \t)\n    ); \n    \n    /*\n    \tlooking for custom meta boxes?\n    \tcheck out this fantastic tool:\n    \thttps://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress\n    */"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/disable-emoji.php",
    "content": "<?php \n\t\nfunction disable_wp_emoji() {\n\n  // all actions related to emojis\n  remove_action( 'admin_print_styles', 'print_emoji_styles' );\n  remove_action( 'wp_head', 'print_emoji_detection_script', 7 );\n  remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );\n  remove_action( 'wp_print_styles', 'print_emoji_styles' );\n  remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );\n  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );\n  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );\n\n  // filter to remove TinyMCE emojis\n  add_filter( 'tiny_mce_plugins', 'disable_emoji_tinymce' );\n}\nadd_action( 'init', 'disable_wp_emoji' );\n\nfunction disable_emoji_tinymce( $plugins ) {\n  if ( is_array( $plugins ) ) {\n    return array_diff( $plugins, array( 'wpemoji' ) );\n  } else {\n    return array();\n  }\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/editor-styles.php",
    "content": "<?php\n// Adds your styles to the WordPress editor\nadd_action( 'init', 'add_editor_styles' );\nfunction add_editor_styles() {\n    add_editor_style( get_template_directory_uri() . '/assets/css/style.min.css' );\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/enqueue-scripts.php",
    "content": "<?php\nfunction site_scripts() {\n  global $wp_styles; // Call global $wp_styles variable to add conditional wrapper around ie stylesheet the WordPress way\n    \n    // Load What-Input files in footer\n    wp_enqueue_script( 'what-input', get_template_directory_uri() . '/vendor/what-input/dist/what-input.min.js', array(), '', true );\n    \n    // Adding Foundation scripts file in the footer\n    wp_enqueue_script( 'foundation-js', get_template_directory_uri() . '/vendor/foundation-sites/dist//js/foundation.min.js', array( 'jquery' ), '6.2.3', true );\n    \n    // Adding scripts file in the footer\n    wp_enqueue_script( 'site-js', get_template_directory_uri() . '/assets/js/scripts.js', array( 'jquery' ), '', true );\n    \n     // Register Motion-UI\n    wp_enqueue_style( 'motion-ui-css', get_template_directory_uri() . '/vendor/motion-ui/dist/motion-ui.min.css', array(), '', 'all' );\n\t\n\t// Select which grid system you want to use (Foundation Grid by default)\n    wp_enqueue_style( 'foundation-css', get_template_directory_uri() . '/vendor/foundation-sites/dist/css/foundation.min.css', array(), '', 'all' );\n     //wp_enqueue_style( 'foundation-css', get_template_directory_uri() . '/vendor/foundation-sites/dist/foundation-flex.min.css', array(), '', 'all' );\n\n    // Register main stylesheet\n    wp_enqueue_style( 'site-css', get_template_directory_uri() . '/assets/css/style.css', array(), '', 'all' );\n\n    // Comment reply script for threaded comments\n    if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) {\n      wp_enqueue_script( 'comment-reply' );\n    }\n}\nadd_action('wp_enqueue_scripts', 'site_scripts', 999);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/login.php",
    "content": "<?php\n// Calling your own login css so you can style it\nfunction joints_login_css() {\n\twp_enqueue_style( 'joints_login_css', get_template_directory_uri() . '/assets/css/login.css', false );\n}\n\n// changing the logo link from wordpress.org to your site\nfunction joints_login_url() {  return home_url(); }\n\n// changing the alt text on the logo to show your site name\nfunction joints_login_title() { return get_option('blogname'); }\n\n// calling it only on the login page\nadd_action( 'login_enqueue_scripts', 'joints_login_css', 10 );\nadd_filter('login_headerurl', 'joints_login_url');\nadd_filter('login_headertitle', 'joints_login_title');"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/menu.php",
    "content": "<?php\n// Register menus\nregister_nav_menus(\n\tarray(\n\t\t'main-nav' => __( 'The Main Menu', 'jointswp' ),   // Main nav in header\n\t\t'footer-links' => __( 'Footer Links', 'jointswp' ) // Secondary nav in footer\n\t)\n);\n\n// The Top Menu\nfunction joints_top_nav() {\n\t wp_nav_menu(array(\n        'container' => false,                           // Remove nav container\n        'menu_class' => 'vertical medium-horizontal menu',       // Adding custom nav class\n        'items_wrap' => '<ul id=\"%1$s\" class=\"%2$s\" data-responsive-menu=\"accordion medium-dropdown\">%3$s</ul>',\n        'theme_location' => 'main-nav',        \t\t\t// Where it's located in the theme\n        'depth' => 5,                                   // Limit the depth of the nav\n        'fallback_cb' => false,                         // Fallback function (see below)\n        'walker' => new Topbar_Menu_Walker()\n    ));\n} \n\n// Big thanks to Brett Mason (https://github.com/brettsmason) for the awesome walker\nclass Topbar_Menu_Walker extends Walker_Nav_Menu {\n    function start_lvl(&$output, $depth = 0, $args = Array() ) {\n        $indent = str_repeat(\"\\t\", $depth);\n        $output .= \"\\n$indent<ul class=\\\"menu\\\">\\n\";\n    }\n}\n\n// The Off Canvas Menu\nfunction joints_off_canvas_nav() {\n\t wp_nav_menu(array(\n        'container' => false,                           // Remove nav container\n        'menu_class' => 'vertical menu',       // Adding custom nav class\n        'items_wrap' => '<ul id=\"%1$s\" class=\"%2$s\" data-accordion-menu>%3$s</ul>',\n        'theme_location' => 'main-nav',        \t\t\t// Where it's located in the theme\n        'depth' => 5,                                   // Limit the depth of the nav\n        'fallback_cb' => false,                         // Fallback function (see below)\n        'walker' => new Off_Canvas_Menu_Walker()\n    ));\n} \n\nclass Off_Canvas_Menu_Walker extends Walker_Nav_Menu {\n    function start_lvl(&$output, $depth = 0, $args = Array() ) {\n        $indent = str_repeat(\"\\t\", $depth);\n        $output .= \"\\n$indent<ul class=\\\"vertical menu\\\">\\n\";\n    }\n}\n\n// The Footer Menu\nfunction joints_footer_links() {\n    wp_nav_menu(array(\n    \t'container' => 'false',                         // Remove nav container\n    \t'menu' => __( 'Footer Links', 'jointswp' ),   \t// Nav name\n    \t'menu_class' => 'menu',      \t\t\t\t\t// Adding custom nav class\n    \t'theme_location' => 'footer-links',             // Where it's located in the theme\n        'depth' => 0,                                   // Limit the depth of the nav\n    \t'fallback_cb' => ''  \t\t\t\t\t\t\t// Fallback function\n\t));\n} /* End Footer Menu */\n\n// Header Fallback Menu\nfunction joints_main_nav_fallback() {\n\twp_page_menu( array(\n\t\t'show_home' => true,\n    \t'menu_class' => '',      \t\t\t\t\t\t// Adding custom nav class\n\t\t'include'     => '',\n\t\t'exclude'     => '',\n\t\t'echo'        => true,\n        'link_before' => '',                           // Before each link\n        'link_after' => ''                             // After each link\n\t) );\n}\n\n// Footer Fallback Menu\nfunction joints_footer_links_fallback() {\n\t/* You can put a default here if you like */\n}\n\n// Add Foundation active class to menu\nfunction required_active_nav_class( $classes, $item ) {\n    if ( $item->current == 1 || $item->current_item_ancestor == true ) {\n        $classes[] = 'active';\n    }\n    return $classes;\n}\nadd_filter( 'nav_menu_css_class', 'required_active_nav_class', 10, 2 );"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/page-navi.php",
    "content": "<?php\n// Numeric Page Navi (built into the theme by default)\nfunction joints_page_navi($before = '', $after = '') {\n\tglobal $wpdb, $wp_query;\n\t$request = $wp_query->request;\n\t$posts_per_page = intval(get_query_var('posts_per_page'));\n\t$paged = intval(get_query_var('paged'));\n\t$numposts = $wp_query->found_posts;\n\t$max_page = $wp_query->max_num_pages;\n\tif ( $numposts <= $posts_per_page ) { return; }\n\tif(empty($paged) || $paged == 0) {\n\t\t$paged = 1;\n\t}\n\t$pages_to_show = 7;\n\t$pages_to_show_minus_1 = $pages_to_show-1;\n\t$half_page_start = floor($pages_to_show_minus_1/2);\n\t$half_page_end = ceil($pages_to_show_minus_1/2);\n\t$start_page = $paged - $half_page_start;\n\tif($start_page <= 0) {\n\t\t$start_page = 1;\n\t}\n\t$end_page = $paged + $half_page_end;\n\tif(($end_page - $start_page) != $pages_to_show_minus_1) {\n\t\t$end_page = $start_page + $pages_to_show_minus_1;\n\t}\n\tif($end_page > $max_page) {\n\t\t$start_page = $max_page - $pages_to_show_minus_1;\n\t\t$end_page = $max_page;\n\t}\n\tif($start_page <= 0) {\n\t\t$start_page = 1;\n\t}\n\techo $before.'<nav class=\"page-navigation\"><ul class=\"pagination\">'.\"\";\n\tif ($start_page >= 2 && $pages_to_show < $max_page) {\n\t\t$first_page_text = __( 'First', 'jointswp' );\n\t\techo '<li><a href=\"'.get_pagenum_link().'\" title=\"'.$first_page_text.'\">'.$first_page_text.'</a></li>';\n\t}\n\techo '<li>';\n\tprevious_posts_link( __('Previous', 'jointswp') );\n\techo '</li>';\n\tfor($i = $start_page; $i  <= $end_page; $i++) {\n\t\tif($i == $paged) {\n\t\t\techo '<li class=\"current\"> '.$i.' </li>';\n\t\t} else {\n\t\t\techo '<li><a href=\"'.get_pagenum_link($i).'\">'.$i.'</a></li>';\n\t\t}\n\t}\n\techo '<li>';\n\tnext_posts_link( __('Next', 'jointswp'), 0 );\n\techo '</li>';\n\tif ($end_page < $max_page) {\n\t\t$last_page_text = __( 'Last', 'jointswp' );\n\t\techo '<li><a href=\"'.get_pagenum_link($max_page).'\" title=\"'.$last_page_text.'\">'.$last_page_text.'</a></li>';\n\t}\n\techo '</ul></nav>'.$after.\"\";\n} /* End page navi */\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/related-posts.php",
    "content": "<?php\n// Related Posts Function, matches posts by tags - call using joints_related_posts(); )\nfunction joints_related_posts() {\n\tglobal $post;\n\t$tag_arr = '';\n\t$tags = wp_get_post_tags( $post->ID );\n\tif($tags) {\n\t\tforeach( $tags as $tag ) {\n\t\t\t$tag_arr .= $tag->slug . ',';\n\t\t}\n\t\t$args = array(\n\t\t\t'tag' => $tag_arr,\n\t\t\t'numberposts' => 3, /* you can change this to show more */\n\t\t\t'post__not_in' => array($post->ID)\n\t\t);\n\t\t$related_posts = get_posts( $args );\n\t\tif($related_posts) {\n\t\techo __( '<h4>Related Posts</h4>', 'jointswp' );\n\t\techo '<ul id=\"joints-related-posts\">';\n\t\t\tforeach ( $related_posts as $post ) : setup_postdata( $post ); ?>\n\t\t\t\t<li class=\"related_post\">\n\t\t\t\t\t<a href=\"<?php the_permalink() ?>\" title=\"<?php the_title_attribute(); ?>\"><?php the_title(); ?></a>\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'byline' ); ?>\n\t\t\t\t</li>\n\t\t\t<?php endforeach; }\n\t\t\t}\n\twp_reset_postdata();\n\techo '</ul>';\n} /* end joints related posts function */"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/sidebar.php",
    "content": "<?php\n// SIDEBARS AND WIDGETIZED AREAS\nfunction joints_register_sidebars() {\n\tregister_sidebar(array(\n\t\t'id' => 'sidebar1',\n\t\t'name' => __('Sidebar 1', 'jointswp'),\n\t\t'description' => __('The first (primary) sidebar.', 'jointswp'),\n\t\t'before_widget' => '<div id=\"%1$s\" class=\"widget %2$s\">',\n\t\t'after_widget' => '</div>',\n\t\t'before_title' => '<h4 class=\"widgettitle\">',\n\t\t'after_title' => '</h4>',\n\t));\n\n\tregister_sidebar(array(\n\t\t'id' => 'offcanvas',\n\t\t'name' => __('Offcanvas', 'jointswp'),\n\t\t'description' => __('The offcanvas sidebar.', 'jointswp'),\n\t\t'before_widget' => '<div id=\"%1$s\" class=\"widget %2$s\">',\n\t\t'after_widget' => '</div>',\n\t\t'before_title' => '<h4 class=\"widgettitle\">',\n\t\t'after_title' => '</h4>',\n\t));\n\n\t/*\n\tto add more sidebars or widgetized areas, just copy\n\tand edit the above sidebar code. In order to call\n\tyour new sidebar just use the following code:\n\n\tJust change the name to whatever your new\n\tsidebar's id is, for example:\n\n\tregister_sidebar(array(\n\t\t'id' => 'sidebar2',\n\t\t'name' => __('Sidebar 2', 'jointswp'),\n\t\t'description' => __('The second (secondary) sidebar.', 'jointswp'),\n\t\t'before_widget' => '<div id=\"%1$s\" class=\"widget %2$s\">',\n\t\t'after_widget' => '</div>',\n\t\t'before_title' => '<h4 class=\"widgettitle\">',\n\t\t'after_title' => '</h4>',\n\t));\n\n\tTo call the sidebar in your template, you can just copy\n\tthe sidebar.php file and rename it to your sidebar's name.\n\tSo using the above example, it would be:\n\tsidebar-sidebar2.php\n\n\t*/\n} // don't remove this bracket!"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/functions/theme-support.php",
    "content": "<?php\n\t\n// Adding WP Functions & Theme Support\nfunction joints_theme_support() {\n\n\t// Add WP Thumbnail Support\n\tadd_theme_support( 'post-thumbnails' );\n\t\n\t// Default thumbnail size\n\tset_post_thumbnail_size(125, 125, true);\n\n\t// Add RSS Support\n\tadd_theme_support( 'automatic-feed-links' );\n\t\n\t// Add Support for WP Controlled Title Tag\n\tadd_theme_support( 'title-tag' );\n\t\n\t// Add HTML5 Support\n\tadd_theme_support( 'html5', \n\t         array( \n\t         \t'comment-list', \n\t         \t'comment-form', \n\t         \t'search-form', \n\t         ) \n\t);\n\t\n\t// Adding post format support\n\t add_theme_support( 'post-formats',\n\t\tarray(\n\t\t\t'aside',             // title less blurb\n\t\t\t'gallery',           // gallery of images\n\t\t\t'link',              // quick link to other site\n\t\t\t'image',             // an image\n\t\t\t'quote',             // a quick quote\n\t\t\t'status',            // a Facebook like status update\n\t\t\t'video',             // video\n\t\t\t'audio',             // audio\n\t\t\t'chat'               // chat transcript\n\t\t)\n\t); \n\t\n\t// Set the maximum allowed width for any content in the theme, like oEmbeds and images added to posts.\n\t$GLOBALS['content_width'] = apply_filters( 'joints_theme_support', 1200 );\t\n\t\n} /* end theme support */\n\nadd_action( 'after_setup_theme', 'joints_theme_support' );"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/js/scripts.js",
    "content": "jQuery(document).foundation();\n/*\nThese functions make sure WordPress\nand Foundation play nice together.\n*/\n\njQuery(document).ready(function() {\n\n    // Remove empty P tags created by WP inside of Accordion and Orbit\n    jQuery('.accordion p:empty, .orbit p:empty').remove();\n\n\t // Makes sure last grid item floats left\n\tjQuery('.archive-grid .columns').last().addClass( 'end' );\n\n\t// Adds Flex Video to YouTube and Vimeo Embeds\n  jQuery('iframe[src*=\"youtube.com\"], iframe[src*=\"vimeo.com\"]').each(function() {\n    if ( jQuery(this).innerWidth() / jQuery(this).innerHeight() > 1.5 ) {\n      jQuery(this).wrap(\"<div class='widescreen flex-video'/>\");\n    } else {\n      jQuery(this).wrap(\"<div class='flex-video'/>\");\n    }\n  });\n\n});\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/README",
    "content": "## bones / languages\n\n**This folder contains the language-files for the bones framework.**\n\nA function in `functions.php` identifies the LOCALE (e.g. da_DK) of your WordPress installation. If there is a language-file in `languages/` named accordingly (e.g. `da_DK.mo`), bones will use it. Fallback is English.\n\n### How to translate bones to your language\n\n  1 Make a copy of `default.po` an change the filename to your LOCALE.po (e.g. `da_DK.mo`)\n  2 Use [poedit](http://www.poedit.net/ \"home of poedit\") to edit your po-file.\n  3 When saving your po-file, poedit will create/update a corresponding mo-file.\n  4 Please commit both your po- and mo-file. \n\n### More\n\nhttp://codex.wordpress.org/I18n_for_WordPress_Developers\n\nhttp://www.wdmac.com/how-to-create-a-po-language-translation#more-631\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/da_DK.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: \\n\"\n\"X-Generator: Poedit 1.5.4\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\"Dette indlæg er kodeordsbeskyttet. Skriv kodeordet for at se kommentarer.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Svar\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Svar\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"En\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Nej\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"til\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Der er lukket for kommentarer.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Efterlad et svar\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Efterlad et svar til %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Du skal være\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"logget ind\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"for at kunne kommentere\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Logget ind som\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Log ud af denne konto\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Log ud\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Navn\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"(obligatorisk)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Dit navn\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Email\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Din Email\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"vil ikke blive offentliggjort\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Webside\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Din Webside\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Din Kommentar her…\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Indsend Kommentar\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Du kan anvende disse tags\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Side %s\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Kategoriserede Indlæg:\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Skrevet\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"af\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"sorteret under\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Læs mere\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Rediger)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Din kommentar afventer moderation.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Søg efter:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Søg på siden…\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"Episk 404 - Emne Blev Ikke Fundet\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"Det emne, du ledte efter blev ikke fundet, men prøv måske at lede igen!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Søgeresultater for:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Læs mere på\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Taggede Indlæg:\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Indlæg Af:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Daglige Arkiver:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Månedlige Arkiver:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Årlige Arkiver:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Brugerdefinerede Tags\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Tag\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Tags\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Læs resten af dette indlæg\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Beklager, ingen vedhæftninger matchede dine kriterier.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Ældre Indlæg\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nyere Indlæg &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"drives af\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Ikke Fundet\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Beklager, men det søgte emne blev ikke fundet på denne side.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Aktiver venligst nogle Widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Læs mere &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Brugerdefinerede Typer:\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Brugerdefineret Indlæg\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Tilføj Nyt\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Tilføj Ny Brugerdefineret Type\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Rediger\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Rediger Indlæg Typer\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Ny Indlæg Type\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Se Indlæg Type \"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Søg Indlæg Type\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Intet fundet i Databasen.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Intet fundet i Papirkurven\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Dette er et ekempel på en brugerdefineret indlæg type.\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Brugerdefinerede Kategorier\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Brugerdefineret Kategori\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Søg Brugerdefinerede Kategorier\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Alle Brugerdefinerede Kategorier\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Forældre Brugerdefineret Kategori\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Forældre Brugerdefineret Kategori:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Rediger Brugerdefineret Kategori\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Updater brugerdefineret Kategori\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Tilføj Nyt Brugerdefineret Kategori\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nyt Brugerdefineret Kategori Navn\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Brugerdefineret Tag\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Søg Brugerdefinerede Tags\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Alle Brugerdefinerede Tags\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Forældre Brugerdefineret Tag\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Forældre Brugerdefineret Tag:\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Rediger Brugerdefineret Tag\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Opdater Brugerdefineret Tag\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Tilføj Nyt Brugerdefineret Tag\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nyt Brugerdefineret Tag Navn\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/de_DE.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:50+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: pixolin <pixolin@gmx.com>\\n\"\n\"Language: de_DE\\n\"\n\"X-Generator: Poedit 1.7.1\\n\"\n\"X-Poedit-SearchPath-0: .\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\"Dieser Eintrag ist durch ein Passwort geschützt. Bitte Passwort eingeben, um \"\n\"Kommentare zu lesen.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Antwort\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Antworten\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"Eine\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Keine\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"für\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Kommentare sind nicht möglich.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Kommentar schreiben\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Kommentar schreiben zu %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Sie müssen\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"angemeldet sein,\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"um einen Kommentar zu hinterlassen.\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Angemeldet als\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Abmelden\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Abmelden\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Name\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"(Pflichtfeld)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Ihr Name\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"E-Mail\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Ihre E-Mail\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"wird nicht angezeigt\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Website\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Ihre Website\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Ihr Kommentar ...\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Kommentar absenden\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Sie können diese Schlagwörter nutzen\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Seite %s\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Kategorisierte Beiträge:\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Veröffentlicht\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"von\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"abgelegt unter\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Weiterlesen\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Bearbeiten)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Ihr Kommentar wird noch moderiert.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Suche nach:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"durchsuchen ...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 - Beitrag wurde nicht gefunden\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"Der gesuchte Beitrag wurde nicht gefunden. Versuchen Sie es mit einem \"\n\"ähnlichen Suchbegriff.\"\n\n#: search.php:7\n#, fuzzy\nmsgid \"Search Results for:\"\nmsgstr \"Suche nach:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Lesen Sie mehr über\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Einträge mit dem Schlagwort:\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Einträge von:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Tages-Archiv:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Monats-Archiv:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Jahres-Archiv:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Eigene Schlagworte\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Schlagwort\"\n\n#: embed-tags.php:4\nmsgid \"Tags\"\nmsgstr \"Schlagworte\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Lesen Sie den Rest dieses Eintrags\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Kein Anhang entspricht Ihren Kriterien.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Ältere Einträge\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Jüngere Einträge  &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"wird betrieben mit\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Nicht gefunden\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Die angefragte Quelle konnte nicht gefunden werden.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Bitte aktivieren Sie ein paar Widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Weiter &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Eigene Arten\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Eigener Eintrag\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Hinzufügen\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Eigene Art hinzufügen\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Bearbeiten\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Beitrags-Arten bearbeiten\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Neue Beitrags-Art\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Zeige Beitrags-Art\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Suche Beitrags-Art\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"In der Datenbank wurde nichts gefunden.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Im Papierkorb wurde nichts gefunden\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Beispiel für eine eigene Beitrags-Art\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Eigene Kategorien\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Eigene Kategorie\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Suche eigene Kategorien\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Alle eigenen Kategorien\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Übergeordnete eigene Kategorie\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Übergeordnete eigene Kategorie:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Bearbeite eigene Kategorie\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Aktualisiere eigene Kategorie\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Eigene Kategorie hinzufügen\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Name für neue eigene Kategorie\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Eigenes Schlagwort\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Suche eigene Schlagworte\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Alle eigenen Schlagworte\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Übergeordnetes eigenes Schlagwort\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Übergeordnetes eigenes Schlagwort:\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Bearbeite eigenes Schlagwort\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Aktualisiere eigenes Schlagwort\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Eigenes Schlagwort hinzufügen\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Name für eigenes Schlagwort hinzufügen\"\n\n#~ msgid \"No Posts Yet\"\n#~ msgstr \"Bislang keine Einträge\"\n\n#~ msgid \"Sorry, What you were looking for is not here.\"\n#~ msgstr \"Wonach Sie gesucht haben, gibt es hier nicht.\"\n\n#~ msgid \"<span class=\\\"read-more\\\">Read more on \\\"\"\n#~ msgstr \"<span class=\\\"read-more\\\">Mehr lesen über \\\"\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/default.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: \\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"\"\n\n#: assets/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"\"\n\n#: assets/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/es_ES.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: boufaka <boufaka@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/boufaka/GIT/bones\\n\"\n\"Last-Translator: \\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"Esta entrada está protegida. Para verla, escribe la contraseña:\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Respuesta\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Respuestas\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"Uno\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"No\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"para\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Los comentarios están cerrados.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Deja un comentario\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Responder a %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Debes\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"iniciar sesión\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"para escribir un comentario.\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Identificado como\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Salir de esta cuenta\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Salir\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Nombre\"\n\n#: comments.php:93\n#: comments.php:98\nmsgid \"(required)\"\nmsgstr \"(requerido)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Tu nombre\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Correo electrónico\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Tu correo electrónico\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"no será publicado\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Sitio web\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Tu sitio web\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Tu comentario aquí\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Enviar comentario\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Puedes usar estas etiquetas\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Página %s\"\n\n#: taxonomy-custom_cat.php:22\n#: archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Archivos de categoría:\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Publicado\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"por\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"archivadas en\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Leer más\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Editar)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Tu comentario está pendiente de moderación\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Buscar por:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Buscar en el sitio...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"Épico 404 - Artículo no encontrado\"\n\n#: 404.php:17\nmsgid \"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"¡El artículo que estás buscando no ha sido encontrado, pero puedes intentarlo más adelante!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Resultados de búsqueda de:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Leer más en\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Entradas etiquetadas:\"\n\n#: archive.php:17\n#: author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Entradas de:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Archivo dirario:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Archivo mensual:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Archivo anual:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Etiquetas personalizadas\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Etiqueta\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Etiquetas\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Leer el resto de esta entrada\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Lo sentimos, ningún anexo coincide con tu criterio.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Entradas más antiguas\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Entradas más modernas &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"funciona gracias a\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"No encontrado\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Lo sentimos pero el recurso solicitado no se encuentra disponible en este sitio.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Por favor active algunos widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Leer más &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Tipos personalizados\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Entrada personalizada\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Añadir nuevo\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Añadir nuevo tipo personalizado\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Editar typo de entrada\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Nuevo tipo de entrada\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Ver tipo de entrada\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Buscar tipo de entrada\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Nada encontrado en la base de datos.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Nada encontrado en la papelera de reciclaje\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Este es un ejemplo de typo de entrada personalizada\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Catergorías personalizadas\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Categoría personalizada\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Buscar en categorías personalizadas\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Todas las categorias personalizadas\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Categoría personalizada padre\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Categoría personalizada padre:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Editar categoría personalizada\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Actualizar categoría personalizada\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Añadir nueva categoría personalizada\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nuevo nombre de categoría personalizada\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Etiqueta personalizada\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Buscar entiqueta personalizada\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Todas las etiquetas personalizadas\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Etiqueta personalizada padre\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Etiqueta personalizada padre\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Editar etiqueta personalizada\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Actualizar etiqueta personalizada\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Añadir nueva etiqueta personalizada\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nuevo nombre de etiqueta personalizada\"\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/fr_FR.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: \\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"Cet article est protégé par un mot de passe. Entrer le mot de passe pour voir les commentaires.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Réponse\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Réponses\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"Un\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Aucun\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"à\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Les commentaires sont clos.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Laisser une réponse\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Laisser une réponse à %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Vous devez être\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"identifié\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"pour laisser un commentaire.\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Connecté comme\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Se déconnecter de ce compte\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Se déconnecter\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Nom\"\n\n#: comments.php:93\n#: comments.php:98\nmsgid \"(required)\"\nmsgstr \"(requis)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Votre nom\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Email\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Votre Email\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"ne sera pas publié\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Site internet\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Votre site internet\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Vote commentaire ici...\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Soumettre un commentaire\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Vous pouvez utiliser ces tags\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Page %s\"\n\n#: taxonomy-custom_cat.php:22\n#: archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Archive des articles sous la catégorie :\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Publié\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"par\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"dans la catégorie\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"En lire plus\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Editer)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Votre commentaire est en attente de modération\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Recherche pour :\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Chercher sur le site...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 Epique - Article non trouvé\"\n\n#: 404.php:17\nmsgid \"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"L'article que vous demandez est inexistant, effectuez plutôt une recherche\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Résultats de recherche pour :\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"En lire plus sur\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Articles taggés :\"\n\n#: archive.php:17\n#: author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Articles par :\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Archives quotidiennes :\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Archives mensuelles :\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Archives annuelles :\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Tags personnalisés\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Tag\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Tags\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Lire la suite de cette article\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Désolé, aucun attachement ne correspond à vos critères.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Anciens articles\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nouveaux articles &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"est propulsé par\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Non trouvé\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Désolé mais la ressource recherchée est introuvable sur ce site.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Veuillez activer quelques widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"En lire plus &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Types personalisés\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Article personalisé\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Ajouter nouveau\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Ajouter un nouveau type personalisé\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Editer\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Editer les types d'article\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Nouveau type d'article\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Voir le type d'article\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Rechercher un type d'article\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Rien trouvé dans la base de données\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Rien trouvé dans la corbeille\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Ceci est un exemple de type d'article personalisé\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Catégories personalisées\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Catégorie personalisée\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Rechercher dans les catégories personalisées\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Toutes les catégories personalisées\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Catégorie personalisée parente\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Catégorie personalisée parente :\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Editer la catégorie personalisée\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Mettre à jour la catégorie personalisée\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Ajouter une catégorie personalisée\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nouveau libellé de catégorie personalisée\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Tag personnalisé\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Rechercher un tag personalisé\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Tous les tags personalisés\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Tag personalisé parent\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Tag personalisé parent :\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Editer le tag personalisé\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Mettre à jour le tag personalisé\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Ajouter un nouveau tag personalisé\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Libellé du nouveau tag personalisé\"\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/he_IL.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Elron <elron100duck@gmail.com>\\n\"\n\"X-Poedit-Language: Hebrew\\n\"\n\"X-Poedit-Country: ISRAEL\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"פוסט זה מוגן בסיסמא. נא להזין סיסמא להצגת התגובות.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"תגובה\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"תגובות\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"אחד\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"לא\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"אל\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"התגובות סגורות.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"השארת תגובה\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"השארת תגובה ל-%s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"עליך להיות\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"מחובר\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"להגיב\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"מחובר כ\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"להתנתק ממשתמש זה\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"להתנתק\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"שם\"\n\n#: comments.php:93\n#: comments.php:98\nmsgid \"(required)\"\nmsgstr \"(חובה)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"השם שלך\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"אימייל\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"האימייל שלך\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"לא יפורסם\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"אתר אינטרנט\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"אתר האינטרנט שלך\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"התגובה שלך כאן...\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"שלח תגובה\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"אפשר להשתמש בתגים אלו\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"עמוד %s\"\n\n#: taxonomy-custom_cat.php:22\n#: archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"פוסטים לפי קטגוריות:\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"פורסם\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"מאת\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"משוייך תחת\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"לקרוא עוד\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(לערוך)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"תגובתך ממתינה לאישור.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"חפש עבור:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"חיפוש באתר...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 - המאמר לא נמצא\"\n\n#: 404.php:17\nmsgid \"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"המאמר שחיפשת לא נמצא, אבל אפשר לנסות לחפש שוב!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"תוצאות חיפוש עבור:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"לקרוא עוד בנושא\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"פוסטים מתוייגים:\"\n\n#: archive.php:17\n#: author.php:8\nmsgid \"Posts By:\"\nmsgstr \"פוסטים מאת:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"ארכיון יומי:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"ארכיון חודשי:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"ארכיון שנתי:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"תגים מיוחדים\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"תג\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"תגים\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"לקרוא את ההמשך\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"מצטערים, לא נמצא השתייכות לקרטריון שלך.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"ישן יותר &raquo;\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"&laquo; חדש יותר\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"מופעל על ידי\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"לא נמצא\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"מצטערים, התוכן המבוקש לא נמצא באתר.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"נא להפעיל כמה וידג'טים.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"להמשיך לקרוא &laquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"סוגים מיוחדים\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"פוסט מיוחד\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"להוסיף חדש\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"להוסיף סוג מיוחד חדש\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"לערוך\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"לערוך סוגי פוסט\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"סוג פוסט חדש\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"הצגת סוג פוסט\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"חיפוש פוסט מיוחד\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"לא נמצא כלום במאגר הנתונים.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"הפח מרוקן\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"זוהי דוגמא לסוג פוסט מיוחד\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"קטגוריות מיוחדות\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"קטגוריה מיוחדת\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"חיפוש קטגוריות מיוחדות\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"כל הקטגוריות המיוחדות\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"הורה של קטגוריה מיוחדת\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"הורה של קטגוריה מיוחדת:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"עריכת קטגוריה מיוחדת\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"לעדכן קטגוריה מיוחדת\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"להוסיף קטגוריה מיוחדת חדשה\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"להוסיף שם קטגוריה חדשה\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"תג מיוחד\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"חיפוש תגים מיוחדים\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"כל התגים המיוחדים\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"הורה של תג מיוחד\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"הורה של תג מיוחד\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"לערוך תג מיוחד\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"לעדכן תג מיוחד\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"להוסיף תג מיוחד חדש\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"שם חדש לתג מיוחד\"\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/hr.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-10-01 19:37+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Jurica Zuanović <jurica.zuanovic@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language: hr\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: UTF-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n;_x\\n\"\n\"X-Poedit-Basepath: .\\n\"\n\"X-Generator: Poedit 1.5.3\\n\"\n\"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n\"\n\"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"\n\"X-Poedit-SearchPath-0: .\\n\"\n\n#: 404.php:13\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"Epski 404 - Članak nije pronađen\"\n\n#: 404.php:19\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"Članak koji ste tražili nije pronađen, ali pokušajte ponovno potražiti!\"\n\n#: 404.php:31\nmsgid \"This is the 404.php template.\"\nmsgstr \"Ovo je predložak 404.php.\"\n\n#: archive-custom_type.php:19 page-custom.php:23 page.php:17\n#, php-format\nmsgid \"\"\n\"Posted <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> by \"\n\"<span class=\\\"author\\\">%3$s</span>.\"\nmsgstr \"\"\n\"Objavljeno <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> \"\n\"autor <span class=\\\"author\\\">%3$s</span>.\"\n\n#: archive-custom_type.php:19 archive.php:52 functions.php:135\n#: page-custom.php:23 page.php:17 search.php:18\nmsgid \"F jS, Y\"\nmsgstr \"j. F Y.\"\n\n#: archive-custom_type.php:43 archive.php:78 index.php:42 search.php:41\n#: taxonomy-custom_cat.php:57\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Stariji Unosi\"\n\n#: archive-custom_type.php:44 archive.php:79 index.php:43 search.php:42\n#: taxonomy-custom_cat.php:58\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Noviji Unosi &raquo;\"\n\n#: archive-custom_type.php:53 archive.php:88 index.php:52 page-custom.php:48\n#: page.php:40 single-custom_type.php:58 single.php:41\n#: taxonomy-custom_cat.php:67\nmsgid \"Oops, Post Not Found!\"\nmsgstr \"Uups, Post nije pronađen!\"\n\n#: archive-custom_type.php:56 archive.php:91 index.php:55 page-custom.php:51\n#: page.php:43 single-custom_type.php:61 single.php:44\n#: taxonomy-custom_cat.php:70\nmsgid \"Uh Oh. Something is missing. Try double checking things.\"\nmsgstr \"Oh. Nešto nedostaje. Dobro provjerite.\"\n\n#: archive-custom_type.php:59\nmsgid \"This is the error message in the custom posty type archive template.\"\nmsgstr \"Ovo je poruka greške u predlošku arhive prilagođenog post tipa.\"\n\n#: archive.php:11 taxonomy-custom_cat.php:24\nmsgid \"Posts Categorized:\"\nmsgstr \"Postovi Kategorizirani:\"\n\n#: archive.php:16\nmsgid \"Posts Tagged:\"\nmsgstr \"Postovi Označeni:\"\n\n#: archive.php:25\nmsgid \"Posts By:\"\nmsgstr \"Postovi od:\"\n\n#: archive.php:30\nmsgid \"Daily Archives:\"\nmsgstr \"Dnevne Arhive:\"\n\n#: archive.php:35\nmsgid \"Monthly Archives:\"\nmsgstr \"Mjesečne Arhive:\"\n\n#: archive.php:40\nmsgid \"Yearly Archives:\"\nmsgstr \"Godišnje Arhive:\"\n\n#: archive.php:52 index.php:17 search.php:18 single-custom_type.php:32\n#: taxonomy-custom_cat.php:34\n#, php-format\nmsgid \"\"\n\"Posted <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> by \"\n\"<span class=\\\"author\\\">%3$s</span> <span class=\\\"amp\\\">&</span> filed under \"\n\"%4$s.\"\nmsgstr \"\"\n\"Objavljeno <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> \"\n\"autor <span class=\\\"author\\\">%3$s</span> <span class=\\\"amp\\\">&amp;</span> \"\n\"objavljeno u %4$s.\"\n\n#: archive.php:94\nmsgid \"This is the error message in the archive.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku archive.php.\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\"Ovaj post je zaštićen lozinkom. Unesite lozinku kako bi vidjeli komentare.\"\n\n#: comments.php:22\nmsgid \"<span>No</span> Responses\"\nmsgstr \"<span>Nema</span> Odgovora\"\n\n#: comments.php:22\nmsgid \"<span>One</span> Response\"\nmsgstr \"<span>Jedan</span> Odgovor\"\n\n#: comments.php:22\nmsgid \"<span>%</span> Response\"\nmsgstr \"<span>%</span> Odgovor\"\n\n#: comments.php:50\nmsgid \"Comments are closed.\"\nmsgstr \"Komentari su zatvoreni.\"\n\n#: comments.php:61\nmsgid \"Leave a Reply\"\nmsgstr \"Napišite Odgovor\"\n\n#: comments.php:61\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Napišite Odgovor %s\"\n\n#: comments.php:69\n#, php-format\nmsgid \"You must be %1$slogged in%2$s to post a comment.\"\nmsgstr \"Morate biti %1$slogged in%2$s kako bi napisali komentar.\"\n\n#: comments.php:77\nmsgid \"Logged in as\"\nmsgstr \"Prijavljeni kao\"\n\n#: comments.php:77\nmsgid \"Log out of this account\"\nmsgstr \"Odjava sa ovog računa\"\n\n#: comments.php:77\nmsgid \"Log out\"\nmsgstr \"Odjava\"\n\n#: comments.php:77\nmsgid \"&raquo;\"\nmsgstr \"&raquo;\"\n\n#: comments.php:84\nmsgid \"Name\"\nmsgstr \"Ime\"\n\n#: comments.php:84 comments.php:89\nmsgid \"(required)\"\nmsgstr \"(obavezno)\"\n\n#: comments.php:85\nmsgid \"Your Name*\"\nmsgstr \"Vaše Ime*\"\n\n#: comments.php:89\nmsgid \"Mail\"\nmsgstr \"E-pošta\"\n\n#: comments.php:90\nmsgid \"Your E-Mail*\"\nmsgstr \"Vaša E-pošta*\"\n\n#: comments.php:91\nmsgid \"(will not be published)\"\nmsgstr \"(neće biti objavljeno)\"\n\n#: comments.php:95\nmsgid \"Website\"\nmsgstr \"Web stranica\"\n\n#: comments.php:96\nmsgid \"Got a website?\"\nmsgstr \"Imate Web stranicu?\"\n\n#: comments.php:103\nmsgid \"Your Comment here...\"\nmsgstr \"Vaš komentar ovdje...\"\n\n#: comments.php:106\nmsgid \"Submit\"\nmsgstr \"Pošalji\"\n\n#: comments.php:111\nmsgid \"You can use these tags\"\nmsgstr \"Možete koristiti ove oznake\"\n\n#: functions.php:79\nmsgid \"Sidebar 1\"\nmsgstr \"Bočna traka 1\"\n\n#: functions.php:80\nmsgid \"The first (primary) sidebar.\"\nmsgstr \"Prva (primarna) bočna traka.\"\n\n#: functions.php:134\n#, php-format\nmsgid \"<cite class=\\\"fn\\\">%s</cite>\"\nmsgstr \"<cite class=\\\"fn\\\">%s</cite>\"\n\n#: functions.php:136\nmsgid \"(Edit)\"\nmsgstr \"(Uredi)\"\n\n#: functions.php:140\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Vaš komentar čeka moderaciju.\"\n\n#: functions.php:157\nmsgid \"Search for:\"\nmsgstr \"Pretraži:\"\n\n#: functions.php:158\nmsgid \"Search the Site...\"\nmsgstr \"Pretraži stranicu...\"\n\n#: index.php:27 page-custom.php:34 page.php:28 single.php:27\nmsgid \"Tags:\"\nmsgstr \"Oznake:\"\n\n#: index.php:58\nmsgid \"This is the error message in the index.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku index.php.\"\n\n#: page-custom.php:54\nmsgid \"This is the error message in the page-custom.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku page-custom.php.\"\n\n#: page.php:46\nmsgid \"This is the error message in the page.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku page.php.\"\n\n#: search.php:8\nmsgid \"Search Results for:\"\nmsgstr \"Rezultati pretrage za:\"\n\n#: search.php:24\nmsgid \"Read more &raquo;\"\nmsgstr \"Nastavi čitati &raquo;\"\n\n#: search.php:51\nmsgid \"Sorry, No Results.\"\nmsgstr \"Žalim, nema rezultata.\"\n\n#: search.php:54\nmsgid \"Try your search again.\"\nmsgstr \"Pokušajte ponoviti pretragu.\"\n\n#: search.php:57\nmsgid \"This is the error message in the search.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku search.php.\"\n\n#: sidebar.php:12\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Molim aktivirajte neke Widgete.\"\n\n#: single-custom_type.php:32 single.php:17 taxonomy-custom_cat.php:34\nmsgid \"F jS, Y\"\nmsgstr \"j. F Y.\"\n\n#: single-custom_type.php:44\nmsgid \"Custom Tags:\"\nmsgstr \"Prilagođene Oznake:\"\n\n#: single-custom_type.php:64\nmsgid \"This is the error message in the single-custom_type.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku single-custom_type.php.\"\n\n#: single.php:17\n#, php-format\nmsgid \"\"\n\"Posted <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> by \"\n\"<span class=\\\"author\\\">%3$s</span> <span class=\\\"amp\\\">&amp;</span> filed \"\n\"under %4$s.\"\nmsgstr \"\"\n\"Objavljeno <time class=\\\"updated\\\" datetime=\\\"%1$s\\\" pubdate>%2$s</time> \"\n\"autor <span class=\\\"author\\\">%3$s</span> <span class=\\\"amp\\\">&amp;</span> \"\n\"objavljeno u %4$s.\"\n\n#: single.php:47\nmsgid \"This is the error message in the single.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku single.php.\"\n\n#: taxonomy-custom_cat.php:40\nmsgid \"Read More &raquo;\"\nmsgstr \"Nastavi čitati &raquo;\"\n\n#: taxonomy-custom_cat.php:73\nmsgid \"This is the error message in the taxonomy-custom_cat.php template.\"\nmsgstr \"Ovo je poruka greške u predlošku taxonomy-custom_cat.php.\"\n\n#: library/admin.php:66\nmsgid \"j F Y @ g:i a\"\nmsgstr \"j F Y @ g:i a\"\n\n#: library/admin.php:78\nmsgid \"Recently on Themble (Customize on admin.php)\"\nmsgstr \"Najnovije sa Themble (Prilagodi u admin.php)\"\n\n#: library/admin.php:123\nmsgid \"\"\n\"<span id=\\\"footer-thankyou\\\">Developed by <a href=\\\"http://yoursite.com\\\" \"\n\"target=\\\"_blank\\\">Your Site Name</a></span>. Built using <a href=\\\"http://\"\n\"themble.com/bones\\\" target=\\\"_blank\\\">Bones</a>.\"\nmsgstr \"\"\n\"<span id=\\\"footer-thankyou\\\">Razvio <a href=\\\"http://jurica-zuanovic.from.hr\"\n\"\\\" target=\\\"_blank\\\">juricazuanovic</a></span>. Izgrađeno koristeći <a href=\"\n\"\\\"http://hr.wordpress.org\\\" target=\\\"_blank\\\">WordPress</a> i <a href=\"\n\"\\\"http://themble.com/bones\\\" target=\\\"_blank\\\">Bones</a>.\"\n\n#: library/bones.php:217 library/bones.php:234\nmsgid \"The Main Menu\"\nmsgstr \"Glavni Izbornik\"\n\n#: library/bones.php:218 library/bones.php:252\nmsgid \"Footer Links\"\nmsgstr \"Poveznice Podnožja\"\n\n#: library/bones.php:296\nmsgid \"No Related Posts Yet!\"\nmsgstr \"Još nema srodnih postova!\"\n\n#: library/bones.php:340\nmsgid \"First\"\nmsgstr \"Prva\"\n\n#: library/bones.php:357\nmsgid \"Last\"\nmsgstr \"Posljednja\"\n\n#: library/bones.php:391\n#, php-format\nmsgid \"Posts by %s\"\nmsgstr \"Postovi od %s\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Prilagođeni Tipovi\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Prilagođeni Post\"\n\n#: library/custom-post-type.php:26\nmsgid \"All Custom Posts\"\nmsgstr \"Svi Prilagođeni Postovi\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New\"\nmsgstr \"Dodaj Novi\"\n\n#: library/custom-post-type.php:28\nmsgid \"Add New Custom Type\"\nmsgstr \"Dodaj Novi Prilagođeni Tip\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit\"\nmsgstr \"Uredi\"\n\n#: library/custom-post-type.php:30\nmsgid \"Edit Post Types\"\nmsgstr \"Uredi Post Tipove\"\n\n#: library/custom-post-type.php:31\nmsgid \"New Post Type\"\nmsgstr \"Novi Post Tip\"\n\n#: library/custom-post-type.php:32\nmsgid \"View Post Type\"\nmsgstr \"Pregledaj Post Tip\"\n\n#: library/custom-post-type.php:33\nmsgid \"Search Post Type\"\nmsgstr \"Pretraži Post Tip\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Ništa nije pronađeno u Bazi podataka.\"\n\n#: library/custom-post-type.php:35\nmsgid \"Nothing found in Trash\"\nmsgstr \"Ništa nije pronađeno u Smeću.\"\n\n#: library/custom-post-type.php:38\nmsgid \"This is the example custom post type\"\nmsgstr \"Ovo je primjer prilagođenog post tipa\"\n\n#: library/custom-post-type.php:75\nmsgid \"Custom Categories\"\nmsgstr \"Prilagođene Kategorije\"\n\n#: library/custom-post-type.php:76\nmsgid \"Custom Category\"\nmsgstr \"Prilagođena Kategorija\"\n\n#: library/custom-post-type.php:77\nmsgid \"Search Custom Categories\"\nmsgstr \"Pretraži Prilagođene Kategorije\"\n\n#: library/custom-post-type.php:78\nmsgid \"All Custom Categories\"\nmsgstr \"Sve Prilagođene Kategorije\"\n\n#: library/custom-post-type.php:79\nmsgid \"Parent Custom Category\"\nmsgstr \"Matična Prilagođena Kategorija\"\n\n#: library/custom-post-type.php:80\nmsgid \"Parent Custom Category:\"\nmsgstr \"Matična Prilagođena Kategorija:\"\n\n#: library/custom-post-type.php:81\nmsgid \"Edit Custom Category\"\nmsgstr \"Uredi Prilagođenu Kategoriju\"\n\n#: library/custom-post-type.php:82\nmsgid \"Update Custom Category\"\nmsgstr \"Ažuriraj Prilagođenu Kategoriju\"\n\n#: library/custom-post-type.php:83\nmsgid \"Add New Custom Category\"\nmsgstr \"Dodaj Novu Prilagođenu Kategoriju\"\n\n#: library/custom-post-type.php:84\nmsgid \"New Custom Category Name\"\nmsgstr \"Novo Ime Prilagođene Kategorije\"\n\n#: library/custom-post-type.php:97\nmsgid \"Custom Tags\"\nmsgstr \"Prilagođene Oznake\"\n\n#: library/custom-post-type.php:98\nmsgid \"Custom Tag\"\nmsgstr \"Prilagođena Oznaka\"\n\n#: library/custom-post-type.php:99\nmsgid \"Search Custom Tags\"\nmsgstr \"Pretraži Prilagođene Oznake\"\n\n#: library/custom-post-type.php:100\nmsgid \"All Custom Tags\"\nmsgstr \"Sve Prilagođene Oznake\"\n\n#: library/custom-post-type.php:101\nmsgid \"Parent Custom Tag\"\nmsgstr \"Matična Prilagođena Oznaka\"\n\n#: library/custom-post-type.php:102\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Matična Prilagođena Oznaka:\"\n\n#: library/custom-post-type.php:103\nmsgid \"Edit Custom Tag\"\nmsgstr \"Uredi Prilagođenu Oznaku\"\n\n#: library/custom-post-type.php:104\nmsgid \"Update Custom Tag\"\nmsgstr \"Ažuriraj Prilagođenu Oznaku\"\n\n#: library/custom-post-type.php:105\nmsgid \"Add New Custom Tag\"\nmsgstr \"Dodaj Novu Prilagođenu Oznaku\"\n\n#: library/custom-post-type.php:106\nmsgid \"New Custom Tag Name\"\nmsgstr \"Novo Ime Prilagođene Kategorije\"\n\n#~ msgid \"Posted\"\n#~ msgstr \"Objavljeno\"\n\n#~ msgid \"by\"\n#~ msgstr \"autor\"\n\n#~ msgid \"filed under\"\n#~ msgstr \"objavljeno u\"\n\n#~ msgid \"Response\"\n#~ msgstr \"Odgovor\"\n\n#~ msgid \"Responses\"\n#~ msgstr \"Odgovori\"\n\n#~ msgid \"One\"\n#~ msgstr \"Jedan\"\n\n#~ msgid \"No\"\n#~ msgstr \"Ne\"\n\n#~ msgid \"to\"\n#~ msgstr \"na\"\n\n#~ msgid \"You must be\"\n#~ msgstr \"Morate biti\"\n\n#~ msgid \"logged in\"\n#~ msgstr \"prijavljeni\"\n\n#~ msgid \"to post a comment\"\n#~ msgstr \"kako bi objavili komentar\"\n\n#~ msgid \"Email\"\n#~ msgstr \"E-pošta\"\n\n#~ msgid \"Page %s\"\n#~ msgstr \"Stranica %s\"\n\n#~ msgid \"Read more\"\n#~ msgstr \"Nastavi čitati\"\n\n#~ msgid \"Read more on\"\n#~ msgstr \"Pročitaj više o\"\n\n#~ msgid \"Tag\"\n#~ msgstr \"Oznaka\"\n\n#~ msgid \"Read the rest of this entry\"\n#~ msgstr \"Pročitaj ostatak ovog unosa\"\n\n#~ msgid \"Sorry, no attachments matched your criteria.\"\n#~ msgstr \"Žalim, nema priloga koji odgovoraju vašim kriterijima.\"\n\n#~ msgid \"is powered by\"\n#~ msgstr \"pokreće\"\n\n#~ msgid \"Sorry, but the requested resource was not found on this site.\"\n#~ msgstr \"Žalim, ali zatraženi resurs nije pronađen na ovoj stranici.\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/it_IT.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Emanuele <feliziani.emanuele@gmail.com>\\n\"\n\"X-Generator: Poedit 1.5.5\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\"Il post &egrave; protetto da password. Inserisci la password per vedere i \"\n\"commenti.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Risposta\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Risposte\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"Uno\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Ancora niente\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"a\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Commenti chiusi.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Rispondi\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Rispondi a %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Devi essere\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"loggato\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"per inserire un commento\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Loggato come\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Esci dall'account\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Log out\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Nome\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"(richiesto)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Il Tuo Nome\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Email\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"La Tua Email\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"non sar&agrave; pubblicata\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Sito Web\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Il Tuo Sito Web\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Inserisci Qui il Commento…\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Invia il Commento\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Tag permessi\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Pagina %s\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Articoli nella Categoria:\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Pubblicati il\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"da\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"sotto\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Leggi tutto\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Modifica)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Il tuo commento &egrave; in attesa di moderazione.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Cerca:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Cerca nel Sito...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 Epico! - L'articolo non c'&egrave;\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"L'articolo che cercavi non &egrave; stato trovato. Ritenta, sarai pi&ugrave; \"\n\"fortunato!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Risultati della Ricerca:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Leggi tutto su\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Tag Articolo:\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Articoli Di:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Archivi Giornalieri:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Archivi Mensili:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Archivi Annuali:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Tag personalizzati\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Tag\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Tag\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Leggi il resto di questa voce\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Spiacente, gli allegati che cercavi non ci sono.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Pi&ugrave; Vecchi\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nuovi &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"powered by\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Non Trovato\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Spiacente, non ho trovato ci&ograve; che cercavi.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Attiva le Widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Leggi tutto &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Post personalizzati\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Post personalizzato\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Aggiungi\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Aggiungi Post personalizzato\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Modifica\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Modifica Post Personalizzati\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Nuovo Post\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Vedi Post\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Cerca Post Personalizzato\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Non c'&egrave; nulla nel Database.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Non c'&egrave; nulla nel Cestino\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Questo &egrave; un esempio di post personalizzato\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Categorie Personalizzate\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Categoria personalizzata\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Cerca Categorie personalizzate\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Tutte le Categorie Personalizzate\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Categoria Personalizzata Genitore\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Categoria Personalizzata Genitore:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Modifica Categoria Personalizzata\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Aggiorna Categoria Personalizzata\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Aggiungi Categoria Personalizzata\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nome della Nuova Categoria Personalizzata\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Tag Personalizzato\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Cerca Tag Personalizzato\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Tutti i Tag Personalizzati\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Tag Personalizzato Genitore\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Tag Personalizzato Genitore:\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Modifica Tag Personalizzato\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Aggiorna Tag Personalizzato\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Aggiungi Tag Personalizzato\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nome Nuovo Tag Personalizzato\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/nl_NL.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Youri\\n\"\n\"X-Generator: Poedit 1.5.4\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"\"\n\"Dit bericht is beveiligd met een wachtwoord. Geef het wachtwoord om reacties \"\n\"te bekijken.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Antwoord\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Antwoorden\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"Een\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Geen\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"Aan\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Reageren is niet mogelijk\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Reageer\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Reageer op %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Je moet\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"aangemeld zijn\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"om te reageren\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Aangemeld als\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Afmelden bij dit account\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Afmelden\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Naam\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"(verplicht)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Uw naam\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Email\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Uw Email\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"wordt niet gepubliceerd\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Website\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Uw website\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Reageer hier....\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Reactie versturen\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"U kunt deze labels gebruiken\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Pagina %s\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Artikelen in de categorie:\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Geplaatst\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"door\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"in de categorie\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Lees meer\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Bewerken)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Uw reactie wordt beoordeeld.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Zoeken naar:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Doorzoek de site....\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 - Artikel niet gevonden\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"Helaas, maar de opgevraagde pagina kon niet worden gevonden. Misschien kan \"\n\"de zoekfunctie helpen!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Zoekresultaten voor:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Lees meer over\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Artikelen gelabeld:\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Artikelen door:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Dagelijks archief:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Maandelijks archief:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Jaarlijks archief:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Custom labels\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Label\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Labels\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Lees de rest van dit bericht\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Sorry, er zijn geen bijlagen gevonden die aan uw criteria voldoen.\\\"\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Oudere artikelen\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nieuwere artikelen &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"wordt mogelijk gemaakt door\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Niet Gevonden\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Sorry, maar de opgevraagde bron is niet gevonden op deze site.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Activeer een widget. \"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Lees meer &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Custom type\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Custom Artikel\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Nieuwe toevoegen\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Nieuw custom type toevoegen\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Bewerken\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Artikel types bewerken\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Nieuw bericht type\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Bekijk bericht type\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Zoek bericht type\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Niets gevonden in de database.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Niets gevonden in de prullenbak.\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Dit is het voorbeeld custom artikel type\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Custom categorieën\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Custom categorie\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Zoek custom categorie\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Alle custom categorieën\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Parent custom categorie\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Parent custom categorie\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Custom categorie bewerken\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Custom categorie aanpassen\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Custom categorie toevoegen\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Naam nieuwe custom categorie\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Custom label\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Zoek custom labels\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Alle custom labels\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Parent custom label\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Parent custom label\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Custom label bewerken\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/pl_PL.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Paweł Grześ <pgrzes@dealwynajem.pl>\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"Ten post jest chroniony hasłem. Podaj je żeby zobaczyć komentarze.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Odpowiedź\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Odpowiedzi\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"1\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Nie\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"do\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Komentarze zamknięte.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Zostaw odpowiedź\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Zostaw odpowiedź %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Musisz być\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"zalogowany\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"by skomentować\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Zalogowany jako\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Wyloguj z tego konta\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Wyloguj\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Imię\"\n\n#: comments.php:93 comments.php:98\nmsgid \"(required)\"\nmsgstr \"(wymagane)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Twoje imię\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"Email\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Twój email\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"nie będzie opublikowany\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"WWW\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Twoja strona WWW\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Twój komentarz...\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Wyślij komentarz\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Możesz użyć tych tagów\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Strona %s\"\n\n#: taxonomy-custom_cat.php:22 archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Kategoria:\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Opublikowany\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"przez\"\n\n#: taxonomy-custom_cat.php:32 embed-post_meta.php:1 single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"w kategorii\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Czytaj dalej\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Edytuj)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Twój komentarz oczekuje na moderację.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Szukaj:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Przeszukaj stronę...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"OMG 404 - nic nie znaleziono\"\n\n#: 404.php:17\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"Artykuł, którego szukasz nie został znaleziony, może spróbuj ponownie.\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Wyniki wyszukiwania dla:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Czytaj dalej na\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Posty z tagami:\"\n\n#: archive.php:17 author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Posty napisane przez:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Archiwum dzienne:\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Archiwum miesięczne:\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Archiwum roczne:\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Niestandardowe tagi:\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Tag\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Tagi\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Przeczytaj resztę tego wpisu\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Nie ma załączników spełniających podane kryteria.\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Starsze wpisy\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nowsze wpisy &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"na\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Nie znaleziono\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Żądany zasób nie został znaleziony.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Proszę, włącz jakieś widgety.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Czytaj dalej &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Niestandardowe typy\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Niestandardowe posty\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Dodaj nowy\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Dodaj nowy niestandardowy typ\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Edytuj\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Edytuj typy postów\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Nowy typ postu\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Zobacz typ postu\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Szukaj typu postu\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Brak wpisów w bazie.\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Brak wpisów w koszu\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"To jest przykład własnego typu postu\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Niestandardowe kategorie\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Niestandardowa kategoria\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Szukaj niestandardowych kategorii\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Wszystkie niestandardowe kategorie:\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Niestandardowa kategoria (rodzic)\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Niestandardowa kategoria (rodzic):\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Edytuj niestandardową kategorię\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Aktualizuj niestandardową kategorię\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Dodaj nową niestandardową kategorię\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nazwa nowej niestandardowej kategorii\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Niestandardowy tag\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Szukaj niestandardowych tagów\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Wszystkie niestandardowe tagi\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Niestandardowy tag (rodzic)\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Niestandardowy tag (rodzic):\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Edytuj niestandardowy tag\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Aktualizuj niestandardowy tag\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Dodaj nowy niestandardowy tag\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nazwa nowego niestandardowego tagu\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/pt_BR.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2016-10-26 23:23+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Andrey Azevedo <andreyaze@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language: pt_BR\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: UTF-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;\"\n\"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\"\n\"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;\"\n\"esc_html_x:1,2c\\n\"\n\"X-Poedit-Basepath: ../..\\n\"\n\"X-Generator: Poedit 1.8.11\\n\"\n\"Plural-Forms: nplurals=2; plural=(n > 1);\\n\"\n\"X-Poedit-SearchPath-0: .\\n\"\n\"X-Poedit-SearchPathExcluded-0: *.js\\n\"\n\n#: 404.php:12\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 épico – Artigo não encontrado\"\n\n#: 404.php:16\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"O artigo que você estava procurando não foi encontrado, talvez queira \"\n\"tentar outra vez!\"\n\n#: assets/functions/admin.php:35\nmsgid \"The RSS Feed is either empty or unavailable.\"\nmsgstr \"O feed RSS está vazio ou indisponível.\"\n\n#: assets/functions/admin.php:39\nmsgid \"j F Y @ g:i a\"\nmsgstr \"j \\\\d\\\\e F, Y - G:i\"\n\n#: assets/functions/admin.php:51\nmsgid \"Custom RSS Feed (Customize in admin.php)\"\nmsgstr \"Feed RSS personalizado (Personalizar em admin.php)\"\n\n#: assets/functions/admin.php:65\nmsgid \"\"\n\"<span id=\\\"footer-thankyou\\\">Developed by <a href=\\\"#\\\" target=\\\"_blank\"\n\"\\\">Your Site Name</a></span>.\"\nmsgstr \"\"\n\"<span id=\\\"footer-thankyou\\\">Desenvolvido por <a href=\\\"#\\\" target=\\\"_blank\"\n\"\\\">O nome do seu site</a></span>.\"\n\n#: assets/functions/cleanup.php:74\nmsgid \"Read\"\nmsgstr \"Ler\"\n\n#: assets/functions/cleanup.php:74\nmsgid \"... Read more &raquo;\"\nmsgstr \"... Leia mais &raquo;\"\n\n#: assets/functions/cleanup.php:96\n#, php-format\nmsgid \"Posts by %s\"\nmsgstr \"Postagens por %s\"\n\n#: assets/functions/comments.php:17\n#, php-format\nmsgid \"%s\"\nmsgstr \"%s\"\n\n#: assets/functions/comments.php:18\nmsgid \" F jS, Y - g:ia\"\nmsgstr \"j \\\\d\\\\e F, Y - G:i\"\n\n#: assets/functions/comments.php:19\nmsgid \"(Edit)\"\nmsgstr \"(Editar)\"\n\n#: assets/functions/comments.php:23\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"O seu comentário aguarda moderação.\"\n\n#: assets/functions/custom-post-type.php:22\nmsgid \"Custom Types\"\nmsgstr \"Tipos personalizados\"\n\n#: assets/functions/custom-post-type.php:23\nmsgid \"Custom Post\"\nmsgstr \"Postagem personalizada\"\n\n#: assets/functions/custom-post-type.php:24\nmsgid \"All Custom Posts\"\nmsgstr \"Todos as postagens personalizadas\"\n\n#: assets/functions/custom-post-type.php:25\nmsgid \"Add New\"\nmsgstr \"Adicionar novo\"\n\n#: assets/functions/custom-post-type.php:26\nmsgid \"Add New Custom Type\"\nmsgstr \"Adicionar novo tipo personalizado\"\n\n#: assets/functions/custom-post-type.php:27\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\n#: assets/functions/custom-post-type.php:28\nmsgid \"Edit Post Types\"\nmsgstr \"Editar tipos de postagens\"\n\n#: assets/functions/custom-post-type.php:29\nmsgid \"New Post Type\"\nmsgstr \"Novo tipo de postagem\"\n\n#: assets/functions/custom-post-type.php:30\nmsgid \"View Post Type\"\nmsgstr \"Ver tipo de postagem\"\n\n#: assets/functions/custom-post-type.php:31\nmsgid \"Search Post Type\"\nmsgstr \"Procurar tipo de postagem\"\n\n#: assets/functions/custom-post-type.php:32\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Nada encontrado no banco de dados\"\n\n#: assets/functions/custom-post-type.php:33\nmsgid \"Nothing found in Trash\"\nmsgstr \"Nada encontrado na lixeira\"\n\n#: assets/functions/custom-post-type.php:36\nmsgid \"This is the example custom post type\"\nmsgstr \"Este é o exemplo de tipo de postagem personalizada\"\n\n#: assets/functions/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Procurar categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Todas as categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Categoria personalizada superior\"\n\n#: assets/functions/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Categoria personalizada superior:\"\n\n#: assets/functions/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Editar categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Atualizar categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Adicionar nova categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nome da nova categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:96\nmsgid \"Custom Tags\"\nmsgstr \"Etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:97\nmsgid \"Custom Tag\"\nmsgstr \"Etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:98\nmsgid \"Search Custom Tags\"\nmsgstr \"Procurar etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:99\nmsgid \"All Custom Tags\"\nmsgstr \"Todas as etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:100\nmsgid \"Parent Custom Tag\"\nmsgstr \"Etiqueta personalizada superior\"\n\n#: assets/functions/custom-post-type.php:101\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Etiqueta personalizada superior:\"\n\n#: assets/functions/custom-post-type.php:102\nmsgid \"Edit Custom Tag\"\nmsgstr \"Editar etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:103\nmsgid \"Update Custom Tag\"\nmsgstr \"Atualizar etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:104\nmsgid \"Add New Custom Tag\"\nmsgstr \"Adicionar nova etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:105\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nome da nova etiqueta personalizada\"\n\n#: assets/functions/menu.php:5\nmsgid \"The Main Menu\"\nmsgstr \"O menu principal\"\n\n#: assets/functions/menu.php:6 assets/functions/menu.php:55\nmsgid \"Footer Links\"\nmsgstr \"Links do rodapé\"\n\n#: assets/functions/page-navi.php:35\nmsgid \"First\"\nmsgstr \"Primeira\"\n\n#: assets/functions/page-navi.php:39\nmsgid \"Previous\"\nmsgstr \"Anterior\"\n\n#: assets/functions/page-navi.php:49\nmsgid \"Next\"\nmsgstr \"Seguinte\"\n\n#: assets/functions/page-navi.php:52\nmsgid \"Last\"\nmsgstr \"Última\"\n\n#: assets/functions/related-posts.php:18\nmsgid \"<h4>Related Posts</h4>\"\nmsgstr \"<h4>Postagens relacionadas</h4>\"\n\n#: assets/functions/sidebar.php:6\nmsgid \"Sidebar 1\"\nmsgstr \"Barra lateral 1\"\n\n#: assets/functions/sidebar.php:7\nmsgid \"The first (primary) sidebar.\"\nmsgstr \"A primeira barra lateral (principal).\"\n\n#: assets/functions/sidebar.php:16\nmsgid \"Offcanvas\"\nmsgstr \"Offcanvas\"\n\n#: assets/functions/sidebar.php:17\nmsgid \"The offcanvas sidebar.\"\nmsgstr \"A barra lateral offcanvas.\"\n\n#: comments.php:15\n#, php-format\nmsgctxt \"comments title\"\nmsgid \"One comment on &ldquo;%2$s&rdquo;\"\nmsgid_plural \"%1$s comments on &ldquo;%2$s&rdquo;\"\nmsgstr[0] \"Um comentário em &ldquo;%2$s&rdquo;\"\nmsgstr[1] \"%1$s comentários em &ldquo;%2$s&rdquo;\"\n\n#: comments.php:24 comments.php:40\nmsgid \"Comment navigation\"\nmsgstr \"Navegação de comentários\"\n\n#: comments.php:27 comments.php:43\nmsgid \"Older Comments\"\nmsgstr \"Comentários mais antigos\"\n\n#: comments.php:28 comments.php:44\nmsgid \"Newer Comments\"\nmsgstr \"Comentários mais recentes\"\n\n#: comments.php:56\nmsgid \"Comments are closed.\"\nmsgstr \"Os comentários estãos fechados.\"\n\n#: parts/content-missing.php:6\nmsgid \"Sorry, No Results.\"\nmsgstr \"Desculpe, nenhum resultado.\"\n\n#: parts/content-missing.php:10\nmsgid \"Try your search again.\"\nmsgstr \"Tente pesquisar novamente.\"\n\n#: parts/content-missing.php:18 parts/content-missing.php:36\nmsgid \"This is the error message in the parts/content-missing.php template.\"\nmsgstr \"Esta é a mensagem de erro no modelo parts/content-missing.php.\"\n\n#: parts/content-missing.php:24\nmsgid \"Oops, Post Not Found!\"\nmsgstr \"Ops! Postagem não encontrada!\"\n\n#: parts/content-missing.php:28\nmsgid \"Uh Oh. Something is missing. Try double checking things.\"\nmsgstr \"Ops. Falta algo. Verifique de novo.\"\n\n#: parts/loop-archive-grid.php:26 parts/loop-archive.php:9\nmsgid \"Read more...\"\nmsgstr \"Leia mais...\"\n\n#: parts/loop-archive.php:13 parts/loop-single.php:15\nmsgid \"Tags:\"\nmsgstr \"Etiquetas:\"\n\n#: parts/loop-single.php:14\nmsgid \"Pages:\"\nmsgstr \"Páginas:\"\n\n#: parts/nav-offcanvas-topbar.php:16 parts/nav-offcanvas.php:10\n#: parts/nav-title-bar.php:7\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: search.php:9\nmsgid \"Search Results for:\"\nmsgstr \"Resultados de pesquisa por:\"\n\n#: searchform.php:3\nmsgctxt \"label\"\nmsgid \"Search for:\"\nmsgstr \"Procurar por:\"\n\n#: searchform.php:4\nmsgctxt \"jointswp\"\nmsgid \"Search...\"\nmsgstr \"Procurar…\"\n\n#: searchform.php:4\nmsgctxt \"jointswp\"\nmsgid \"Search for:\"\nmsgstr \"Procurar por:\"\n\n#: searchform.php:6\nmsgctxt \"jointswp\"\nmsgid \"Search\"\nmsgstr \"Procurar\"\n\n#: sidebar.php:12\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Por favor ative alguns widgets.\"\n\n#: taxonomy-custom_cat.php:25\nmsgid \"Posts Categorized:\"\nmsgstr \"Postagens categorizadas:\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/pt_PT.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2016-10-26 23:23+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Pedro Mendonça <ped.gaspar@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language: pt_PT\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: UTF-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;\"\n\"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\"\n\"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\\n\"\n\"X-Poedit-Basepath: ../..\\n\"\n\"X-Generator: Poedit 1.8.11\\n\"\n\"Plural-Forms: nplurals=2; plural=(n != 1);\\n\"\n\"X-Poedit-SearchPath-0: .\\n\"\n\"X-Poedit-SearchPathExcluded-0: *.js\\n\"\n\n#: 404.php:12\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"404 épico – Artigo não encontrado\"\n\n#: 404.php:16\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"\"\n\"Não foi possível encontrar o conteúdo que procurou, talvez queira tentar \"\n\"outra vez!\"\n\n#: assets/functions/admin.php:35\nmsgid \"The RSS Feed is either empty or unavailable.\"\nmsgstr \"O feed RSS está vazio ou indisponível.\"\n\n#: assets/functions/admin.php:39\nmsgid \"j F Y @ g:i a\"\nmsgstr \"j \\\\d\\\\e F, Y - G:i\"\n\n#: assets/functions/admin.php:51\nmsgid \"Custom RSS Feed (Customize in admin.php)\"\nmsgstr \"Feed RSS personalizado (Personalizar em admin.php)\"\n\n#: assets/functions/admin.php:65\nmsgid \"\"\n\"<span id=\\\"footer-thankyou\\\">Developed by <a href=\\\"#\\\" target=\\\"_blank\"\n\"\\\">Your Site Name</a></span>.\"\nmsgstr \"\"\n\"<span id=\\\"footer-thankyou\\\">Desenvolvido por <a href=\\\"#\\\" target=\\\"_blank\"\n\"\\\">O nome do seu site</a></span>.\"\n\n#: assets/functions/cleanup.php:74\nmsgid \"Read\"\nmsgstr \"Ler\"\n\n#: assets/functions/cleanup.php:74\nmsgid \"... Read more &raquo;\"\nmsgstr \"... Ler mais &raquo;\"\n\n#: assets/functions/cleanup.php:96\n#, php-format\nmsgid \"Posts by %s\"\nmsgstr \"Conteúdos de %s\"\n\n#: assets/functions/comments.php:17\n#, php-format\nmsgid \"%s\"\nmsgstr \"%s\"\n\n#: assets/functions/comments.php:18\nmsgid \" F jS, Y - g:ia\"\nmsgstr \"j \\\\d\\\\e F, Y - G:i\"\n\n#: assets/functions/comments.php:19\nmsgid \"(Edit)\"\nmsgstr \"(Editar)\"\n\n#: assets/functions/comments.php:23\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"O seu comentário aguarda moderação.\"\n\n#: assets/functions/custom-post-type.php:22\nmsgid \"Custom Types\"\nmsgstr \"Tipos personalizados\"\n\n#: assets/functions/custom-post-type.php:23\nmsgid \"Custom Post\"\nmsgstr \"Conteúdo personalizado\"\n\n#: assets/functions/custom-post-type.php:24\nmsgid \"All Custom Posts\"\nmsgstr \"Todos os conteúdos personalizados\"\n\n#: assets/functions/custom-post-type.php:25\nmsgid \"Add New\"\nmsgstr \"Adicionar novo\"\n\n#: assets/functions/custom-post-type.php:26\nmsgid \"Add New Custom Type\"\nmsgstr \"Adicionar novo tipo personalizado\"\n\n#: assets/functions/custom-post-type.php:27\nmsgid \"Edit\"\nmsgstr \"Editar\"\n\n#: assets/functions/custom-post-type.php:28\nmsgid \"Edit Post Types\"\nmsgstr \"Editar tipos de conteúdo\"\n\n#: assets/functions/custom-post-type.php:29\nmsgid \"New Post Type\"\nmsgstr \"Novo tipo de conteúdo\"\n\n#: assets/functions/custom-post-type.php:30\nmsgid \"View Post Type\"\nmsgstr \"Ver tipo de conteúdo\"\n\n#: assets/functions/custom-post-type.php:31\nmsgid \"Search Post Type\"\nmsgstr \"Procurar tipo de conteúdo\"\n\n#: assets/functions/custom-post-type.php:32\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Nada encontrado na base de dados\"\n\n#: assets/functions/custom-post-type.php:33\nmsgid \"Nothing found in Trash\"\nmsgstr \"Nada encontrado no lixo\"\n\n#: assets/functions/custom-post-type.php:36\nmsgid \"This is the example custom post type\"\nmsgstr \"Este é o exemplo de tipo de contúdo personalizado\"\n\n#: assets/functions/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Procurar categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Todas as categorias personalizadas\"\n\n#: assets/functions/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Categoria personalizada superior\"\n\n#: assets/functions/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Categoria personalizada superior:\"\n\n#: assets/functions/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Editar categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Actualizar categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Adicionar nova categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Nome da nova categoria personalizada\"\n\n#: assets/functions/custom-post-type.php:96\nmsgid \"Custom Tags\"\nmsgstr \"Etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:97\nmsgid \"Custom Tag\"\nmsgstr \"Etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:98\nmsgid \"Search Custom Tags\"\nmsgstr \"Procurar etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:99\nmsgid \"All Custom Tags\"\nmsgstr \"Todas as etiquetas personalizadas\"\n\n#: assets/functions/custom-post-type.php:100\nmsgid \"Parent Custom Tag\"\nmsgstr \"Etiqueita personalizada superior\"\n\n#: assets/functions/custom-post-type.php:101\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Etiqueita personalizada superior:\"\n\n#: assets/functions/custom-post-type.php:102\nmsgid \"Edit Custom Tag\"\nmsgstr \"Editar etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:103\nmsgid \"Update Custom Tag\"\nmsgstr \"Actualizar etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:104\nmsgid \"Add New Custom Tag\"\nmsgstr \"Adicionar nova etiqueta personalizada\"\n\n#: assets/functions/custom-post-type.php:105\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nome da nova etiqueta personalizada\"\n\n#: assets/functions/menu.php:5\nmsgid \"The Main Menu\"\nmsgstr \"O menu principal\"\n\n#: assets/functions/menu.php:6 assets/functions/menu.php:55\nmsgid \"Footer Links\"\nmsgstr \"Ligações do rodapé\"\n\n#: assets/functions/page-navi.php:35\nmsgid \"First\"\nmsgstr \"Primeira\"\n\n#: assets/functions/page-navi.php:39\nmsgid \"Previous\"\nmsgstr \"Anterior\"\n\n#: assets/functions/page-navi.php:49\nmsgid \"Next\"\nmsgstr \"Seguinte\"\n\n#: assets/functions/page-navi.php:52\nmsgid \"Last\"\nmsgstr \"Última\"\n\n#: assets/functions/related-posts.php:18\nmsgid \"<h4>Related Posts</h4>\"\nmsgstr \"<h4>Conteúdos relacionados</h4>\"\n\n#: assets/functions/sidebar.php:6\nmsgid \"Sidebar 1\"\nmsgstr \"Barra lateral 1\"\n\n#: assets/functions/sidebar.php:7\nmsgid \"The first (primary) sidebar.\"\nmsgstr \"A primeira barra lateral (principal).\"\n\n#: assets/functions/sidebar.php:16\nmsgid \"Offcanvas\"\nmsgstr \"Offcanvas\"\n\n#: assets/functions/sidebar.php:17\nmsgid \"The offcanvas sidebar.\"\nmsgstr \"A barra lateral offcanvas.\"\n\n#: comments.php:15\n#, php-format\nmsgctxt \"comments title\"\nmsgid \"One comment on &ldquo;%2$s&rdquo;\"\nmsgid_plural \"%1$s comments on &ldquo;%2$s&rdquo;\"\nmsgstr[0] \"Um comentário em &ldquo;%2$s&rdquo;\"\nmsgstr[1] \"%1$s comentários em &ldquo;%2$s&rdquo;\"\n\n#: comments.php:24 comments.php:40\nmsgid \"Comment navigation\"\nmsgstr \"Navegação de comentários\"\n\n#: comments.php:27 comments.php:43\nmsgid \"Older Comments\"\nmsgstr \"Comentários mais antigos\"\n\n#: comments.php:28 comments.php:44\nmsgid \"Newer Comments\"\nmsgstr \"Comentários mais recentes\"\n\n#: comments.php:56\nmsgid \"Comments are closed.\"\nmsgstr \"Os comentários estãos fechados.\"\n\n#: parts/content-missing.php:6\nmsgid \"Sorry, No Results.\"\nmsgstr \"Desculpe, nenhum resultado.\"\n\n#: parts/content-missing.php:10\nmsgid \"Try your search again.\"\nmsgstr \"Tente pesquisar novamente.\"\n\n#: parts/content-missing.php:18 parts/content-missing.php:36\nmsgid \"This is the error message in the parts/content-missing.php template.\"\nmsgstr \"Esta é a mensagem de erro no modelo parts/content-missing.php.\"\n\n#: parts/content-missing.php:24\nmsgid \"Oops, Post Not Found!\"\nmsgstr \"Ups! Conteúdo não encontrado!\"\n\n#: parts/content-missing.php:28\nmsgid \"Uh Oh. Something is missing. Try double checking things.\"\nmsgstr \"Ups. Falta algo. Verifique de novo.\"\n\n#: parts/loop-archive-grid.php:26 parts/loop-archive.php:9\nmsgid \"Read more...\"\nmsgstr \"Ler mais...\"\n\n#: parts/loop-archive.php:13 parts/loop-single.php:15\nmsgid \"Tags:\"\nmsgstr \"Etiquetas:\"\n\n#: parts/loop-single.php:14\nmsgid \"Pages:\"\nmsgstr \"Páginas:\"\n\n#: parts/nav-offcanvas-topbar.php:16 parts/nav-offcanvas.php:10\n#: parts/nav-title-bar.php:7\nmsgid \"Menu\"\nmsgstr \"Menu\"\n\n#: search.php:9\nmsgid \"Search Results for:\"\nmsgstr \"Resultados de pesquisa por:\"\n\n#: searchform.php:3\nmsgctxt \"label\"\nmsgid \"Search for:\"\nmsgstr \"Procurar por:\"\n\n#: searchform.php:4\nmsgctxt \"jointswp\"\nmsgid \"Search...\"\nmsgstr \"Procurar…\"\n\n#: searchform.php:4\nmsgctxt \"jointswp\"\nmsgid \"Search for:\"\nmsgstr \"Procurar por:\"\n\n#: searchform.php:6\nmsgctxt \"jointswp\"\nmsgid \"Search\"\nmsgstr \"Procurar\"\n\n#: sidebar.php:12\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Por favor active alguns widgets.\"\n\n#: taxonomy-custom_cat.php:25\nmsgid \"Posts Categorized:\"\nmsgstr \"Conteúdos categorizados:\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/ru_RU.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-09-02 17:52+0200\\n\"\n\"PO-Revision-Date: \\n\"\n\"Last-Translator: Statsenko Vladimir <vovchiksta@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language: Russian\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: UTF-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: ../\\n\"\n\"X-Poedit-SearchPath-0: ..\\n\"\n\n#: ../404.php:13\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"Ошибка 404 - Статья не найдена\"\n\n#: ../404.php:19\nmsgid \"\"\n\"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"Статья, которую вы ищите не найдена, попробуйте ещё раз!\"\n\n#: ../404.php:31\nmsgid \"This is the 404.php template.\"\nmsgstr \"Это шаблон 404.php.\"\n\n#: ../archive-custom_type.php:19 ../archive.php:48 ../index.php:17\n#: ../page-custom.php:23 ../page.php:17 ../search.php:19\n#: ../single-custom_type.php:32 ../single.php:17 ../taxonomy-custom_cat.php:34\nmsgid \"Posted\"\nmsgstr \"Опубликовано\"\n\n#: ../archive-custom_type.php:19 ../archive.php:48 ../index.php:17\n#: ../page-custom.php:23 ../page.php:17 ../search.php:19\n#: ../single-custom_type.php:32 ../single.php:17 ../taxonomy-custom_cat.php:34\nmsgid \"by\"\nmsgstr \"автор\"\n\n#: ../archive-custom_type.php:44 ../archive.php:75 ../index.php:44\n#: ../search.php:43 ../taxonomy-custom_cat.php:59\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Предыдущие записи\"\n\n#: ../archive-custom_type.php:45 ../archive.php:76 ../index.php:45\n#: ../search.php:44 ../taxonomy-custom_cat.php:60\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Следующие записи &raquo;\"\n\n#: ../archive-custom_type.php:54 ../archive.php:85 ../index.php:54\n#: ../page-custom.php:47 ../page.php:41 ../single-custom_type.php:58\n#: ../single.php:41 ../taxonomy-custom_cat.php:69\nmsgid \"Oops, Post Not Found!\"\nmsgstr \"Ой, пост не найден!\"\n\n#: ../archive-custom_type.php:57 ../archive.php:88 ../index.php:57\n#: ../page-custom.php:50 ../page.php:44 ../single-custom_type.php:61\n#: ../single.php:44 ../taxonomy-custom_cat.php:72\nmsgid \"Uh Oh. Something is missing. Try double checking things.\"\nmsgstr \"Опс. Что-то пропущено. Попробуйте всё перепроверить.\"\n\n#: ../archive-custom_type.php:60\nmsgid \"This is the error message in the custom posty type archive template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне custom post type archive.\"\n\n#: ../archive.php:11 ../taxonomy-custom_cat.php:24\nmsgid \"Posts Categorized:\"\nmsgstr \"Категории:\"\n\n#: ../archive.php:16\nmsgid \"Posts Tagged:\"\nmsgstr \"Теги:\"\n\n#: ../archive.php:21\nmsgid \"Posts By:\"\nmsgstr \"Автор:\"\n\n#: ../archive.php:26\nmsgid \"Daily Archives:\"\nmsgstr \"Архивы за день:\"\n\n#: ../archive.php:31\nmsgid \"Monthly Archives:\"\nmsgstr \"Архивы за месяц:\"\n\n#: ../archive.php:36\nmsgid \"Yearly Archives:\"\nmsgstr \"Архивы за год:\"\n\n#: ../archive.php:48 ../index.php:17 ../search.php:19\n#: ../single-custom_type.php:32 ../single.php:17 ../taxonomy-custom_cat.php:34\nmsgid \"filed under\"\nmsgstr \"в\"\n\n#: ../archive.php:91\nmsgid \"This is the error message in the archive.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне archive.php.\"\n\n#: ../comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"Этот пост защищен паролем. Введите пароль чтобы увидеть комментарии.\"\n\n#: ../comments.php:51\nmsgid \"Comments are closed.\"\nmsgstr \"Комментарии закрыты.\"\n\n#: ../comments.php:62\nmsgid \"Leave a Reply\"\nmsgstr \"Ответить\"\n\n#: ../comments.php:62\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Ответить %s\"\n\n#: ../comments.php:78\nmsgid \"Logged in as\"\nmsgstr \"Вы вошли как\"\n\n#: ../comments.php:78\nmsgid \"Log out\"\nmsgstr \"Выйти\"\n\n#: ../comments.php:85\nmsgid \"Name\"\nmsgstr \"Имя\"\n\n#: ../comments.php:86\nmsgid \"Your Name*\"\nmsgstr \"Ваше имя*\"\n\n#: ../comments.php:90\nmsgid \"Mail\"\nmsgstr \"Почта\"\n\n#: ../comments.php:91\nmsgid \"Your E-Mail*\"\nmsgstr \"Ваш E-Mail*\"\n\n#: ../comments.php:92\nmsgid \"(will not be published)\"\nmsgstr \"(не будет опубликован)\"\n\n#: ../comments.php:96\nmsgid \"Website\"\nmsgstr \"Сайт\"\n\n#: ../comments.php:97\nmsgid \"Got a website?\"\nmsgstr \"Есть сайт?\"\n\n#: ../comments.php:104\nmsgid \"Your Comment here...\"\nmsgstr \"Ваш комментарий...\"\n\n#: ../comments.php:107\nmsgid \"Submit\"\nmsgstr \"Отправить\"\n\n#: ../comments.php:112\nmsgid \"You can use these tags\"\nmsgstr \"Вы можете использовать эти теги\"\n\n#: ../functions.php:128\n#, php-format\nmsgid \"<cite class=\\\"fn\\\">%s</cite>\"\nmsgstr \"<cite class=\\\"fn\\\">%s</cite>\"\n\n#: ../functions.php:130\nmsgid \"(Edit)\"\nmsgstr \"(Изменить)\"\n\n#: ../functions.php:134\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Ваш комментарий ожидает модерации.\"\n\n#: ../functions.php:151\nmsgid \"Search for:\"\nmsgstr \"Искать:\"\n\n#: ../index.php:60\nmsgid \"This is the error message in the index.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне index.php.\"\n\n#: ../page-custom.php:53\nmsgid \"This is the error message in the page-custom.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне page-custom.php.\"\n\n#: ../page.php:47\nmsgid \"This is the error message in the page.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне page.php.\"\n\n#: ../search.php:53\nmsgid \"Sorry, No Results.\"\nmsgstr \"Извините, ничего не найдено.\"\n\n#: ../search.php:56\nmsgid \"Try your search again.\"\nmsgstr \"Попробуйте поискать ещё раз.\"\n\n#: ../search.php:59\nmsgid \"This is the error message in the search.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне search.php.\"\n\n#: ../single-custom_type.php:64\nmsgid \"This is the error message in the single-custom_type.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне single-custom_type.php.\"\n\n#: ../single.php:47\nmsgid \"This is the error message in the single.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне single.php.\"\n\n#: ../taxonomy-custom_cat.php:75\nmsgid \"This is the error message in the taxonomy-custom_cat.php template.\"\nmsgstr \"Это сообщение об ошибке в шаблоне taxonomy-custom_cat.php.\"\n\n#: ../library/bones.php:206\nmsgid \"The Main Menu\"\nmsgstr \"Главное меню\"\n\n#: ../library/bones.php:207\nmsgid \"Footer Links\"\nmsgstr \"Ссылки в футере\"\n\n#: ../library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Пользовательские типы\"\n\n#: ../library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Пользовательский пост\"\n\n#: ../library/custom-post-type.php:26\nmsgid \"All Custom Posts\"\nmsgstr \"Все пользовательские посты\"\n\n#: ../library/custom-post-type.php:27\nmsgid \"Add New\"\nmsgstr \"Создать новый\"\n\n#: ../library/custom-post-type.php:28\nmsgid \"Add New Custom Type\"\nmsgstr \"Создать новый пользовательский тип\"\n\n#: ../library/custom-post-type.php:29\nmsgid \"Edit\"\nmsgstr \"Изменить\"\n\n#: ../library/custom-post-type.php:30\nmsgid \"Edit Post Types\"\nmsgstr \"Изменить типы постов\"\n\n#: ../library/custom-post-type.php:31\nmsgid \"New Post Type\"\nmsgstr \"Новый тип поста\"\n\n#: ../library/custom-post-type.php:32\nmsgid \"View Post Type\"\nmsgstr \"Посмотреть тип поста\"\n\n#: ../library/custom-post-type.php:33\nmsgid \"Search Post Type\"\nmsgstr \"Найти тип поста\"\n\n#: ../library/custom-post-type.php:34\nmsgid \"Nothing found in the Database.\"\nmsgstr \"В базе данных ничего не найдено.\"\n\n#: ../library/custom-post-type.php:35\nmsgid \"Nothing found in Trash\"\nmsgstr \"В Корзине ничего не найдено\"\n\n#: ../library/custom-post-type.php:38\nmsgid \"This is the example custom post type\"\nmsgstr \"Это пример пользовательского типа поста\"\n\n#: ../library/custom-post-type.php:75\nmsgid \"Custom Categories\"\nmsgstr \"Пользовательские категории\"\n\n#: ../library/custom-post-type.php:76\nmsgid \"Custom Category\"\nmsgstr \"Пользовательская категория\"\n\n#: ../library/custom-post-type.php:77\nmsgid \"Search Custom Categories\"\nmsgstr \"Поиск в пользовательских категориях\"\n\n#: ../library/custom-post-type.php:78\nmsgid \"All Custom Categories\"\nmsgstr \"Все пользовательские категории\"\n\n#: ../library/custom-post-type.php:79\nmsgid \"Parent Custom Category\"\nmsgstr \"Родительская пользовательская категория\"\n\n#: ../library/custom-post-type.php:80\nmsgid \"Parent Custom Category:\"\nmsgstr \"Родительская пользовательская категория:\"\n\n#: ../library/custom-post-type.php:81\nmsgid \"Edit Custom Category\"\nmsgstr \"Изменить пользовательскую категорию\"\n\n#: ../library/custom-post-type.php:82\nmsgid \"Update Custom Category\"\nmsgstr \"Обновить пользовательскую категорию\"\n\n#: ../library/custom-post-type.php:83\nmsgid \"Add New Custom Category\"\nmsgstr \"Создать пользовательскую категорию\"\n\n#: ../library/custom-post-type.php:84\nmsgid \"New Custom Category Name\"\nmsgstr \"Новое название пользовательской категории\"\n\n#: ../library/custom-post-type.php:97\nmsgid \"Custom Tags\"\nmsgstr \"Пользовательские теги\"\n\n#: ../library/custom-post-type.php:98\nmsgid \"Custom Tag\"\nmsgstr \"Пользовательский тег\"\n\n#: ../library/custom-post-type.php:99\nmsgid \"Search Custom Tags\"\nmsgstr \"Поиск по пользовательским тегам\"\n\n#: ../library/custom-post-type.php:100\nmsgid \"All Custom Tags\"\nmsgstr \"Все пользовательские теги\"\n\n#: ../library/custom-post-type.php:101\nmsgid \"Parent Custom Tag\"\nmsgstr \"Родительский пользовательский тег\"\n\n#: ../library/custom-post-type.php:102\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Родительский пользовательский тег:\"\n\n#: ../library/custom-post-type.php:103\nmsgid \"Edit Custom Tag\"\nmsgstr \"Изменить пользовательский тег\"\n\n#: ../library/custom-post-type.php:104\nmsgid \"Update Custom Tag\"\nmsgstr \"Обновить пользовательский тег\"\n\n#: ../library/custom-post-type.php:105\nmsgid \"Add New Custom Tag\"\nmsgstr \"Создать пользовательский тег\"\n\n#: ../library/custom-post-type.php:106\nmsgid \"New Custom Tag Name\"\nmsgstr \"Новый пользовательский тег\"\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/sv_SE.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Mathias Hellquist <mathias.hellquist@gmail.com>\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"Detta inlägg är lösenordsskyddat. Skriv in lösenordet för att se kommentarer.\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"Svar\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"Svar\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"En\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"Nej\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"till\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"Det går inte längre att kommentera.\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"Lämna en kommentar\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"Lämna en kommentar till %s\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"Du måste vara\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"inloggad\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"för att kunna kommentera\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"Inloggad som\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"Logga ut från detta konto\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"Logga ut\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"Namn\"\n\n#: comments.php:93\n#: comments.php:98\nmsgid \"(required)\"\nmsgstr \"(obligatorisk)\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"Ditt namn\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"E-post\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"Din E-post\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"kommer inte att bli publicerad\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"Webbsajt\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"Din webbsajt\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"Din kommentar här...\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"Skicka kommentar\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"Du kan använda dessa taggar\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"Sida %s\"\n\n#: taxonomy-custom_cat.php:22\n#: archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"Kategoriserade inlägg:\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"Skriven\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"av\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"sorterad under\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"Läs mera\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"(Editera)\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"Din kommentar blir modererad.\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"Sök efter:\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"Sök på sajten...\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"Episk 404 - Sidan kan inte hittas\"\n\n#: 404.php:17\nmsgid \"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"Inlägget du letade efter kan inte hittas. Försök igen!\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"Sök resultat för:\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"Läs mera på\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"Taggade inlägg\"\n\n#: archive.php:17\n#: author.php:8\nmsgid \"Posts By:\"\nmsgstr \"Inlägg av:\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"Dagsarkiv\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"Månadsarkiv\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"Årsarkiv\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"Special taggar\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"Tagg\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"Taggar\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"Läs resten av detta inlägg\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"Tyvärr, inga bilagor matchade din förfrågan\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; Äldre inlägg\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"Nyare inlägg &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"superkrafter via\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"Kan inte hittas\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"Tyvärr, det som efterfrågas kan inte hittas på denna sajt.\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"Vänligen aktivera några Widgets.\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"Läs mera &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"Special inläggstyp\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"Special inlägg\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"Lägg till\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"Lägg till ny inläggstyp\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"Editera\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"Editera inläggstyper\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"Ny inläggstyp\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"Se inläggstyp\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"Sök inläggstyp\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"Ingenting kan hittas i databasen\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"Ingenting kan hittas i papperskorgen\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"Det här är ett exempel på inläggstyp\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"Egna kategorier\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"Egen kategori\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"Sök i de egna kategorierna\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"Alla egna kategorier\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"Nedärvd egen kategori\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"Nedärvd egen kategori:\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"Editera egen kategori\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"Uppdatera egen kategori\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"Lägg till ny egen kategori\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"Namn på ny egen kategori\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"Egen tagg\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"Sök egna taggar\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"Alla egna taggar\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"Nedärvd egen tagg\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"Nedärvd egen tagg:\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"Editera egen tagg\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"Uppdatera egen tagg\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"Lägg till ny egen tagg\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"Nytt namn på egen tagg\"\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/translation.php",
    "content": "<?php\n/*\nThanks to the awesome work by JointsWP users, there\nare many languages you can use to translate your theme.\n*/\n\n// Adding Translation Option\nadd_action('after_setup_theme', 'load_translations');\nfunction load_translations(){\n\tload_theme_textdomain( 'jointswp', get_template_directory() .'/assets/translation' );\n}\n?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/assets/translation/zh_CN.po",
    "content": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: wp theme bones\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2012-03-02 22:11+0100\\n\"\n\"PO-Revision-Date: \\n\"\n\"Language-Team: Colt Ma <mumchristmas@gmail.com>\\n\"\n\"Language-Team: fulgor <frag.fulgor@gmail.com>\\n\"\n\"MIME-Version: 1.0\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\n\"\n\"Content-Transfer-Encoding: 8bit\\n\"\n\"X-Poedit-SourceCharset: utf-8\\n\"\n\"X-Poedit-KeywordsList: __;_e;_n\\n\"\n\"X-Poedit-Basepath: /home/fulgor/GIT/bones\\n\"\n\"Last-Translator: Colt Ma <mumchristmas@gmail.com>\\n\"\n\"X-Poedit-Language: Chinese\\n\"\n\"X-Poedit-Country: CHINA\\n\"\n\"X-Poedit-SearchPath-0: /home/fulgor/GIT/bones\\n\"\n\n#: comments.php:12\nmsgid \"This post is password protected. Enter the password to view comments.\"\nmsgstr \"本文已开启密码保护。阅读前请输入密码。\"\n\n#: comments.php:23\nmsgid \"Response\"\nmsgstr \"回复\"\n\n#: comments.php:24\nmsgid \"Responses\"\nmsgstr \"条回复\"\n\n#: comments.php:25\nmsgid \"One\"\nmsgstr \"一个\"\n\n#: comments.php:26\nmsgid \"No\"\nmsgstr \"未\"\n\n#: comments.php:32\nmsgid \"to\"\nmsgstr \"于\"\n\n#: comments.php:59\nmsgid \"Comments are closed.\"\nmsgstr \"评论已关闭\"\n\n#: comments.php:70\nmsgid \"Leave a Reply\"\nmsgstr \"发表评论\"\n\n#: comments.php:70\n#, php-format\nmsgid \"Leave a Reply to %s\"\nmsgstr \"对 %s 发表评论\"\n\n#: comments.php:78\nmsgid \"You must be\"\nmsgstr \"你必须\"\n\n#: comments.php:78\nmsgid \"logged in\"\nmsgstr \"已登录\"\n\n#: comments.php:78\nmsgid \"to post a comment\"\nmsgstr \"发表评论\"\n\n#: comments.php:86\nmsgid \"Logged in as\"\nmsgstr \"用户名：\"\n\n#: comments.php:86\nmsgid \"Log out of this account\"\nmsgstr \"注销此帐户\"\n\n#: comments.php:86\nmsgid \"Log out\"\nmsgstr \"注销\"\n\n#: comments.php:93\nmsgid \"Name\"\nmsgstr \"称谓\"\n\n#: comments.php:93\n#: comments.php:98\nmsgid \"(required)\"\nmsgstr \"（必填项）\"\n\n#: comments.php:94\nmsgid \"Your Name\"\nmsgstr \"您的称谓\"\n\n#: comments.php:98\nmsgid \"Email\"\nmsgstr \"电子邮件\"\n\n#: comments.php:99\nmsgid \"Your Email\"\nmsgstr \"你的电邮\"\n\n#: comments.php:100\nmsgid \"will not be published\"\nmsgstr \"未被发布\"\n\n#: comments.php:104\nmsgid \"Website\"\nmsgstr \"个人网址\"\n\n#: comments.php:105\nmsgid \"Your Website\"\nmsgstr \"个人网页\"\n\n#: comments.php:112\nmsgid \"Your Comment Here...\"\nmsgstr \"请填写评论……\"\n\n#: comments.php:115\nmsgid \"Submit Comment\"\nmsgstr \"提交评论\"\n\n#: comments.php:120\nmsgid \"You can use these tags\"\nmsgstr \"你可以使用这些标签\"\n\n#: header.php:23\n#, php-format\nmsgid \"Page %s\"\nmsgstr \"第 %s 页\"\n\n#: taxonomy-custom_cat.php:22\n#: archive.php:9\nmsgid \"Posts Categorized:\"\nmsgstr \"文章分类：\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"Posted\"\nmsgstr \"发布于\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"by\"\nmsgstr \"作者:\"\n\n#: taxonomy-custom_cat.php:32\n#: embed-post_meta.php:1\n#: single-custom_type.php:30\nmsgid \"filed under\"\nmsgstr \"分类:\"\n\n#: taxonomy-custom_cat.php:41\nmsgid \"Read more\"\nmsgstr \"阅读全文\"\n\n#: functions.php:103\nmsgid \"(Edit)\"\nmsgstr \"【编辑】\"\n\n#: functions.php:107\nmsgid \"Your comment is awaiting moderation.\"\nmsgstr \"您的评论正等待审核\"\n\n#: functions.php:124\nmsgid \"Search for:\"\nmsgstr \"搜索内容：\"\n\n#: functions.php:125\nmsgid \"Search the Site...\"\nmsgstr \"站内搜索\"\n\n#: 404.php:11\nmsgid \"Epic 404 - Article Not Found\"\nmsgstr \"错误 404 － 您所访问的文档似乎并不存在\"\n\n#: 404.php:17\nmsgid \"The article you were looking for was not found, but maybe try looking again!\"\nmsgstr \"您寻找的内容并不存在，要不再找找？\"\n\n#: search.php:7\nmsgid \"Search Results for:\"\nmsgstr \"搜索结果：\"\n\n#: search.php:23\nmsgid \"Read more on\"\nmsgstr \"阅读全文：\"\n\n#: archive.php:13\nmsgid \"Posts Tagged:\"\nmsgstr \"文章标签：\"\n\n#: archive.php:17\n#: author.php:8\nmsgid \"Posts By:\"\nmsgstr \"文章作者：\"\n\n#: archive.php:21\nmsgid \"Daily Archives:\"\nmsgstr \"每日归档：\"\n\n#: archive.php:25\nmsgid \"Monthly Archives:\"\nmsgstr \"月度归档：\"\n\n#: archive.php:29\nmsgid \"Yearly Archives:\"\nmsgstr \"年度归档：\"\n\n#: single-custom_type.php:43\nmsgid \"Custom Tags\"\nmsgstr \"自定义标签\"\n\n#: embed-tags.php:3\nmsgid \"Tag\"\nmsgstr \"标签\"\n\n#: embed-tags.php:3\nmsgid \"Tags\"\nmsgstr \"标签\"\n\n#: image.php:20\nmsgid \"Read the rest of this entry\"\nmsgstr \"阅读剩余内容\"\n\n#: image.php:38\nmsgid \"Sorry, no attachments matched your criteria.\"\nmsgstr \"抱歉，未找到您所需的内容。\"\n\n#: embed-prev_next.php:3\nmsgid \"&laquo; Older Entries\"\nmsgstr \"&laquo; 往期内容\"\n\n#: embed-prev_next.php:4\nmsgid \"Newer Entries &raquo;\"\nmsgstr \"近期内容 &raquo;\"\n\n#: footer.php:9\nmsgid \"is powered by\"\nmsgstr \"基于\"\n\n#: embed-not_found.php:3\nmsgid \"Not Found\"\nmsgstr \"未能找到内容\"\n\n#: embed-not_found.php:6\nmsgid \"Sorry, but the requested resource was not found on this site.\"\nmsgstr \"抱歉，本站未能提供您所寻找的资源。\"\n\n#: sidebar.php:15\nmsgid \"Please activate some Widgets.\"\nmsgstr \"请启用一些小插件\"\n\n#: library/bones.php:52\nmsgid \"Read more &raquo;\"\nmsgstr \"阅读全文 &raquo;\"\n\n#: library/custom-post-type.php:24\nmsgid \"Custom Types\"\nmsgstr \"自定义类型\"\n\n#: library/custom-post-type.php:25\nmsgid \"Custom Post\"\nmsgstr \"自定义文章板式\"\n\n#: library/custom-post-type.php:26\nmsgid \"Add New\"\nmsgstr \"新建\"\n\n#: library/custom-post-type.php:27\nmsgid \"Add New Custom Type\"\nmsgstr \"新建自定义类型\"\n\n#: library/custom-post-type.php:28\nmsgid \"Edit\"\nmsgstr \"编辑\"\n\n#: library/custom-post-type.php:29\nmsgid \"Edit Post Types\"\nmsgstr \"编辑文章类型\"\n\n#: library/custom-post-type.php:30\nmsgid \"New Post Type\"\nmsgstr \"新建文章类型\"\n\n#: library/custom-post-type.php:31\nmsgid \"View Post Type\"\nmsgstr \"查看文章类型\"\n\n#: library/custom-post-type.php:32\nmsgid \"Search Post Type\"\nmsgstr \"搜索文章类型\"\n\n#: library/custom-post-type.php:33\nmsgid \"Nothing found in the Database.\"\nmsgstr \"数据库无内容。\"\n\n#: library/custom-post-type.php:34\nmsgid \"Nothing found in Trash\"\nmsgstr \"垃圾箱无内容\"\n\n#: library/custom-post-type.php:37\nmsgid \"This is the example custom post type\"\nmsgstr \"这是个自定义文章类型的样例\"\n\n#: library/custom-post-type.php:73\nmsgid \"Custom Categories\"\nmsgstr \"自定义分类\"\n\n#: library/custom-post-type.php:74\nmsgid \"Custom Category\"\nmsgstr \"自定义分类\"\n\n#: library/custom-post-type.php:75\nmsgid \"Search Custom Categories\"\nmsgstr \"搜索自定义分类\"\n\n#: library/custom-post-type.php:76\nmsgid \"All Custom Categories\"\nmsgstr \"全部自定义分类\"\n\n#: library/custom-post-type.php:77\nmsgid \"Parent Custom Category\"\nmsgstr \"上级自定义分类\"\n\n#: library/custom-post-type.php:78\nmsgid \"Parent Custom Category:\"\nmsgstr \"上级自定义分类：\"\n\n#: library/custom-post-type.php:79\nmsgid \"Edit Custom Category\"\nmsgstr \"编辑自定义分类\"\n\n#: library/custom-post-type.php:80\nmsgid \"Update Custom Category\"\nmsgstr \"更新自定义分类\"\n\n#: library/custom-post-type.php:81\nmsgid \"Add New Custom Category\"\nmsgstr \"新建自定义分类\"\n\n#: library/custom-post-type.php:82\nmsgid \"New Custom Category Name\"\nmsgstr \"新自定义分类名称\"\n\n#: library/custom-post-type.php:95\nmsgid \"Custom Tag\"\nmsgstr \"自定义标签\"\n\n#: library/custom-post-type.php:96\nmsgid \"Search Custom Tags\"\nmsgstr \"搜索自定义标签\"\n\n#: library/custom-post-type.php:97\nmsgid \"All Custom Tags\"\nmsgstr \"所有自定义标签\"\n\n#: library/custom-post-type.php:98\nmsgid \"Parent Custom Tag\"\nmsgstr \"上级自定义标签\"\n\n#: library/custom-post-type.php:99\nmsgid \"Parent Custom Tag:\"\nmsgstr \"上级自定义标签：\"\n\n#: library/custom-post-type.php:100\nmsgid \"Edit Custom Tag\"\nmsgstr \"编辑自定义标签\"\n\n#: library/custom-post-type.php:101\nmsgid \"Update Custom Tag\"\nmsgstr \"更新自定义标签\"\n\n#: library/custom-post-type.php:102\nmsgid \"Add New Custom Tag\"\nmsgstr \"新建自定义标签\"\n\n#: library/custom-post-type.php:103\nmsgid \"New Custom Tag Name\"\nmsgstr \"新自定义标签名称\"\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/comments.php",
    "content": "<?php\n\tif ( post_password_required() ) {\n\t\treturn;\n\t}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php // You can start editing here ?>\n\n\t<?php if ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One comment on &ldquo;%2$s&rdquo;', '%1$s comments on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'jointswp' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2>\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_htmlesc_html_e( 'Comment navigation', 'jointswp' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'jointswp' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'jointswp' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"commentlist\">\n\t\t\t<?php wp_list_comments('type=comment&callback=joints_comments'); ?>\n\t\t</ol>\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_htmlesc_html_e( 'Comment navigation', 'jointswp' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'jointswp' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'jointswp' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t<?php endif; // Check for have_comments(). ?>\n\n\t<?php\n\t\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\t\tif ( ! comments_open() && '0' != get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) :\n\t?>\n\t\t<p class=\"no-comments\"><?php esc_htmlesc_html_e( 'Comments are closed.', 'jointswp' ); ?></p>\n\t<?php endif; ?>\n\n\t<?php comment_form(array('class_submit'=>'button')); ?>\n\n</div><!-- #comments -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/footer.php",
    "content": "\t\t\t\t<footer class=\"footer\" role=\"contentinfo\">\n\t\t\t\t\t<div id=\"inner-footer\" class=\"row\">\n\t\t\t\t\t\t<div class=\"large-12 medium-12 columns\">\n\t\t\t\t\t\t\t<nav role=\"navigation\">\n\t    \t\t\t\t\t\t<?php joints_footer_links(); ?>\n\t    \t\t\t\t\t</nav>\n\t    \t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"large-12 medium-12 columns\">\n\t\t\t\t\t\t\t<p class=\"source-org copyright\">&copy; <?php echo date('Y'); ?> <?php bloginfo('name'); ?>.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div> <!-- end #inner-footer -->\n\t\t\t\t</footer> <!-- end .footer -->\n\t\t\t</div>  <!-- end .main-content -->\n\t\t</div> <!-- end .off-canvas-wrapper -->\n\t\t<?php wp_footer(); ?>\n\t</body>\n</html> <!-- end page -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/functions.php",
    "content": "<?php\n// Theme support options\nrequire_once(get_template_directory().'/assets/functions/theme-support.php'); \n\n// WP Head and other cleanup functions\nrequire_once(get_template_directory().'/assets/functions/cleanup.php'); \n\n// Register scripts and stylesheets\nrequire_once(get_template_directory().'/assets/functions/enqueue-scripts.php'); \n\n// Register custom menus and menu walkers\nrequire_once(get_template_directory().'/assets/functions/menu.php'); \n\n// Register sidebars/widget areas\nrequire_once(get_template_directory().'/assets/functions/sidebar.php'); \n\n// Makes WordPress comments suck less\nrequire_once(get_template_directory().'/assets/functions/comments.php'); \n\n// Replace 'older/newer' post links with numbered navigation\nrequire_once(get_template_directory().'/assets/functions/page-navi.php'); \n\n// Adds support for multiple languages\nrequire_once(get_template_directory().'/assets/translation/translation.php'); \n\n\n// Remove 4.2 Emoji Support\n// require_once(get_template_directory().'/assets/functions/disable-emoji.php'); \n\n// Adds site styles to the WordPress editor\n//require_once(get_template_directory().'/assets/functions/editor-styles.php'); \n\n// Related post function - no need to rely on plugins\n// require_once(get_template_directory().'/assets/functions/related-posts.php'); \n\n// Use this as a template for custom post types\n// require_once(get_template_directory().'/assets/functions/custom-post-type.php');\n\n// Customize the WordPress login menu\n// require_once(get_template_directory().'/assets/functions/login.php'); \n\n// Customize the WordPress admin\n// require_once(get_template_directory().'/assets/functions/admin.php'); "
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/gulpfile.js",
    "content": "// Grab our gulp packages\nvar gulp  = require('gulp'),\n    gutil = require('gulp-util'),\n    sass = require('gulp-sass'),\n    cssnano = require('gulp-cssnano'),\n    autoprefixer = require('gulp-autoprefixer'),\n    sourcemaps = require('gulp-sourcemaps'),\n    jshint = require('gulp-jshint'),\n    stylish = require('jshint-stylish'),\n    uglify = require('gulp-uglify'),\n    concat = require('gulp-concat'),\n    rename = require('gulp-rename'),\n    plumber = require('gulp-plumber'),\n    bower = require('gulp-bower'),\n    babel = require('gulp-babel'),\n    browserSync = require('browser-sync').create();\n\n// Compile Sass, Autoprefix and minify\ngulp.task('styles', function() {\n    return gulp.src('./assets/scss/**/*.scss')\n        .pipe(plumber(function(error) {\n            gutil.log(gutil.colors.red(error.message));\n            this.emit('end');\n        }))\n        .pipe(sourcemaps.init()) // Start Sourcemaps\n        .pipe(sass())\n        .pipe(autoprefixer({\n            browsers: ['last 2 versions'],\n            cascade: false\n        }))\n        .pipe(gulp.dest('./assets/css/'))\n        .pipe(rename({suffix: '.min'}))\n        .pipe(cssnano())\n        .pipe(sourcemaps.write('.')) // Creates sourcemaps for minified styles\n        .pipe(gulp.dest('./assets/css/'))\n});\n    \n// JSHint, concat, and minify JavaScript\ngulp.task('site-js', function() {\n  return gulp.src([\t\n\t  \n           // Grab your custom scripts\n  \t\t  './assets/js/scripts/*.js'\n  \t\t  \n  ])\n    .pipe(plumber())\n    .pipe(sourcemaps.init())\n    .pipe(jshint())\n    .pipe(jshint.reporter('jshint-stylish'))\n    .pipe(concat('scripts.js'))\n    .pipe(gulp.dest('./assets/js'))\n    .pipe(rename({suffix: '.min'}))\n    .pipe(uglify())\n    .pipe(sourcemaps.write('.')) // Creates sourcemap for minified JS\n    .pipe(gulp.dest('./assets/js'))\n});    \n\n// JSHint, concat, and minify Foundation JavaScript\ngulp.task('foundation-js', function() {\n  return gulp.src([\t\n  \t\t  \n  \t\t  // Foundation core - needed if you want to use any of the components below\n          './vendor/foundation-sites/js/foundation.core.js',\n          './vendor/foundation-sites/js/foundation.util.*.js',\n          \n          // Pick the components you need in your project\n          './vendor/foundation-sites/js/foundation.abide.js',\n          './vendor/foundation-sites/js/foundation.accordion.js',\n          './vendor/foundation-sites/js/foundation.accordionMenu.js',\n          './vendor/foundation-sites/js/foundation.drilldown.js',\n          './vendor/foundation-sites/js/foundation.dropdown.js',\n          './vendor/foundation-sites/js/foundation.dropdownMenu.js',\n          './vendor/foundation-sites/js/foundation.equalizer.js',\n          './vendor/foundation-sites/js/foundation.interchange.js',\n          './vendor/foundation-sites/js/foundation.magellan.js',\n          './vendor/foundation-sites/js/foundation.offcanvas.js',\n          './vendor/foundation-sites/js/foundation.orbit.js',\n          './vendor/foundation-sites/js/foundation.responsiveMenu.js',\n          './vendor/foundation-sites/js/foundation.responsiveToggle.js',\n          './vendor/foundation-sites/js/foundation.reveal.js',\n          './vendor/foundation-sites/js/foundation.slider.js',\n          './vendor/foundation-sites/js/foundation.sticky.js',\n          './vendor/foundation-sites/js/foundation.tabs.js',\n          './vendor/foundation-sites/js/foundation.toggler.js',\n          './vendor/foundation-sites/js/foundation.tooltip.js',\n  ])\n\t.pipe(babel({\n\t\tpresets: ['es2015'],\n\t    compact: true\n\t}))\n    .pipe(sourcemaps.init())\n    .pipe(concat('foundation.js'))\n    .pipe(gulp.dest('./assets/js'))\n    .pipe(rename({suffix: '.min'}))\n    .pipe(uglify())\n    .pipe(sourcemaps.write('.')) // Creates sourcemap for minified Foundation JS\n    .pipe(gulp.dest('./assets/js'))\n}); \n\n// Update Foundation with Bower and save to /vendor\ngulp.task('bower', function() {\n  return bower({ cmd: 'update'})\n    .pipe(gulp.dest('vendor/'))\n});  \n\n// Browser-Sync watch files and inject changes\ngulp.task('browsersync', function() {\n    // Watch files\n    var files = [\n    \t'./assets/css/*.css', \n    \t'./assets/js/*.js',\n    \t'**/*.php',\n    \t'assets/images/**/*.{png,jpg,gif,svg,webp}',\n    ];\n\n    browserSync.init(files, {\n\t    // Replace with URL of your local site\n\t    proxy: \"http://localhost/\",\n    });\n    \n    gulp.watch('./assets/scss/**/*.scss', ['styles']);\n    gulp.watch('./assets/js/scripts/*.js', ['site-js']).on('change', browserSync.reload);\n\n});\n\n// Watch files for changes (without Browser-Sync)\ngulp.task('watch', function() {\n\n  // Watch .scss files\n  gulp.watch('./assets/scss/**/*.scss', ['styles']);\n\n  // Watch site-js files\n  gulp.watch('./assets/js/scripts/*.js', ['site-js']);\n  \n  // Watch foundation-js files\n  gulp.watch('./vendor/foundation-sites/js/*.js', ['foundation-js']);\n\n}); \n\n// Run styles, site-js and foundation-js\ngulp.task('default', function() {\n  gulp.start('styles', 'site-js', 'foundation-js');\n});\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/header.php",
    "content": "<!doctype html>\n\n  <html class=\"no-js\"  <?php language_attributes(); ?>>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t\n\t\t<!-- Force IE to use the latest rendering engine available -->\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\n\t\t<!-- Mobile Meta -->\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\t\t<meta class=\"foundation-mq\">\n\t\t\n\t\t<!-- If Site Icon isn't set in customizer -->\n\t\t<?php if ( ! function_exists( 'has_site_icon' ) || ! has_site_icon() ) { ?>\n\t\t\t<!-- Icons & Favicons -->\n\t\t\t<link rel=\"icon\" href=\"<?php echo get_template_directory_uri(); ?>/favicon.png\">\n\t\t\t<link href=\"<?php echo get_template_directory_uri(); ?>/assets/images/apple-icon-touch.png\" rel=\"apple-touch-icon\" />\n\t\t\t<!--[if IE]>\n\t\t\t\t<link rel=\"shortcut icon\" href=\"<?php echo get_template_directory_uri(); ?>/favicon.ico\">\n\t\t\t<![endif]-->\n\t\t\t<meta name=\"msapplication-TileColor\" content=\"#f01d4f\">\n\t\t\t<meta name=\"msapplication-TileImage\" content=\"<?php echo get_template_directory_uri(); ?>/assets/images/win8-tile-icon.png\">\n\t    \t<meta name=\"theme-color\" content=\"#121212\">\n\t    <?php } ?>\n\n\t\t<link rel=\"pingback\" href=\"<?php bloginfo('pingback_url'); ?>\">\n\n\t\t<?php wp_head(); ?>\n\n\t\t<!-- Drop Google Analytics here -->\n\t\t<!-- end analytics -->\n\n\t</head>\n\t\n\t<!-- Uncomment this line if using the Off-Canvas Menu --> \n\t\t\n\t<body <?php body_class(); ?>>\n\n\t\t<div class=\"off-canvas-wrapper\">\n\t\t\t\t\t\t\t\n\t\t\t<?php get_template_part( 'parts/content', 'offcanvas' ); ?>\n\t\t\t\n\t\t\t<div class=\"off-canvas-content\" data-off-canvas-content>\n\t\t\t\t\n\t\t\t\t<header class=\"header\" role=\"banner\">\n\t\t\t\t\t\t\n\t\t\t\t\t <!-- This navs will be applied to the topbar, above all content \n\t\t\t\t\t\t  To see additional nav styles, visit the /parts directory -->\n\t\t\t\t\t <?php get_template_part( 'parts/nav', 'offcanvas-topbar' ); ?>\n\t \t\n\t\t\t\t</header> <!-- end .header -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/index.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\t\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t    <main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n\t\t    \n\t\t\t    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\t \n\t\t\t\t\t<!-- To see additional archive styles, visit the /parts directory -->\n\t\t\t\t\t<?php get_template_part( 'parts/loop', 'archive' ); ?>\n\t\t\t\t    \n\t\t\t\t<?php endwhile; ?>\t\n\n\t\t\t\t\t<?php joints_page_navi(); ?>\n\t\t\t\t\t\n\t\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\t\t\t\t\t\t\n\t\t\t\t<?php endif; ?>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t    </main> <!-- end #main -->\n\t\t    \n\t\t    <?php get_sidebar(); ?>\n\n\t\t</div> <!-- end #inner-content -->\n\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/package.json",
    "content": "{\n  \"name\": \"JointsWP-sass\",\n  \"version\": \"4.0.0\",\n  \"description\": \"A WordPress starter theme using Foundation 6\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/JeremyEnglert/JointsWP.git\"\n  },\n  \"author\": \"Jeremy Englert\",\n  \"license\": \"GPL-2.0 AND MIT\",\n  \"homepage\": \"https://github.com/JeremyEnglert/JointsWP\",\n  \"devDependencies\": {\n    \"babel-preset-es2015\": \"^6.5.0\",\n    \"browser-sync\": \"^2.11.0\",\n    \"gulp\": \"^3.9.0\",\n    \"gulp-autoprefixer\": \"^2.3.1\",\n    \"gulp-babel\": \"^6.1.2\",\n    \"gulp-bower\": \"0.0.10\",\n    \"gulp-concat\": \"^2.5.2\",\n    \"gulp-cssnano\": \"^2.1.1\",\n    \"gulp-jshint\": \"^1.11.0\",\n    \"gulp-plumber\": \"^1.0.1\",\n    \"gulp-rename\": \"^1.2.2\",\n    \"gulp-sass\": \"^2.0.1\",\n    \"gulp-sourcemaps\": \"^1.6.0\",\n    \"gulp-uglify\": \"^1.2.0\",\n    \"gulp-util\": \"^3.0.5\",\n    \"jshint-stylish\": \"^2.0.0\"\n  }\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/page.php",
    "content": "<?php get_header(); ?>\n\t\n\t<div id=\"content\">\n\t\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t    <main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n\t\t\t\t\n\t\t\t\t<?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\n\t\t\t    \t<?php get_template_part( 'parts/loop', 'page' ); ?>\n\t\t\t    \n\t\t\t    <?php endwhile; endif; ?>\t\t\t\t\t\t\t\n\t\t\t    \t\t\t\t\t\n\t\t\t</main> <!-- end #main -->\n\n\t\t    <?php get_sidebar(); ?>\n\t\t    \n\t\t</div> <!-- end #inner-content -->\n\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/content-byline.php",
    "content": "<p class=\"byline\">\n\tPosted on <?php the_time('F j, Y') ?> by <?php the_author_posts_link(); ?>  - <?php the_category(', ') ?>\n</p>\t"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/content-missing.php",
    "content": "<div id=\"post-not-found\" class=\"hentry\">\n\t\n\t<?php if ( is_search() ) : ?>\n\t\t\n\t\t<header class=\"article-header\">\n\t\t\t<h1><?php esc_html_e( 'Sorry, No Results.', 'jointswp' );?></h1>\n\t\t</header>\n\t\t\n\t\t<section class=\"entry-content\">\n\t\t\t<p><?php esc_html_e( 'Try your search again.', 'jointswp' );?></p>\n\t\t</section>\n\t\t\n\t\t<section class=\"search\">\n\t\t    <p><?php get_search_form(); ?></p>\n\t\t</section> <!-- end search section -->\n\t\t\n\t\t<footer class=\"article-footer\">\n\t\t\t<p><?php esc_html_e( 'This is the error message in the parts/content-missing.php template.', 'jointswp' ); ?></p>\n\t\t</footer>\n\t\t\n\t<?php else: ?>\n\t\n\t\t<header class=\"article-header\">\n\t\t\t<h1><?php esc_html_e( 'Oops, Post Not Found!', 'jointswp' ); ?></h1>\n\t\t</header>\n\t\t\n\t\t<section class=\"entry-content\">\n\t\t\t<p><?php esc_html_e( 'Uh Oh. Something is missing. Try double checking things.', 'jointswp' ); ?></p>\n\t\t</section>\n\t\t\n\t\t<section class=\"search\">\n\t\t    <p><?php get_search_form(); ?></p>\n\t\t</section> <!-- end search section -->\n\t\t\n\t\t<footer class=\"article-footer\">\n\t\t  <p><?php esc_html_e( 'This is the error message in the parts/content-missing.php template.', 'jointswp' ); ?></p>\n\t\t</footer>\n\t\t\t\n\t<?php endif; ?>\n\t\n</div>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/content-offcanvas.php",
    "content": "<div class=\"off-canvas position-right\" id=\"off-canvas\" data-off-canvas>\n\t<?php joints_off_canvas_nav(); ?>\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/loop-archive-grid.php",
    "content": "<?php \n// Adjust the amount of rows in the grid\n$grid_columns = 4; ?>\n\n<?php if( 0 === ( $wp_query->current_post  )  % $grid_columns ): ?>\n\n    <div class=\"row archive-grid\" data-equalizer> <!--Begin Row:--> \n\n<?php endif; ?> \n\n\t\t<!--Item: -->\n\t\t<div class=\"large-3 medium-3 columns panel\" data-equalizer-watch>\n\t\t\n\t\t\t<article id=\"post-<?php the_ID(); ?>\" <?php post_class(''); ?> role=\"article\">\n\t\t\t\n\t\t\t\t<section class=\"featured-image\" itemprop=\"articleBody\">\n\t\t\t\t\t<?php the_post_thumbnail('full'); ?>\n\t\t\t\t</section> <!-- end article section -->\n\t\t\t\n\t\t\t\t<header class=\"article-header\">\n\t\t\t\t\t<h3 class=\"title\"><a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"<?php the_title_attribute(); ?>\"><?php the_title(); ?></a></h3>\t\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'byline' ); ?>\t\t\t\t\n\t\t\t\t</header> <!-- end article header -->\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t<section class=\"entry-content\" itemprop=\"articleBody\">\n\t\t\t\t\t<?php the_content('<button class=\"tiny\">' . __( 'Read more...', 'jointswp' ) . '</button>'); ?> \n\t\t\t\t</section> <!-- end article section -->\n\t\t\t\t\t\t\t\t    \t\t\t\t\t\t\t\n\t\t\t</article> <!-- end article -->\n\t\t\t\n\t\t</div>\n\n<?php if( 0 === ( $wp_query->current_post + 1 )  % $grid_columns ||  ( $wp_query->current_post + 1 ) ===  $wp_query->post_count ): ?>\n\n   </div>  <!--End Row: --> \n\n<?php endif; ?>\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/loop-archive.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" <?php post_class(''); ?> role=\"article\">\t\t\t\t\t\n\t<header class=\"article-header\">\n\t\t<h2><a href=\"<?php the_permalink() ?>\" rel=\"bookmark\" title=\"<?php the_title_attribute(); ?>\"><?php the_title(); ?></a></h2>\n\t\t<?php get_template_part( 'parts/content', 'byline' ); ?>\n\t</header> <!-- end article header -->\n\t\t\t\t\t\n\t<section class=\"entry-content\" itemprop=\"articleBody\">\n\t\t<a href=\"<?php the_permalink() ?>\"><?php the_post_thumbnail('full'); ?></a>\n\t\t<?php the_content('<button class=\"tiny\">' . __( 'Read more...', 'jointswp' ) . '</button>'); ?>\n\t</section> <!-- end article section -->\n\t\t\t\t\t\t\n\t<footer class=\"article-footer\">\n    \t<p class=\"tags\"><?php the_tags('<span class=\"tags-title\">' . __('Tags:', 'jointstheme') . '</span> ', ', ', ''); ?></p>\n\t</footer> <!-- end article footer -->\t\t\t\t    \t\t\t\t\t\t\n</article> <!-- end article -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/loop-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" <?php post_class(''); ?> role=\"article\" itemscope itemtype=\"http://schema.org/WebPage\">\n\t\t\t\t\t\t\n\t<header class=\"article-header\">\n\t\t<h1 class=\"page-title\"><?php the_title(); ?></h1>\n\t</header> <!-- end article header -->\n\t\t\t\t\t\n    <section class=\"entry-content\" itemprop=\"articleBody\">\n\t    <?php the_content(); ?>\n\t    <?php wp_link_pages(); ?>\n\t</section> <!-- end article section -->\n\t\t\t\t\t\t\n\t<footer class=\"article-footer\">\n\t\t\n\t</footer> <!-- end article footer -->\n\t\t\t\t\t\t    \n\t<?php comments_template(); ?>\n\t\t\t\t\t\n</article> <!-- end article -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/loop-single.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" <?php post_class(''); ?> role=\"article\" itemscope itemtype=\"http://schema.org/BlogPosting\">\n\t\t\t\t\t\t\n\t<header class=\"article-header\">\t\n\t\t<h1 class=\"entry-title single-title\" itemprop=\"headline\"><?php the_title(); ?></h1>\n\t\t<?php get_template_part( 'parts/content', 'byline' ); ?>\n    </header> <!-- end article header -->\n\t\t\t\t\t\n    <section class=\"entry-content\" itemprop=\"articleBody\">\n\t\t<?php the_post_thumbnail('full'); ?>\n\t\t<?php the_content(); ?>\n\t</section> <!-- end article section -->\n\t\t\t\t\t\t\n\t<footer class=\"article-footer\">\n\t\t<?php wp_link_pages( array( 'before' => '<div class=\"page-links\">' . esc_html__( 'Pages:', 'jointswp' ), 'after'  => '</div>' ) ); ?>\n\t\t<p class=\"tags\"><?php the_tags('<span class=\"tags-title\">' . __( 'Tags:', 'jointswp' ) . '</span> ', ', ', ''); ?></p>\t\n\t</footer> <!-- end article footer -->\n\t\t\t\t\t\t\n\t<?php comments_template(); ?>\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n</article> <!-- end article -->"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/nav-offcanvas-topbar.php",
    "content": "<!-- By default, this menu will use off-canvas for small\n\t and a topbar for medium-up -->\n\n<div class=\"top-bar\" id=\"top-bar-menu\">\n\t<div class=\"top-bar-left float-left\">\n\t\t<ul class=\"menu\">\n\t\t\t<li><a href=\"<?php echo home_url(); ?>\"><?php bloginfo('name'); ?></a></li>\n\t\t</ul>\n\t</div>\n\t<div class=\"top-bar-right show-for-medium\">\n\t\t<?php joints_top_nav(); ?>\t\n\t</div>\n\t<div class=\"top-bar-right float-right show-for-small-only\">\n\t\t<ul class=\"menu\">\n\t\t\t<!-- <li><button class=\"menu-icon\" type=\"button\" data-toggle=\"off-canvas\"></button></li> -->\n\t\t\t<li><a data-toggle=\"off-canvas\"><?php esc_html_e( 'Menu', 'jointswp' ); ?></a></li>\n\t\t</ul>\n\t</div>\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/nav-offcanvas.php",
    "content": "<div class=\"top-bar\" id=\"top-bar-menu\">\n\t<div class=\"top-bar-left\">\n\t\t<ul class=\"menu\">\n\t\t\t<li><a href=\"<?php echo home_url(); ?>\"><?php bloginfo('name'); ?></a></li>\n\t\t</ul>\n\t</div>\n\t<div class=\"top-bar-right\">\n\t\t<ul class=\"menu\">\n\t\t\t<!-- <li><button class=\"menu-icon\" type=\"button\" data-toggle=\"off-canvas\"></button></li> -->\n\t\t\t<li><a data-toggle=\"off-canvas\"><?php esc_html_e( 'Menu', 'jointswp' ); ?></a></li>\n\t\t</ul>\n\t</div>\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/nav-title-bar.php",
    "content": "<?php\n// Adjust the breakpoint of the title-bar by adjusting this variable\n$breakpoint = \"medium\"; ?>\n\n<div class=\"title-bar\" data-responsive-toggle=\"top-bar-menu\" data-hide-for=\"<?php echo $breakpoint ?>\">\n  <button class=\"menu-icon\" type=\"button\" data-toggle></button>\n  <div class=\"title-bar-title\"><?php esc_html_e( 'Menu', 'jointswp' ); ?></div>\n</div>\n\n<div class=\"top-bar\" id=\"top-bar-menu\">\n\t<div class=\"top-bar-left show-for-<?php echo $breakpoint ?>\">\n\t\t<ul class=\"menu\">\n\t\t\t<li><a href=\"<?php echo home_url(); ?>\"><?php bloginfo('name'); ?></a></li>\n\t\t</ul>\n\t</div>\n\t<div class=\"top-bar-right\">\n\t\t<?php joints_top_nav(); ?>\n\t</div>\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/parts/nav-topbar.php",
    "content": "<div class=\"top-bar\" id=\"main-menu\">\n\t<div class=\"top-bar-left\">\n\t\t<ul class=\"menu\">\n\t\t\t<li><a href=\"<?php echo home_url(); ?>\"><?php bloginfo('name'); ?></a></li>\n\t\t</ul>\n\t</div>\n\t<div class=\"top-bar-right\">\n\t\t<?php joints_top_nav(); ?>\n\t</div>\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/search.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t\t<main id=\"main\" class=\"large-8 medium-8 columns first\" role=\"main\">\n\t\t\t\t<header>\n\t\t\t\t\t<h1 class=\"archive-title\"><?php esc_html_e( 'Search Results for:', 'jointswp' ); ?> <?php echo esc_attr(get_search_query()); ?></h1>\n\t\t\t\t</header>\n\n\t\t\t\t<?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\t \n\t\t\t\t\t<!-- To see additional archive styles, visit the /parts directory -->\n\t\t\t\t\t<?php get_template_part( 'parts/loop', 'archive' ); ?>\n\t\t\t\t    \n\t\t\t\t<?php endwhile; ?>\t\n\n\t\t\t\t\t<?php joints_page_navi(); ?>\n\t\t\t\t\t\n\t\t\t\t<?php else : ?>\n\t\t\t\t\n\t\t\t\t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\t\t\t\t\t\t\n\t\t\t    <?php endif; ?>\n\t\n\t\t    </main> <!-- end #main -->\n\t\t\n\t\t    <?php get_sidebar(); ?>\n\t\t\n\t\t</div> <!-- end #inner-content -->\n\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/searchform.php",
    "content": "<form role=\"search\" method=\"get\" class=\"search-form\" action=\"<?php echo home_url( '/' ); ?>\">\n\t<label>\n\t\t<span class=\"screen-reader-text\"><?php echo _x( 'Search for:', 'label', 'jointswp' ) ?></span>\n\t\t<input type=\"search\" class=\"search-field\" placeholder=\"<?php echo esc_attr_x( 'Search...', 'jointswp' ) ?>\" value=\"<?php echo get_search_query() ?>\" name=\"s\" title=\"<?php echo esc_attr_x( 'Search for:', 'jointswp' ) ?>\" />\n\t</label>\n\t<input type=\"submit\" class=\"search-submit button\" value=\"<?php echo esc_attr_x( 'Search', 'jointswp' ) ?>\" />\n</form>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/sidebar.php",
    "content": "<div id=\"sidebar1\" class=\"sidebar large-4 medium-4 columns\" role=\"complementary\">\n\n\t<?php if ( is_active_sidebar( 'sidebar1' ) ) : ?>\n\n\t\t<?php dynamic_sidebar( 'sidebar1' ); ?>\n\n\t<?php else : ?>\n\n\t<!-- This content shows up if there are no widgets defined in the backend. -->\n\t\t\t\t\t\t\n\t<div class=\"alert help\">\n\t\t<p><?php esc_html_e( 'Please activate some Widgets.', 'jointswp' );  ?></p>\n\t</div>\n\n\t<?php endif; ?>\n\n</div>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/single-custom_type.php",
    "content": "<?php\n/*\nThis is the custom post type post template.\nIf you edit the post type name, you've got\nto change the name of this template to\nreflect that name change.\n\ni.e. if your custom post type is called\nregister_post_type( 'bookmarks',\nthen your single template should be\nsingle-bookmarks.php\n\n*/\n?>\n\n<?php get_header(); ?>\n\t\t\t\n<div id=\"content\">\n\n\t<div id=\"inner-content\" class=\"row\">\n\n\t\t<main id=\"main\" class=\"large-8 medium-8 columns first\" role=\"main\">\n\t\t\n\t\t    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\n\t\t    \t<?php get_template_part( 'parts/loop', 'single' ); ?>\n\t\t    \t\t\t\t\t\n\t\t    <?php endwhile; else : ?>\n\t\t\n\t\t   \t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\n\t\t    <?php endif; ?>\n\n\t\t</main> <!-- end #main -->\n\n\t\t<?php get_sidebar(); ?>\n\n\t</div> <!-- end #inner-content -->\n\n</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/single.php",
    "content": "<?php get_header(); ?>\n\t\t\t\n<div id=\"content\">\n\n\t<div id=\"inner-content\" class=\"row\">\n\n\t\t<main id=\"main\" class=\"large-8 medium-8 columns\" role=\"main\">\n\t\t\n\t\t    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t\n\t\t    \t<?php get_template_part( 'parts/loop', 'single' ); ?>\n\t\t    \t\n\t\t    <?php endwhile; else : ?>\n\t\t\n\t\t   \t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\n\t\t    <?php endif; ?>\n\n\t\t</main> <!-- end #main -->\n\n\t\t<?php get_sidebar(); ?>\n\n\t</div> <!-- end #inner-content -->\n\n</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/style.css",
    "content": "/******************************************************************\nTheme Name: JointsWP Starter Theme\nTheme URI: http://www.jointswp.com\nDescription: Demo site for Zac Gordon's WordPress Development Course.\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nVersion: 4.0\nLicense: GNU General Public License & MIT\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\n******************************************************************/\n\n/*\n\nThis file isn't loaded by WordPress.\nMake your changes to assets/css/style.css\n\n*/\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/taxonomy-custom_cat.php",
    "content": "<?php\n/*\nThis is the custom post type taxonomy template.\nIf you edit the custom taxonomy name, you've got\nto change the name of this template to\nreflect that name change.\n\ni.e. if your custom taxonomy is called\nregister_taxonomy( 'shoes',\nthen your single template should be\ntaxonomy-shoes.php\n\n*/\n?>\n\n<?php get_header(); ?>\n\t\t\t\n<div id=\"content\">\n\n\t<div id=\"inner-content\" class=\"row\">\n\n\t    <main id=\"main\" class=\"large-8 medium-8 columns first\" role=\"main\">\n\t\n\t\t    <header>\n\t\t    \t<h1 class=\"page-title\"><span><?php esc_html_e( 'Posts Categorized:', 'jointswp' ); ?></span> <?php single_cat_title(); ?></h1>\n\t\t    </header>\n\n\t\t\t<?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\t\t \n\t\t\t\t<!-- To see additional archive styles, visit the /parts directory -->\n\t\t\t\t<?php get_template_part( 'parts/loop', 'archive' ); ?>\n\t\t\t    \n\t\t\t<?php endwhile; ?>\t\n\n\t\t\t\t<?php joints_page_navi(); ?>\n\t\t\t\t\n\t\t\t<?php else : ?>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t<?php get_template_part( 'parts/content', 'missing' ); ?>\n\t\t\t\t\t\n\t\t\t<?php endif; ?>\n\n\t    </main> <!-- end #main -->\n\n\t    <?php get_sidebar(); ?>\n\t    \n\t</div> <!-- end #inner-content -->\n\n</div> <!-- end #content -->\n\n<?php get_footer(); ?>"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/template-full-width.php",
    "content": "<?php\n/*\nTemplate Name: Full Width (No Sidebar)\n*/\n?>\n\n<?php get_header(); ?>\n\t\t\t\n\t<div id=\"content\">\n\t\n\t\t<div id=\"inner-content\" class=\"row\">\n\t\n\t\t    <main id=\"main\" class=\"large-12 medium-12 columns\" role=\"main\">\n\t\t\t\t\n\t\t\t\t<?php if (have_posts()) : while (have_posts()) : the_post(); ?>\n\n\t\t\t\t\t<?php get_template_part( 'parts/loop', 'page' ); ?>\n\t\t\t\t\t\n\t\t\t\t<?php endwhile; endif; ?>\t\t\t\t\t\t\t\n\n\t\t\t</main> <!-- end #main -->\n\t\t    \n\t\t</div> <!-- end #inner-content -->\n\t\n\t</div> <!-- end #content -->\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.bower.json",
    "content": "{\n  \"name\": \"foundation-sites\",\n  \"version\": \"6.3.0\",\n  \"license\": \"MIT\",\n  \"main\": [\n    \"scss/foundation.scss\",\n    \"dist/js/foundation.js\"\n  ],\n  \"ignore\": [\n    \"config\",\n    \"docs\",\n    \"gulp\",\n    \"lib\",\n    \"test\",\n    \"composer.json\",\n    \"CONTRIBUTING.md\",\n    \"gulpfile.js\",\n    \"meteor-README.md\",\n    \"package.js\",\n    \"package.json\",\n    \"sache.json\",\n    \".editorconfig\",\n    \".npm\",\n    \".gitignore\",\n    \".npmignore\",\n    \".versions\",\n    \".babelrc\",\n    \"yarn.lock\"\n  ],\n  \"dependencies\": {\n    \"jquery\": \"~2.2.0\",\n    \"what-input\": \"~4.0.3\"\n  },\n  \"homepage\": \"https://github.com/zurb/foundation-sites\",\n  \"_release\": \"6.3.0\",\n  \"_resolution\": {\n    \"type\": \"version\",\n    \"tag\": \"v6.3.0\",\n    \"commit\": \"60566d1539325783ac3002ab5282a2b446a2c1a1\"\n  },\n  \"_source\": \"https://github.com/zurb/foundation-sites.git\",\n  \"_target\": \">=6.1\",\n  \"_originalSource\": \"foundation-sites\"\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.bowerrc",
    "content": "{\n  \"directory\": \"bower_components\"\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.eslintrc",
    "content": "{\n  \"ecmaVersion\": 6,\n  \"env\": {\n    \"browser\": true,\n    \"builtin\": true,\n    \"es6\": true,\n    \"jasmine\": true,\n    \"jquery\": true,\n    \"mocha\": true,\n    \"node\": true\n  },\n  \"globals\": {\n    \"Foundation\": true\n    },\n  \"parserOptions\": {\n    \"ecmaFeatures\": {\n      \"impliedStrict\": true,\n      \"jsx\": false\n    },\n    \"ecmaVersion\": 6,\n    \"sourceType\": \"module\"\n  },\n  \"rules\": {\n    \"block-scoped-var\": 2,\n    \"camelcase\": 2,\n    \"comma-style\": [2, \"last\"],\n    \"curly\": [0, \"all\"],\n    \"dot-notation\": [\n      2,\n      {\n        \"allowKeywords\": true\n      }\n    ],\n    \"eqeqeq\": [2, \"allow-null\"],\n    \"guard-for-in\": 2,\n    \"new-cap\": 2,\n    \"no-bitwise\": 2,\n    \"no-caller\": 2,\n    \"no-cond-assign\": [2, \"except-parens\"],\n    \"no-debugger\": 2,\n    \"no-empty\": 2,\n    \"no-eval\": 2,\n    \"no-extend-native\": 2,\n    \"no-extra-parens\": 1,\n    \"no-irregular-whitespace\": 2,\n    \"no-iterator\": 2,\n    \"no-loop-func\": 2,\n    \"no-multi-str\": 2,\n    \"no-new\": 2,\n    \"no-plusplus\": 0,\n    \"no-proto\": 2,\n    \"no-script-url\": 2,\n    \"no-sequences\": 2,\n    \"no-shadow\": 1,\n    \"no-undef\": 2,\n    \"no-unused-vars\": 1,\n    \"no-with\": 2,\n    \"quotes\": 0,\n    \"semi\": [0, \"never\"],\n    \"strict\": [1, \"global\"],\n    \"valid-typeof\": 2,\n    \"wrap-iife\": [2, \"inside\"]\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.github/ISSUE_TEMPLATE.md",
    "content": "<!-- Please only file bugs with Foundation on GitHub. If you've got a more general question about how to use Foundation, we can help you on the Foundation Forum: http://foundation.zurb.com/forum -->\n\n**How can we reproduce this bug?**\n\n1. Step one\n2. Step two\n3. Step three\n\n**What did you expect to happen?**\n\n**What happened instead?**\n\n**Test case:**\n\nGive us a link to a CodePen or JSFiddle that recreates the issue.\n\n- [CodePen with Foundation 6 and MotionUI](http://codepen.io/rafibomb/pen/xVVGOB)\n- [CodePen with Foundation 6, Flexbox grid and MotionUI](http://codepen.io/rafibomb/pen/jqqPra)\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.github/PULL_REQUEST_TEMPLATE.md",
    "content": "Before submitting a pull request, make sure it's targeting the right branch:\n\n- For documentation fixes, use `master`.\n- For bug fixes, use `develop`.\n- For new features, use the branch for the next minor version, which will be formatted `v6.x`.\n\nIf you're fixing a JavaScript issue, it would help to create a new test case under the folder `test/visual/` that recreates the issue and show's that it's been fixed. Run `npm test` to compile the testing folder.\n\nHappy coding! :)\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.sass-lint.yml",
    "content": "# The following scss-lint Linters are not yet supported by sass-lint:\n# ElsePlacement, PropertyCount, SelectorDepth, UnnecessaryParentReference\n#\n# The following settings/values are unsupported by sass-lint:\n# Linter Indentation, option \"allow_non_nested_indentation\"\n# Linter Indentation, option \"character\"\n# Linter PropertySortOrder, option \"separate_groups\"\n# Linter SpaceBeforeBrace, option \"allow_single_line_padding\"\n\nfiles:\n  include: 'scss/**/*.scss'\n\noptions:\n  formatter: stylish\n  merge-default-rules: false\n\nrules:\n  border-zero:\n    - 1\n    - convention: '0'\n\n  brace-style:\n    - 1\n    - style: stroustrup\n    - allow-single-line: true\n\n  class-name-format:\n    - 1\n    - convention: '([a-z0-9]+-?)+'\n\n  clean-import-paths:\n    - 1\n    - filename-extension: false\n      leading-underscore: false\n\n  empty-line-between-blocks:\n    - 1\n    - ignore-single-line-rulesets: true\n\n  extends-before-declarations: 1\n\n  extends-before-mixins: 1\n\n  final-newline:\n    - 1\n    - include: true\n\n  force-attribute-nesting: 1\n\n  force-element-nesting: 1\n\n  force-pseudo-nesting: 1\n\n  function-name-format:\n    - 1\n    - allow-leading-underscore: true\n      convention: hyphenatedlowercase\n\n  hex-length:\n    - 1\n    - style: short\n\n  hex-notation:\n    - 1\n    - style: lowercase\n\n  id-name-format:\n    - 1\n    - convention: '([a-z0-9]+-?)+'\n\n  indentation:\n    - 1\n    - size: 2\n\n  leading-zero:\n    - 1\n    - include: true\n\n  mixin-name-format:\n    - 1\n    - allow-leading-underscore: true\n      convention: hyphenatedlowercase\n\n  mixins-before-declarations: 1\n\n  nesting-depth:\n    - 1\n    - max-depth: 3\n\n  no-color-keywords: 1\n\n  no-color-literals: 1\n\n  no-css-comments: 0\n\n  no-debug: 1\n\n  no-duplicate-properties: 1\n\n  no-empty-rulesets: 1\n\n  no-ids: 1\n\n  no-important: 0\n\n  no-invalid-hex: 1\n\n  no-mergeable-selectors: 1\n\n  no-misspelled-properties:\n    - 1\n    - extra-properties: []\n\n  no-qualifying-elements:\n    - 1\n    - allow-element-with-attribute: false\n      allow-element-with-class: false\n      allow-element-with-id: false\n\n  no-trailing-zero: 1\n\n  no-url-protocols: 1\n\n  no-vendor-prefixes:\n     - 1\n     - ignore-non-standard: true\n\n  placeholder-in-extend: 1\n\n  placeholder-name-format:\n    - 1\n    - convention: '([a-z0-9]+-?)+'\n\n  property-sort-order:\n    - 1\n    -\n      ignore-custom-properties: true\n      order:\n        # Specific - CSS property order\n        # https://gist.github.com/ncoden/d42f55df7c7970f548a02cd3468f9c86\n\n        # Position\n        - 'position'\n        - 'top'\n        - 'right'\n        - 'bottom'\n        - 'left'\n        - 'z-index'\n\n        # Disposition\n        - 'display'\n\n        - 'flex'\n        - 'flex-basis'\n        - 'flex-direction'\n        - 'flex-flow'\n        - 'flex-grow'\n        - 'flex-shrink'\n        - 'flex-wrap'\n        - 'justify-content'\n        - 'order'\n\n        - 'box-align'\n        - 'box-flex'\n        - 'box-orient'\n        - 'box-pack'\n\n        - 'align-content'\n        - 'align-items'\n        - 'align-self'\n\n        - 'columns'\n        - 'column-gap'\n        - 'column-fill'\n        - 'column-rule'\n        - 'column-span'\n        - 'column-count'\n        - 'column-width'\n\n        - 'vertical-align'\n        - 'float'\n        - 'clear'\n\n        # Dimension\n        - 'box-sizing'\n\n        - 'width'\n        - 'min-width'\n        - 'max-width'\n\n        - 'height'\n        - 'min-height'\n        - 'max-height'\n\n        - 'margin'\n        - 'margin-top'\n        - 'margin-right'\n        - 'margin-bottom'\n        - 'margin-left'\n        - 'margin-collapse'\n        - 'margin-top-collapse'\n        - 'margin-right-collapse'\n        - 'margin-bottom-collapse'\n        - 'margin-left-collapse'\n\n        - 'padding'\n        - 'padding-top'\n        - 'padding-right'\n        - 'padding-bottom'\n        - 'padding-left'\n\n\n        # Global appearance\n        - 'appearance'\n        - 'opacity'\n        - 'filter'\n        - 'visibility'\n\n        - 'size'\n        - 'resize'\n        - 'zoom'\n\n        - 'transform'\n        - 'transform-box'\n        - 'transform-origin'\n        - 'transform-style'\n\n        # Border\n        - 'outline'\n        - 'outline-color'\n        - 'outline-offset'\n        - 'outline-style'\n        - 'outline-width'\n\n        - 'border'\n        - 'border-top'\n        - 'border-right'\n        - 'border-bottom'\n        - 'border-left'\n        - 'border-width'\n        - 'border-top-width'\n        - 'border-right-width'\n        - 'border-bottom-width'\n        - 'border-left-width'\n\n        - 'border-style'\n        - 'border-top-style'\n        - 'border-right-style'\n        - 'border-bottom-style'\n        - 'border-left-style'\n\n        - 'border-radius'\n        - 'border-top-left-radius'\n        - 'border-top-right-radius'\n        - 'border-bottom-right-radius'\n        - 'border-bottom-left-radius'\n        - 'border-radius-topleft'\n        - 'border-radius-topright'\n        - 'border-radius-bottomright'\n        - 'border-radius-bottomleft'\n\n        - 'border-color'\n        - 'border-top-color'\n        - 'border-right-color'\n        - 'border-bottom-color'\n        - 'border-left-color'\n\n        - 'border-collapse'\n        - 'border-spacing'\n\n        # Background\n        - 'background'\n        - 'background-image'\n        - 'background-color'\n        - 'background-attachment'\n        - 'background-clip'\n        - 'background-origin'\n        - 'background-position'\n        - 'background-repeat'\n        - 'background-size'\n\n        # Shadow\n        - 'box-shadow'\n\n        # Animation\n        - 'animation'\n        - 'animation-delay'\n        - 'animation-duration'\n        - 'animation-iteration-count'\n        - 'animation-name'\n        - 'animation-play-state'\n        - 'animation-timing-function'\n        - 'animation-fill-mode'\n\n        - 'transition'\n        - 'transition-delay'\n        - 'transition-duration'\n        - 'transition-property'\n        - 'transition-timing-function'\n\n\n        # Content\n        - 'content'\n\n        - 'list-style'\n        - 'list-style-image'\n        - 'list-style-position'\n        - 'list-style-type'\n\n        - 'overflow'\n        - 'overflow-x'\n        - 'overflow-y'\n        - 'clip'\n\n        # Text\n        - 'font'\n        - 'font-family'\n        - 'font-size'\n        - 'font-smoothing'\n        - 'osx-font-smoothing'\n        - 'font-style'\n        - 'font-variant'\n        - 'font-weight'\n        - 'src'\n\n        - 'word-spacing'\n        - 'letter-spacing'\n        - 'line-height'\n\n        - 'color'\n        - 'direction'\n        - 'text-align'\n        - 'text-decoration'\n        - 'text-indent'\n        - 'text-overflow'\n        - 'text-rendering'\n        - 'text-size-adjust'\n        - 'text-shadow'\n        - 'text-transform'\n\n        - 'white-space'\n        - 'word-break'\n        - 'word-wrap'\n        - 'hyphens'\n        - 'quotes'\n\n        # Divers\n        - 'pointer-events'\n        - 'cursor'\n\n        - 'backface-visibility'\n        - 'caption-side'\n        - 'empty-cells'\n        - 'table-layout'\n        - 'user-select'\n\n        - 'interpolation-mode'\n        - 'marks'\n        - 'page'\n        - 'set-link-source'\n        - 'unicode-bidi'\n        - 'speak'\n\n  quotes:\n    - 1\n    - style: single\n\n  shorthand-values: 1\n\n  single-line-per-selector: 0\n\n  space-after-bang:\n    - 1\n    - include: false\n\n  space-after-colon:\n    - 1\n    - include: true\n\n  space-after-comma: 1\n\n  space-before-bang:\n    - 1\n    - include: true\n\n  space-before-brace:\n    - 1\n    - include: true\n\n  space-before-colon: 1\n\n  space-between-parens:\n    - 1\n    - include: false\n\n  trailing-semicolon: 1\n\n  url-quotes: 1\n\n  variable-for-property:\n    - 0\n    - properties: []\n\n  variable-name-format:\n    - 1\n    - allow-leading-underscore: true\n      convention: hyphenatedlowercase\n\n  zero-unit: 1\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/.travis.yml",
    "content": "language: node_js\nnode_js:\n  - \"4.0\"\ninstall:\n  - npm install -g bower\n  - npm install\nnotifications:\n  email: false\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/LICENSE",
    "content": "Copyright (c) 2013-2016 ZURB, inc.\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/README.md",
    "content": "# [Foundation for Sites](http://foundation.zurb.com)\n\n[![Build Status](https://travis-ci.org/zurb/foundation-sites.svg?branch=develop)](https://travis-ci.org/zurb/foundation-sites)\n[![npm version](https://badge.fury.io/js/foundation-sites.svg)](https://badge.fury.io/js/foundation-sites)\n[![Bower version](https://badge.fury.io/bo/foundation-sites.svg)](https://badge.fury.io/bo/foundation-sites)\n[![Gem Version](https://badge.fury.io/rb/foundation-rails.svg)](https://badge.fury.io/rb/foundation-rails)\n[![dependencies Status](https://david-dm.org/zurb/foundation-sites/status.svg)](https://david-dm.org/zurb/foundation-sites)\n[![devDependencies Status](https://david-dm.org/zurb/foundation-sites/dev-status.svg)](https://david-dm.org/zurb/foundation-sites?type=dev)\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zurb/foundation-sites?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\nFoundation is the most advanced responsive front-end framework in the world. Quickly go from prototype to production, building sites or apps that work on any kind of device with Foundation. Includes a fully customizable, responsive grid, a large library of Sass mixins, commonly used JavaScript plugins, and full accessibility support.\n\n## Getting Started\n\nThe quickest way to get started is with the [basic CSS download](http://foundation.zurb.com/sites/download/). You can get versions with every component, essential ones only, or a custom build.\n\nIf you're a Sass user, we have two starter project templates, the [Basic Template](https://github.com/zurb/foundation-sites-template) and the [ZURB Template](https://github.com/zurb/foundation-zurb-template). You can install them by manually downloading them from GitHub, or using the [Foundation CLI](https://github.com/zurb/foundation-cli).\n\nLastly, if you're rolling your own setup, you can install Foundation through a variety of [package managers](http://foundation.zurb.com/sites/docs/installation.html#package-managers).\n\n## Documentation\n\nThe documentation can be found at <https://foundation.zurb.com/sites/docs>. To run the documentation locally on your machine, you need [Node.js](https://nodejs.org/en/) installed on your computer. (Your Node.js version must be **4.0** or higher.)\n\nRun these commands to set up the documentation:\n\n```bash\ngit clone https://github.com/zurb/foundation-sites\ncd foundation-sites\nnpm install\n```\n\nThen run `npm start` to compile the documentation. When it finishes, a new browser window will open pointing to a BrowserSync server displaying the documentation.\n\n## Testing\n\nFoundation has three kinds of tests: JavaScript, Sass, and visual regression. Refer to our [testing guide](https://github.com/zurb/foundation-sites/wiki/Testing-Guide) for more details.\n\nThese commands will run the various tests:\n\n- `npm run test:sass`\n- `npm run test:javascript`\n- `npm run test:visual`\n\n## Contributing\n\nCheck out our [contributing guide](http://foundation.zurb.com/develop/contribute.html) to learn how you can contribute to Foundation. You can also browse the [Help Wanted](https://github.com/zurb/foundation-sites/labels/help%20wanted) tag in our issue tracker to find things to do.\n\nCopyright (c) 2016 ZURB, inc.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/normalize-scss/sass/_normalize.scss",
    "content": "@import 'normalize/variables';\n@import 'normalize/vertical-rhythm';\n@import 'normalize/normalize-mixin';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/normalize-scss/sass/normalize/_import-now.scss",
    "content": "// Import Now\n//\n// If you import this module directly, it will immediately output all the CSS\n// needed to normalize default HTML elements across all browsers.\n//\n// ```\n// @import \"normalize/import-now\";\n// ```\n\n@import '../normalize';\n@include normalize();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss",
    "content": "// Helper function for the normalize() mixin.\n@function _normalize-include($section, $exclude: null) {\n  // Initialize the global variables needed by this function.\n  @if not global_variable_exists(_normalize-include) {\n    $_normalize-include: () !global;\n    $_normalize-exclude: () !global;\n  }\n  // Since we are given 2 parameters, set the global variables.\n  @if $exclude != null {\n    $include: $section;\n    // Sass doesn't have static variables, so the work-around is to stuff these\n    // values into global variables so we can access them in future calls.\n    $_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;\n    $_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;\n    @return true;\n  }\n\n  // Check if $section is in the $include list.\n  @if index($_normalize-include, $section) {\n    @return true;\n  }\n  // If $include is set to (all), make sure $section is not in $exclude.\n  @else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {\n    @return true;\n  }\n  @return false;\n}\n\n@mixin normalize($include: (all), $exclude: ()) {\n  // Initialize the helper function by passing it this mixin's parameters.\n  $init: _normalize-include($include, $exclude);\n\n  // If we've customized any font variables, we'll need extra properties.\n  @if $base-font-size != 16px\n    or $base-line-height != 24px\n    or $base-unit != 'em'\n    or $h1-font-size != 2    * $base-font-size\n    or $h2-font-size != 1.5  * $base-font-size\n    or $h3-font-size != 1.17 * $base-font-size\n    or $h4-font-size != 1    * $base-font-size\n    or $h5-font-size != 0.83 * $base-font-size\n    or $h6-font-size != 0.67 * $base-font-size {\n    $normalize-vertical-rhythm: true !global;\n  }\n\n  /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */\n\n  @if _normalize-include(document) {\n    /* Document\n       ========================================================================== */\n\n    /**\n     * 1. Change the default font family in all browsers (opinionated).\n     * 2. Correct the line height in all browsers.\n     * 3. Prevent adjustments of font size after orientation changes in\n     *    IE on Windows Phone and in iOS.\n     */\n\n    html {\n      font-family: $base-font-family; /* 1 */\n      @if $normalize-vertical-rhythm {\n        // Correct old browser bug that prevented accessible resizing of text\n        // when root font-size is set with px or em.\n        font-size: ($base-font-size / 16px) * 100%;\n        line-height: ($base-line-height / $base-font-size) * 1em; /* 2 */\n      }\n      @else {\n        line-height: 1.15; /* 2 */\n      }\n      -ms-text-size-adjust: 100%; /* 3 */\n      -webkit-text-size-adjust: 100%; /* 3 */\n    }\n  }\n\n  @if _normalize-include(sections) {\n    /* Sections\n       ========================================================================== */\n\n    /**\n     * Remove the margin in all browsers (opinionated).\n     */\n\n    body {\n      margin: 0;\n    }\n\n    /**\n     * Add the correct display in IE 9-.\n     */\n\n    article,\n    aside,\n    footer,\n    header,\n    nav,\n    section {\n      display: block;\n    }\n\n    /**\n     * Correct the font size and margin on `h1` elements within `section` and\n     * `article` contexts in Chrome, Firefox, and Safari.\n     */\n\n    h1 {\n      @include normalize-font-size($h1-font-size);\n      @if $normalize-vertical-rhythm {\n        @include normalize-line-height($h1-font-size);\n      }\n\n      @if $normalize-vertical-rhythm {\n        /* Set 1 unit of vertical rhythm on the top and bottom margins. */\n        @include normalize-margin(1 0, $h1-font-size);\n      }\n      @else {\n        margin: 0.67em 0;\n      }\n    }\n\n    @if $normalize-vertical-rhythm {\n      h2 {\n        @include normalize-font-size($h2-font-size);\n        @include normalize-line-height($h2-font-size);\n        @include normalize-margin(1 0, $h2-font-size);\n      }\n\n      h3 {\n        @include normalize-font-size($h3-font-size);\n        @include normalize-line-height($h3-font-size);\n        @include normalize-margin(1 0, $h3-font-size);\n      }\n\n      h4 {\n        @include normalize-font-size($h4-font-size);\n        @include normalize-line-height($h4-font-size);\n        @include normalize-margin(1 0, $h4-font-size);\n      }\n\n      h5 {\n        @include normalize-font-size($h5-font-size);\n        @include normalize-line-height($h5-font-size);\n        @include normalize-margin(1 0, $h5-font-size);\n      }\n\n      h6 {\n        @include normalize-font-size($h6-font-size);\n        @include normalize-line-height($h6-font-size);\n        @include normalize-margin(1 0, $h6-font-size);\n      }\n    }\n  }\n\n  @if _normalize-include(grouping) {\n    /* Grouping content\n       ========================================================================== */\n\n    @if $normalize-vertical-rhythm {\n      /**\n       * Set 1 unit of vertical rhythm on the top and bottom margin.\n       */\n\n      blockquote {\n        @include normalize-margin(1 $indent-amount);\n      }\n\n      dl,\n      ol,\n      ul {\n        @include normalize-margin(1 0);\n      }\n\n      /**\n       * Turn off margins on nested lists.\n       */\n\n      ol,\n      ul {\n        ol,\n        ul {\n          margin: 0;\n        }\n      }\n\n      dd {\n        margin: 0 0 0 $indent-amount;\n      }\n\n      ol,\n      ul {\n        padding: 0 0 0 $indent-amount;\n      }\n    }\n\n    /**\n     * Add the correct display in IE 9-.\n     */\n\n    figcaption,\n    figure {\n      display: block;\n    }\n\n    /**\n     * Add the correct margin in IE 8.\n     */\n\n    figure {\n      @if $normalize-vertical-rhythm {\n        @include normalize-margin(1 $indent-amount);\n      }\n      @else {\n        margin: 1em $indent-amount;\n      }\n    }\n\n    /**\n     * 1. Add the correct box sizing in Firefox.\n     * 2. Show the overflow in Edge and IE.\n     */\n\n    hr {\n      box-sizing: content-box; /* 1 */\n      height: 0; /* 1 */\n      overflow: visible; /* 2 */\n    }\n\n    /**\n     * Add the correct display in IE.\n     */\n\n    main {\n      display: block;\n    }\n\n    @if $normalize-vertical-rhythm {\n      /**\n       * Set 1 unit of vertical rhythm on the top and bottom margin.\n       */\n\n      p,\n      pre {\n        @include normalize-margin(1 0);\n      }\n    }\n\n    /**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\n\n    pre {\n      font-family: monospace, monospace; /* 1 */\n      font-size: 1em; /* 2 */\n    }\n  }\n\n  @if _normalize-include(links) {\n    /* Links\n       ========================================================================== */\n\n    /**\n     * 1. Remove the gray background on active links in IE 10.\n     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n     */\n\n    a {\n      background-color: transparent; /* 1 */\n      -webkit-text-decoration-skip: objects; /* 2 */\n    }\n\n    /**\n     * Remove the outline on focused links when they are also active or hovered\n     * in all browsers (opinionated).\n     */\n\n    a:active,\n    a:hover {\n      outline-width: 0;\n    }\n  }\n\n  @if _normalize-include(text) {\n    /* Text-level semantics\n       ========================================================================== */\n\n    /**\n     * 1. Remove the bottom border in Firefox 39-.\n     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n     */\n\n    abbr[title] {\n      border-bottom: none; /* 1 */\n      text-decoration: underline; /* 2 */\n      text-decoration: underline dotted; /* 2 */\n    }\n\n    /**\n     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n     */\n\n    b,\n    strong {\n      font-weight: inherit;\n    }\n\n    /**\n     * Add the correct font weight in Chrome, Edge, and Safari.\n     */\n\n    b,\n    strong {\n      font-weight: bolder;\n    }\n\n    /**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\n\n    code,\n    kbd,\n    samp {\n      font-family: monospace, monospace; /* 1 */\n      font-size: 1em; /* 2 */\n    }\n\n    /**\n     * Add the correct font style in Android 4.3-.\n     */\n\n    dfn {\n      font-style: italic;\n    }\n\n    /**\n     * Add the correct background and color in IE 9-.\n     */\n\n    mark {\n      background-color: #ff0;\n      color: #000;\n    }\n\n    /**\n     * Add the correct font size in all browsers.\n     */\n\n    small {\n      font-size: 80%;\n    }\n\n    /**\n     * Prevent `sub` and `sup` elements from affecting the line height in\n     * all browsers.\n     */\n\n    sub,\n    sup {\n      font-size: 75%;\n      line-height: 0;\n      position: relative;\n      vertical-align: baseline;\n    }\n\n    sub {\n      bottom: -0.25em;\n    }\n\n    sup {\n      top: -0.5em;\n    }\n  }\n\n  @if _normalize-include(embedded) {\n    /* Embedded content\n       ========================================================================== */\n\n    /**\n     * Add the correct display in IE 9-.\n     */\n\n    audio,\n    video {\n      display: inline-block;\n    }\n\n    /**\n     * Add the correct display in iOS 4-7.\n     */\n\n    audio:not([controls]) {\n      display: none;\n      height: 0;\n    }\n\n    /**\n     * Remove the border on images inside links in IE 10-.\n     */\n\n    img {\n      border-style: none;\n    }\n\n    /**\n     * Hide the overflow in IE.\n     */\n\n    svg:not(:root) {\n      overflow: hidden;\n    }\n  }\n\n  @if _normalize-include(forms) {\n    /* Forms\n       ========================================================================== */\n\n    /**\n     * 1. Change the font styles in all browsers (opinionated).\n     * 2. Remove the margin in Firefox and Safari.\n     */\n\n    button,\n    input,\n    optgroup,\n    select,\n    textarea {\n      font-family: $base-font-family; /* 1 */\n      font-size: 100%; /* 1 */\n      @if $normalize-vertical-rhythm {\n        line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */\n      }\n      @else {\n        line-height: 1.15; /* 1 */\n      }\n      margin: 0; /* 2 */\n    }\n\n    /**\n     * Show the overflow in IE.\n     */\n\n    button {\n      overflow: visible;\n    }\n\n    /**\n     * Remove the inheritance of text transform in Edge, Firefox, and IE.\n     * 1. Remove the inheritance of text transform in Firefox.\n     */\n\n    button,\n    select { /* 1 */\n      text-transform: none;\n    }\n\n    /**\n     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n     *    controls in Android 4.\n     * 2. Correct the inability to style clickable types in iOS and Safari.\n     */\n\n    button,\n    html [type=\"button\"], /* 1 */\n    [type=\"reset\"],\n    [type=\"submit\"] {\n      -webkit-appearance: button; /* 2 */\n    }\n\n    button,\n    [type=\"button\"],\n    [type=\"reset\"],\n    [type=\"submit\"] {\n\n      /**\n       * Remove the inner border and padding in Firefox.\n       */\n\n      &::-moz-focus-inner {\n        border-style: none;\n        padding: 0;\n      }\n\n      /**\n       * Restore the focus styles unset by the previous rule.\n       */\n\n      &:-moz-focusring {\n        outline: 1px dotted ButtonText;\n      }\n    }\n\n    /**\n     * Show the overflow in Edge.\n     */\n\n    input {\n      overflow: visible;\n    }\n\n    /**\n     * 1. Add the correct box sizing in IE 10-.\n     * 2. Remove the padding in IE 10-.\n     */\n\n    [type=\"checkbox\"],\n    [type=\"radio\"] {\n      box-sizing: border-box; /* 1 */\n      padding: 0; /* 2 */\n    }\n\n    /**\n     * Correct the cursor style of increment and decrement buttons in Chrome.\n     */\n\n    [type=\"number\"]::-webkit-inner-spin-button,\n    [type=\"number\"]::-webkit-outer-spin-button {\n      height: auto;\n    }\n\n    /**\n     * 1. Correct the odd appearance in Chrome and Safari.\n     * 2. Correct the outline style in Safari.\n     */\n\n    [type=\"search\"] {\n      -webkit-appearance: textfield; /* 1 */\n      outline-offset: -2px; /* 2 */\n\n      /**\n       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n       */\n\n      &::-webkit-search-cancel-button,\n      &::-webkit-search-decoration {\n        -webkit-appearance: none;\n      }\n    }\n\n    /**\n     * 1. Correct the inability to style clickable types in iOS and Safari.\n     * 2. Change font properties to `inherit` in Safari.\n     */\n\n    ::-webkit-file-upload-button {\n      -webkit-appearance: button; /* 1 */\n      font: inherit; /* 2 */\n    }\n\n    /**\n     * Change the border, margin, and padding in all browsers (opinionated).\n     */\n\n    fieldset {\n      border: 1px solid #c0c0c0;\n      margin: 0 2px;\n      padding: 0.35em 0.625em 0.75em;\n    }\n\n    /**\n     * 1. Correct the text wrapping in Edge and IE.\n     * 2. Correct the color inheritance from `fieldset` elements in IE.\n     * 3. Remove the padding so developers are not caught out when they zero out\n     *    `fieldset` elements in all browsers.\n     */\n\n    legend {\n      box-sizing: border-box; /* 1 */\n      display: table; /* 1 */\n      max-width: 100%; /* 1 */\n      padding: 0; /* 3 */\n      color: inherit; /* 2 */\n      white-space: normal; /* 1 */\n    }\n\n    /**\n     * 1. Add the correct display in IE 9-.\n     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n     */\n\n    progress {\n      display: inline-block; /* 1 */\n      vertical-align: baseline; /* 2 */\n    }\n\n    /**\n     * Remove the default vertical scrollbar in IE.\n     */\n\n    textarea {\n      overflow: auto;\n    }\n  }\n\n  @if _normalize-include(interactive) {\n    /* Interactive\n       ========================================================================== */\n\n    /*\n     * Add the correct display in Edge, IE, and Firefox.\n     */\n\n    details {\n      display: block;\n    }\n\n    /*\n     * Add the correct display in all browsers.\n     */\n\n    summary {\n      display: list-item;\n    }\n\n    /*\n     * Add the correct display in IE 9-.\n     */\n\n    menu {\n      display: block;\n\n      @if $normalize-vertical-rhythm {\n        /*\n         * 1. Set 1 unit of vertical rhythm on the top and bottom margin.\n         * 2. Set consistent space for the list style image.\n         */\n\n        @include normalize-margin(1 0); /* 1 */\n        padding: 0 0 0 $indent-amount; /* 2 */\n\n        /**\n         * Turn off margins on nested lists.\n         */\n\n        menu &,\n        ol &,\n        ul & {\n          margin: 0;\n        }\n      }\n    }\n  }\n\n  @if _normalize-include(scripting) {\n    /* Scripting\n       ========================================================================== */\n\n    /**\n     * Add the correct display in IE 9-.\n     */\n\n    canvas {\n      display: inline-block;\n    }\n\n    /**\n     * Add the correct display in IE.\n     */\n\n    template {\n      display: none;\n    }\n  }\n\n  @if _normalize-include(hidden) {\n    /* Hidden\n       ========================================================================== */\n\n    /**\n     * Add the correct display in IE 10-.\n     */\n\n    [hidden] {\n      display: none;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/normalize-scss/sass/normalize/_variables.scss",
    "content": "//\n// Variables\n//\n// You can override the default values by setting the variables in your Sass\n// before importing the normalize-scss library.\n\n// The font size set on the root html element.\n$base-font-size: 16px !default;\n\n// The base line height determines the basic unit of vertical rhythm.\n$base-line-height: 24px !default;\n\n// The length unit in which to output vertical rhythm values.\n// Supported values: px, em, rem.\n$base-unit: 'em' !default;\n\n// The default font family.\n$base-font-family: sans-serif !default;\n\n// The font sizes for h1-h6.\n$h1-font-size: 2    * $base-font-size !default;\n$h2-font-size: 1.5  * $base-font-size !default;\n$h3-font-size: 1.17 * $base-font-size !default;\n$h4-font-size: 1    * $base-font-size !default;\n$h5-font-size: 0.83 * $base-font-size !default;\n$h6-font-size: 0.67 * $base-font-size !default;\n\n// The amount lists and blockquotes are indented.\n$indent-amount: 40px !default;\n\n// The following variable controls whether normalize-scss will output\n// font-sizes, line-heights and block-level top/bottom margins that form a basic\n// vertical rhythm on the page, which differs from the original Normalize.css.\n// However, changing any of the variables above will cause\n// $normalize-vertical-rhythm to be automatically set to true.\n$normalize-vertical-rhythm: false !default;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss",
    "content": "//\n// Vertical Rhythm\n//\n// This is the minimal amount of code needed to create vertical rhythm in our\n// CSS. If you are looking for a robust solution, look at the excellent Typey\n// library. @see https://github.com/jptaranto/typey\n\n@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {\n  @if unit($value) != px {\n    @error \"The normalize vertical-rhythm module only supports px inputs. The typey library is better.\";\n  }\n  @if $unit == rem {\n    @return ($value / $base-font-size) * 1rem;\n  }\n  @else if $unit == em {\n    @return ($value / $relative-to) * 1em;\n  }\n  @else { // $unit == px\n    @return $value;\n  }\n}\n\n@mixin normalize-font-size($value, $relative-to: $base-font-size) {\n  @if unit($value) != 'px' {\n    @error \"normalize-font-size() only supports px inputs. The typey library is better.\";\n  }\n  font-size: normalize-rhythm($value, $relative-to);\n}\n\n@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {\n  $value-list: $values;\n  $sep: space;\n  @if type-of($values) == 'list' {\n    $sep: list-separator($values);\n  }\n  @else {\n    $value-list: append((), $values);\n  }\n\n  $normalized-values: ();\n  @each $value in $value-list {\n    @if unitless($value) and $value != 0 {\n      $value: $value * normalize-rhythm($base-line-height, $relative-to);\n    }\n    $normalized-values: append($normalized-values, $value, $sep);\n  }\n  #{$property}: $normalized-values;\n}\n\n@mixin normalize-margin($values, $relative-to: $base-font-size) {\n  @include normalize-rhythm(margin, $values, $relative-to);\n}\n\n@mixin normalize-line-height($font-size, $min-line-padding: 2px) {\n  $lines: ceil($font-size / $base-line-height);\n  // If lines are cramped include some extra leading.\n  @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {\n    $lines: $lines + 1;\n  }\n  @include normalize-rhythm(line-height, $lines, $font-size);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_purge.scss",
    "content": "/// Removes all false and null values from `$list`.\n///\n/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-purge\n///\n/// @requires sl-is-true\n/// @requires sl-to-list\n///\n/// @param {List} $list - list to purge\n///\n/// @example\n/// sl-purge(null a false b)\n/// // a b\n///\n/// @return {List}\n///\n\n@function sl-purge($list) {\n  $_: sl-missing-dependencies('sl-is-true', 'sl-to-list');\n  \n  $result: ();\n\n  @each $item in $list {\n    @if sl-is-true($item) {\n      $result: append($result, $item, list-separator($list));\n    }\n  }\n\n  @return sl-to-list($result);\n}\n\n///\n/// @requires sl-purge\n/// @alias sl-purge\n///\n \n@function sl-clean($list) {\n  @return sl-purge($list);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_remove.scss",
    "content": "///\n/// Removes value(s) `$value` from `$list`.\n///\n/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-remove\n///\n/// @requires sl-replace\n///\n/// @param {List}    $list      - list to update\n/// @param {*}       $value     - value to remove\n///\n/// @example\n/// sl-remove(a b c, a)\n/// // b c\n///\n/// @return {List}\n///\n\n@function sl-remove($list, $value) {\n  $_: sl-missing-dependencies('sl-replace');\n\n  @return sl-replace($list, $value, null);\n}\n\n///\n/// @requires sl-remove\n/// @alias sl-remove\n///\n\n@function sl-without($list, $value) {\n  @return sl-remove($list, $value);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_replace.scss",
    "content": "///\n/// Replaces `$old` by `$new` in `$list`.\n///\n/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-replace\n///\n/// @requires sl-is-true\n/// @requires sl-purge\n/// @requires sl-to-list\n///\n/// @param {List}    $list  - list to update\n/// @param {*}       $old   - value to replace\n/// @param {*}       $value - new value for $old\n///\n/// @example\n/// sl-replace(a b c, b, z)\n/// // a z c\n///\n/// @example\n/// sl-replace(a b c, y, z)\n/// // a b c\n/// \n/// @return {List}\n///\n \n@function sl-replace($list, $old, $value) {\n  $_: sl-missing-dependencies('sl-is-true', 'sl-purge', 'sl-to-list');\n\n  $running: true;\n\n  @while $running {\n    $index: index($list, $old);\n\n    @if not $index {\n      $running: false;\n    }\n\n    @else {\n      $list: set-nth($list, $index, $value);\n    }\n\n  }\n\n  $list: if(sl-is-true($value), $list, sl-purge($list));\n  \n  @return sl-to-list($list);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/functions/_to-list.scss",
    "content": "///\n/// Casts `$value` into a list.\n///\n/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-to-list\n///\n/// @param {*} $value - value to cast to list\n/// @param {String} $separator [space] - separator to use\n///\n/// @example\n/// sl-to-list(a b c, comma)\n/// // a, b, c\n/// \n/// @return {List}\n///\n\n@function sl-to-list($value, $separator: list-separator($value)) {\n  @return join((), $value, $separator);\n}\n\n///\n/// @requires sl-to-list\n/// @alias sl-to-list\n///\n\n@function sl-listify($value) {\n  @return sl-to-list($value);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss",
    "content": "///\n/// Checks whether `$functions` exist in global scope.\n///\n/// @access private\n///\n/// @param {ArgList} $functions - list of functions to check for\n///\n/// @return {Bool} Whether or not there are missing dependencies\n///\n \n@function sl-missing-dependencies($functions...) {\n  $missing-dependencies: ();\n  \n  @each $function in $functions {\n    @if not function-exists($function) {\n      $missing-dependencies: append($missing-dependencies, $function, comma);\n    }\n  }\n  \n  @if length($missing-dependencies) > 0 {\n    @error 'Unmet dependencies! The following functions are required: #{$missing-dependencies}.';\n  }\n\n  @return length($missing-dependencies) > 0;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/_vendor/sassy-lists/stylesheets/helpers/_true.scss",
    "content": "///\n/// Returns truthiness of `$value`.\n///\n/// @access private\n///\n/// @param {*} $value - value to check\n///\n/// @return {Bool}\n///\n \n@function sl-is-true($value) {\n  @return if($value == null, false, $value and $value != null and $value != '' and $value != ());\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/assets/foundation-flex.scss",
    "content": "@import '../scss/foundation';\n\n@include foundation-everything($flex: true);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/assets/foundation-rtl.scss",
    "content": "$global-text-direction: rtl;\n\n@import '../scss/foundation';\n\n@include foundation-everything;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/assets/foundation.scss",
    "content": "@import '../scss/foundation';\n\n@include foundation-everything;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/bower.json",
    "content": "{\n  \"name\": \"foundation-sites\",\n  \"version\": \"6.3.0\",\n  \"license\": \"MIT\",\n  \"main\": [\n    \"scss/foundation.scss\",\n    \"dist/js/foundation.js\"\n  ],\n  \"ignore\": [\n    \"config\",\n    \"docs\",\n    \"gulp\",\n    \"lib\",\n    \"test\",\n    \"composer.json\",\n    \"CONTRIBUTING.md\",\n    \"gulpfile.js\",\n    \"meteor-README.md\",\n    \"package.js\",\n    \"package.json\",\n    \"sache.json\",\n    \".editorconfig\",\n    \".npm\",\n    \".gitignore\",\n    \".npmignore\",\n    \".versions\",\n    \".babelrc\",\n    \"yarn.lock\"\n  ],\n  \"dependencies\": {\n    \"jquery\": \"~2.2.0\",\n    \"what-input\": \"~4.0.3\"\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/code-of-conduct.md",
    "content": "# Foundation Community Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as the Foundation team pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n- Using welcoming and inclusive language\n- Being respectful of differing viewpoints and experiences\n- Gracefully accepting constructive criticism\n- Focusing on what is best for the community\n- Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n- The use of sexualized language or imagery and unwelcome sexual attention or advances\n- Trolling, insulting/derogatory comments, and personal or political attacks\n- Public or private harassment\n- Publishing others' private information, such as a physical or electronic address, without explicit permission\n- Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nThe Foundation team is responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.\n\nThe Foundation team has the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing Foundation or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by the Foundation team.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at foundation@zurb.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nContributors who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at <http://contributor-covenant.org/version/1/4>.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/customizer/complete.json",
    "content": "{\n  \"modules\": [\n    \"grid\",\n    \"typography\",\n    \"button\",\n    \"forms\",\n    \"abide\",\n    \"accordion\",\n    \"accordion_menu\",\n    \"badge\",\n    \"breadcrumbs\",\n    \"button_group\",\n    \"card\",\n    \"callout\",\n    \"close_button\",\n    \"menu\",\n    \"menu_icon\",\n    \"drilldown_menu\",\n    \"dropdown\",\n    \"dropdown_menu\",\n    \"equalizer\",\n    \"responsive_embed\",\n    \"interchange\",\n    \"label\",\n    \"magellan\",\n    \"media_object\",\n    \"off_canvas\",\n    \"orbit\",\n    \"pagination\",\n    \"progress_bar\",\n    \"responsive_menu\",\n    \"responsive_toggle\",\n    \"responsive_accordion_tabs\",\n    \"reveal\",\n    \"slider\",\n    \"sticky\",\n    \"switch\",\n    \"table\",\n    \"tabs\",\n    \"thumbnail\",\n    \"title_bar\",\n    \"toggler\",\n    \"tooltip\",\n    \"top_bar\",\n    \"visibility\",\n    \"float\"\n  ]\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/customizer/config.yml",
    "content": "# This is the customizer's master module list.\n# Each item in the list is a module with any of these keys:\n#   - sass: Name of the CSS export. 'grid' becomes '@include foundation-grid;'\n#   - js: Name of the JavaScript file. 'accordion' becomes 'foundation.accordion.js'\n#   - js_utils: Names of plugin dependencies. 'box' becomes 'foundation.util.box.js'\n\ngrid:\n  sass: grid\n\nflex_grid:\n  sass: flex-grid\n\nflex_classes:\n  sass: flex-classes\n\ntypography:\n  sass: typography\n\nbutton:\n  sass: button\n\ncard:\n  sass: card\n\nforms:\n  sass: forms\n\ninput_range:\n  sass: range-input\n\nabide:\n  js: abide\n\naccordion:\n  sass: accordion\n  js: accordion\n  js_utils:\n    - keyboard\n    - motion\n\naccordion_menu:\n  sass: accordion-menu\n  js: accordionMenu\n  js_utils:\n    - keyboard\n    - motion\n    - nest\n\nbadge:\n  sass: badge\n\nbreadcrumbs:\n  sass: breadcrumbs\n\nbutton_group:\n  sass: button-group\n\ncallout:\n  sass: callout\n\nclose_button:\n  sass: close-button\n\ndrilldown_menu:\n  sass: drilldown-menu\n  js: drilldown\n  js_utils:\n    - keyboard\n    - motion\n    - nest\n\ndropdown:\n  sass: dropdown\n  js: dropdown\n  js_utils:\n    - keyboard\n    - box\n    - triggers\n\ndropdown_menu:\n  sass: dropdown-menu\n  js: dropdownMenu\n  js_utils:\n    - keyboard\n    - motion\n    - box\n    - nest\n\nequalizer:\n  js: equalizer\n  js_utils:\n    - mediaQuery\n    - timerAndImageLoader\n\ninterchange:\n  js: interchange\n  js_utils:\n    - triggers\n    - timerAndImageLoader\n\nlabel:\n  sass: label\n\nmagellan:\n  js: magellan\n  js_utils:\n    - motion\n\nmedia_object:\n  sass: media-object\n\nmenu:\n  sass: menu\n\nmenu_icon:\n  sass: menu-icon\n\noff_canvas:\n  sass: off-canvas\n  js: offcanvas\n\norbit:\n  sass: orbit\n  js: orbit\n  js_utils:\n    - motion\n    - timerAndImageLoader\n    - keyboard\n    - touch\n\npagination:\n  sass: pagination\n\nprogress_bar:\n  sass: progress-bar\n\nprogress_element:\n  sass: progress-element\n\nresponsive_embed:\n  sass: responsive-embed\n\nresponsive_menu:\n  js: responsiveMenu\n  js_utils:\n    - triggers\n    - mediaQuery\n\nresponsive_toggle:\n  js: responsiveToggle\n  js_utils:\n    - mediaQuery\n\nmeter_element:\n  sass: meter-element\n\nslider:\n  sass: slider\n  js: slider\n  js_utils:\n    - box\n    - motion\n    - triggers\n    - mediaQuery\n    - keyboard\n\nsticky:\n  sass: sticky\n  js: sticky\n  js_utils:\n    - triggers\n    - mediaQuery\n\nresponsive_accordion_tabs:\n  js: zf.responsiveAccordionTabs\n\nreveal:\n  sass: reveal\n  js: reveal\n  js_utils:\n    - box\n    - motion\n    - triggers\n    - mediaQuery\n    - keyboard\n\nswitch:\n  sass: switch\n\ntable:\n  sass: table\n\ntabs:\n  sass: tabs\n  js: tabs\n  js_utils:\n    - keyboard\n    - timerAndImageLoader\n\nthumbnail:\n  sass: thumbnail\n\ntitle_bar:\n  sass: title-bar\n\ntoggler:\n  js: toggler\n  js_utils:\n    - motion\n\ntooltip:\n  sass: tooltip\n  js: tooltip\n  js_utils:\n    - box\n    - triggers\n    - mediaQuery\n    - motion\n\ntop_bar:\n  sass: top-bar\n\nvisibility:\n  sass: visibility-classes\n\nfloat:\n  sass: float-classes\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/customizer/essential.json",
    "content": "{\n  \"modules\": [\n    \"typography\",\n    \"grid\",\n    \"forms\",\n    \"button\",\n    \"callout\",\n    \"reveal\"\n  ],\n  \"variables\": {}\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/customizer/index.html",
    "content": "<!doctype html>\n<html class=\"no-js\" lang=\"en\" dir=\"ltr\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Foundation for Sites</title>\n    <link rel=\"stylesheet\" href=\"css/foundation.css\">\n    <link rel=\"stylesheet\" href=\"css/app.css\">\n  </head>\n  <body>\n    <div class=\"row\">\n      <div class=\"large-12 columns\">\n        <h1>Welcome to Foundation</h1>\n      </div>\n    </div>\n\n    <div class=\"row\">\n      <div class=\"large-12 columns\">\n        <div class=\"callout\">\n          <h3>We&rsquo;re stoked you want to try Foundation! </h3>\n          <p>To get going, this file (index.html) includes some basic styles you can modify, play around with, or totally destroy to get going.</p>\n          <p>Once you've exhausted the fun in this document, you should check out:</p>\n          <div class=\"row\">\n            <div class=\"large-4 medium-4 columns\">\n              <p><a href=\"http://foundation.zurb.com/docs\">Foundation Documentation</a><br />Everything you need to know about using the framework.</p>\n            </div>\n            <div class=\"large-4 medium-4 columns\">\n              <p><a href=\"http://zurb.com/university/code-skills\">Foundation Code Skills</a><br />These online courses offer you a chance to better understand how Foundation works and how you can master it to create awesome projects.</p>\n            </div>\n            <div class=\"large-4 medium-4 columns\">\n              <p><a href=\"http://foundation.zurb.com/forum\">Foundation Forum</a><br />Join the Foundation community to ask a question or show off your knowlege.</p>\n            </div>\n          </div>\n          <div class=\"row\">\n            <div class=\"large-4 medium-4 medium-push-2 columns\">\n              <p><a href=\"http://github.com/zurb/foundation\">Foundation on Github</a><br />Latest code, issue reports, feature requests and more.</p>\n            </div>\n            <div class=\"large-4 medium-4 medium-pull-2 columns\">\n              <p><a href=\"https://twitter.com/ZURBfoundation\">@zurbfoundation</a><br />Ping us on Twitter if you have questions. When you build something with this we'd love to see it (and send you a totally boss sticker).</p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"row\">\n      <div class=\"large-8 medium-8 columns\">\n        <h5>Here&rsquo;s your basic grid:</h5>\n        <!-- Grid Example -->\n\n        <div class=\"row\">\n          <div class=\"large-12 columns\">\n            <div class=\"primary callout\">\n              <p><strong>This is a twelve column section in a row.</strong> Each of these includes a div.callout element so you can see where the columns are - it's not required at all for the grid.</p>\n            </div>\n          </div>\n        </div>\n        <div class=\"row\">\n          <div class=\"large-6 medium-6 columns\">\n            <div class=\"primary callout\">\n              <p>Six columns</p>\n            </div>\n          </div>\n          <div class=\"large-6 medium-6 columns\">\n            <div class=\"primary callout\">\n              <p>Six columns</p>\n            </div>\n          </div>\n        </div>\n        <div class=\"row\">\n          <div class=\"large-4 medium-4 small-4 columns\">\n            <div class=\"primary callout\">\n              <p>Four columns</p>\n            </div>\n          </div>\n          <div class=\"large-4 medium-4 small-4 columns\">\n            <div class=\"primary callout\">\n              <p>Four columns</p>\n            </div>\n          </div>\n          <div class=\"large-4 medium-4 small-4 columns\">\n            <div class=\"primary callout\">\n              <p>Four columns</p>\n            </div>\n          </div>\n        </div>\n\n        <hr />\n\n        <h5>We bet you&rsquo;ll need a form somewhere:</h5>\n        <form>\n          <div class=\"row\">\n            <div class=\"large-12 columns\">\n              <label>Input Label</label>\n              <input type=\"text\" placeholder=\"large-12.columns\" />\n            </div>\n          </div>\n          <div class=\"row\">\n            <div class=\"large-4 medium-4 columns\">\n              <label>Input Label</label>\n              <input type=\"text\" placeholder=\"large-4.columns\" />\n            </div>\n            <div class=\"large-4 medium-4 columns\">\n              <label>Input Label</label>\n              <input type=\"text\" placeholder=\"large-4.columns\" />\n            </div>\n            <div class=\"large-4 medium-4 columns\">\n              <div class=\"row collapse\">\n                <label>Input Label</label>\n                <div class=\"input-group\">\n                  <input type=\"text\" placeholder=\"small-9.columns\" class=\"input-group-field\" />\n                  <span class=\"input-group-label\">.com</span>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div class=\"row\">\n            <div class=\"large-12 columns\">\n              <label>Select Box</label>\n              <select>\n                <option value=\"husker\">Husker</option>\n                <option value=\"starbuck\">Starbuck</option>\n                <option value=\"hotdog\">Hot Dog</option>\n                <option value=\"apollo\">Apollo</option>\n              </select>\n            </div>\n          </div>\n          <div class=\"row\">\n            <div class=\"large-6 medium-6 columns\">\n              <label>Choose Your Favorite</label>\n              <input type=\"radio\" name=\"pokemon\" value=\"Red\" id=\"pokemonRed\"><label for=\"pokemonRed\">Radio 1</label>\n              <input type=\"radio\" name=\"pokemon\" value=\"Blue\" id=\"pokemonBlue\"><label for=\"pokemonBlue\">Radio 2</label>\n            </div>\n            <div class=\"large-6 medium-6 columns\">\n              <label>Check these out</label>\n              <input id=\"checkbox1\" type=\"checkbox\"><label for=\"checkbox1\">Checkbox 1</label>\n              <input id=\"checkbox2\" type=\"checkbox\"><label for=\"checkbox2\">Checkbox 2</label>\n            </div>\n          </div>\n          <div class=\"row\">\n            <div class=\"large-12 columns\">\n              <label>Textarea Label</label>\n              <textarea placeholder=\"small-12.columns\"></textarea>\n            </div>\n          </div>\n        </form>\n      </div>\n\n      <div class=\"large-4 medium-4 columns\">\n        <h5>Try one of these buttons:</h5>\n        <p><a href=\"#\" class=\"button\">Simple Button</a><br/>\n        <a href=\"#\" class=\"success button\">Success Btn</a><br/>\n        <a href=\"#\" class=\"alert button\">Alert Btn</a><br/>\n        <a href=\"#\" class=\"secondary button\">Secondary Btn</a></p>\n        <div class=\"callout\">\n          <h5>So many components, girl!</h5>\n          <p>A whole kitchen sink of goodies comes with Foundation. Check out the docs to see them all, along with details on making them your own.</p>\n          <a href=\"http://foundation.zurb.com/sites/docs/\" class=\"small button\">Go to Foundation Docs</a>\n        </div>\n      </div>\n    </div>\n\n    <script src=\"js/vendor/jquery.js\"></script>\n    <script src=\"js/vendor/what-input.js\"></script>\n    <script src=\"js/vendor/foundation.js\"></script>\n    <script src=\"js/app.js\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/css/foundation-flex.css",
    "content": "@charset \"UTF-8\";\n/**\n * Foundation for Sites by ZURB\n * Version 6.3.0\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */\n/* Document\n       ========================================================================== */\n/**\n     * 1. Change the default font family in all browsers (opinionated).\n     * 2. Correct the line height in all browsers.\n     * 3. Prevent adjustments of font size after orientation changes in\n     *    IE on Windows Phone and in iOS.\n     */\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  line-height: 1.15;\n  /* 2 */\n  -ms-text-size-adjust: 100%;\n  /* 3 */\n  -webkit-text-size-adjust: 100%;\n  /* 3 */ }\n\n/* Sections\n       ========================================================================== */\n/**\n     * Remove the margin in all browsers (opinionated).\n     */\nbody {\n  margin: 0; }\n\n/**\n     * Add the correct display in IE 9-.\n     */\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n  display: block; }\n\n/**\n     * Correct the font size and margin on `h1` elements within `section` and\n     * `article` contexts in Chrome, Firefox, and Safari.\n     */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/* Grouping content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\nfigcaption,\nfigure {\n  display: block; }\n\n/**\n     * Add the correct margin in IE 8.\n     */\nfigure {\n  margin: 1em 40px; }\n\n/**\n     * 1. Add the correct box sizing in Firefox.\n     * 2. Show the overflow in Edge and IE.\n     */\nhr {\n  -webkit-box-sizing: content-box;\n          box-sizing: content-box;\n  /* 1 */\n  height: 0;\n  /* 1 */\n  overflow: visible;\n  /* 2 */ }\n\n/**\n     * Add the correct display in IE.\n     */\nmain {\n  display: block; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\npre {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/* Links\n       ========================================================================== */\n/**\n     * 1. Remove the gray background on active links in IE 10.\n     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n     */\na {\n  background-color: transparent;\n  /* 1 */\n  -webkit-text-decoration-skip: objects;\n  /* 2 */ }\n\n/**\n     * Remove the outline on focused links when they are also active or hovered\n     * in all browsers (opinionated).\n     */\na:active,\na:hover {\n  outline-width: 0; }\n\n/* Text-level semantics\n       ========================================================================== */\n/**\n     * 1. Remove the bottom border in Firefox 39-.\n     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n     */\nabbr[title] {\n  border-bottom: none;\n  /* 1 */\n  text-decoration: underline;\n  /* 2 */\n  text-decoration: underline dotted;\n  /* 2 */ }\n\n/**\n     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n     */\nb,\nstrong {\n  font-weight: inherit; }\n\n/**\n     * Add the correct font weight in Chrome, Edge, and Safari.\n     */\nb,\nstrong {\n  font-weight: bolder; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/**\n     * Add the correct font style in Android 4.3-.\n     */\ndfn {\n  font-style: italic; }\n\n/**\n     * Add the correct background and color in IE 9-.\n     */\nmark {\n  background-color: #ff0;\n  color: #000; }\n\n/**\n     * Add the correct font size in all browsers.\n     */\nsmall {\n  font-size: 80%; }\n\n/**\n     * Prevent `sub` and `sup` elements from affecting the line height in\n     * all browsers.\n     */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\nsub {\n  bottom: -0.25em; }\n\nsup {\n  top: -0.5em; }\n\n/* Embedded content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\naudio,\nvideo {\n  display: inline-block; }\n\n/**\n     * Add the correct display in iOS 4-7.\n     */\naudio:not([controls]) {\n  display: none;\n  height: 0; }\n\n/**\n     * Remove the border on images inside links in IE 10-.\n     */\nimg {\n  border-style: none; }\n\n/**\n     * Hide the overflow in IE.\n     */\nsvg:not(:root) {\n  overflow: hidden; }\n\n/* Forms\n       ========================================================================== */\n/**\n     * 1. Change the font styles in all browsers (opinionated).\n     * 2. Remove the margin in Firefox and Safari.\n     */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: sans-serif;\n  /* 1 */\n  font-size: 100%;\n  /* 1 */\n  line-height: 1.15;\n  /* 1 */\n  margin: 0;\n  /* 2 */ }\n\n/**\n     * Show the overflow in IE.\n     */\nbutton {\n  overflow: visible; }\n\n/**\n     * Remove the inheritance of text transform in Edge, Firefox, and IE.\n     * 1. Remove the inheritance of text transform in Firefox.\n     */\nbutton,\nselect {\n  /* 1 */\n  text-transform: none; }\n\n/**\n     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n     *    controls in Android 4.\n     * 2. Correct the inability to style clickable types in iOS and Safari.\n     */\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */ }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  /**\n       * Remove the inner border and padding in Firefox.\n       */\n  /**\n       * Restore the focus styles unset by the previous rule.\n       */ }\n  button::-moz-focus-inner,\n  [type=\"button\"]::-moz-focus-inner,\n  [type=\"reset\"]::-moz-focus-inner,\n  [type=\"submit\"]::-moz-focus-inner {\n    border-style: none;\n    padding: 0; }\n  button:-moz-focusring,\n  [type=\"button\"]:-moz-focusring,\n  [type=\"reset\"]:-moz-focusring,\n  [type=\"submit\"]:-moz-focusring {\n    outline: 1px dotted ButtonText; }\n\n/**\n     * Show the overflow in Edge.\n     */\ninput {\n  overflow: visible; }\n\n/**\n     * 1. Add the correct box sizing in IE 10-.\n     * 2. Remove the padding in IE 10-.\n     */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */ }\n\n/**\n     * Correct the cursor style of increment and decrement buttons in Chrome.\n     */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/**\n     * 1. Correct the odd appearance in Chrome and Safari.\n     * 2. Correct the outline style in Safari.\n     */\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  outline-offset: -2px;\n  /* 2 */\n  /**\n       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n       */ }\n  [type=\"search\"]::-webkit-search-cancel-button, [type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none; }\n\n/**\n     * 1. Correct the inability to style clickable types in iOS and Safari.\n     * 2. Change font properties to `inherit` in Safari.\n     */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  /* 1 */\n  font: inherit;\n  /* 2 */ }\n\n/**\n     * Change the border, margin, and padding in all browsers (opinionated).\n     */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em; }\n\n/**\n     * 1. Correct the text wrapping in Edge and IE.\n     * 2. Correct the color inheritance from `fieldset` elements in IE.\n     * 3. Remove the padding so developers are not caught out when they zero out\n     *    `fieldset` elements in all browsers.\n     */\nlegend {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  display: table;\n  /* 1 */\n  max-width: 100%;\n  /* 1 */\n  padding: 0;\n  /* 3 */\n  color: inherit;\n  /* 2 */\n  white-space: normal;\n  /* 1 */ }\n\n/**\n     * 1. Add the correct display in IE 9-.\n     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n     */\nprogress {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */ }\n\n/**\n     * Remove the default vertical scrollbar in IE.\n     */\ntextarea {\n  overflow: auto; }\n\n/* Interactive\n       ========================================================================== */\n/*\n     * Add the correct display in Edge, IE, and Firefox.\n     */\ndetails {\n  display: block; }\n\n/*\n     * Add the correct display in all browsers.\n     */\nsummary {\n  display: list-item; }\n\n/*\n     * Add the correct display in IE 9-.\n     */\nmenu {\n  display: block; }\n\n/* Scripting\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\ncanvas {\n  display: inline-block; }\n\n/**\n     * Add the correct display in IE.\n     */\ntemplate {\n  display: none; }\n\n/* Hidden\n       ========================================================================== */\n/**\n     * Add the correct display in IE 10-.\n     */\n[hidden] {\n  display: none; }\n\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\nhtml {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  font-size: 100%; }\n\n*,\n*::before,\n*::after {\n  -webkit-box-sizing: inherit;\n          box-sizing: inherit; }\n\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #0a0a0a;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale; }\n\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic; }\n\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0; }\n\nselect {\n  width: 100%;\n  border-radius: 0; }\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important; }\n\nbutton {\n  padding: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1; }\n  [data-whatinput='mouse'] button {\n    outline: 0; }\n\n.is-visible {\n  display: block !important; }\n\n.is-hidden {\n  display: none !important; }\n\n.row {\n  max-width: 75rem;\n  margin-right: auto;\n  margin-left: auto;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-flex-flow: row wrap;\n      -ms-flex-flow: row wrap;\n          flex-flow: row wrap; }\n  .row .row {\n    margin-right: -0.625rem;\n    margin-left: -0.625rem; }\n    @media print, screen and (min-width: 40em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n    @media print, screen and (min-width: 64em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n  .row.expanded {\n    max-width: none; }\n  .row.collapse > .column, .row.collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .row.is-collapse-child,\n  .row.collapse > .column > .row,\n  .row.collapse > .columns > .row {\n    margin-right: 0;\n    margin-left: 0; }\n\n.column, .columns {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 0px;\n      -ms-flex: 1 1 0px;\n          flex: 1 1 0px;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  min-width: initial; }\n  @media print, screen and (min-width: 40em) {\n    .column, .columns {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n\n.column.row.row, .row.row.columns {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex; }\n\n.row .column.row.row, .row .row.row.columns {\n  margin-right: 0;\n  margin-left: 0;\n  padding-right: 0;\n  padding-left: 0; }\n\n.flex-container {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex; }\n\n.flex-child-auto {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto; }\n\n.flex-child-grow {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto; }\n\n.flex-child-shrink {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto; }\n\n.flex-dir-row {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row; }\n\n.flex-dir-row-reverse {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: reverse;\n  -webkit-flex-direction: row-reverse;\n      -ms-flex-direction: row-reverse;\n          flex-direction: row-reverse; }\n\n.flex-dir-column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column; }\n\n.flex-dir-column-reverse {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: reverse;\n  -webkit-flex-direction: column-reverse;\n      -ms-flex-direction: column-reverse;\n          flex-direction: column-reverse; }\n\n.small-1 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 8.33333%;\n      -ms-flex: 0 0 8.33333%;\n          flex: 0 0 8.33333%;\n  max-width: 8.33333%; }\n\n.small-offset-0 {\n  margin-left: 0%; }\n\n.small-2 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 16.66667%;\n      -ms-flex: 0 0 16.66667%;\n          flex: 0 0 16.66667%;\n  max-width: 16.66667%; }\n\n.small-offset-1 {\n  margin-left: 8.33333%; }\n\n.small-3 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 25%;\n      -ms-flex: 0 0 25%;\n          flex: 0 0 25%;\n  max-width: 25%; }\n\n.small-offset-2 {\n  margin-left: 16.66667%; }\n\n.small-4 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 33.33333%;\n      -ms-flex: 0 0 33.33333%;\n          flex: 0 0 33.33333%;\n  max-width: 33.33333%; }\n\n.small-offset-3 {\n  margin-left: 25%; }\n\n.small-5 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 41.66667%;\n      -ms-flex: 0 0 41.66667%;\n          flex: 0 0 41.66667%;\n  max-width: 41.66667%; }\n\n.small-offset-4 {\n  margin-left: 33.33333%; }\n\n.small-6 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 50%;\n      -ms-flex: 0 0 50%;\n          flex: 0 0 50%;\n  max-width: 50%; }\n\n.small-offset-5 {\n  margin-left: 41.66667%; }\n\n.small-7 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 58.33333%;\n      -ms-flex: 0 0 58.33333%;\n          flex: 0 0 58.33333%;\n  max-width: 58.33333%; }\n\n.small-offset-6 {\n  margin-left: 50%; }\n\n.small-8 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 66.66667%;\n      -ms-flex: 0 0 66.66667%;\n          flex: 0 0 66.66667%;\n  max-width: 66.66667%; }\n\n.small-offset-7 {\n  margin-left: 58.33333%; }\n\n.small-9 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 75%;\n      -ms-flex: 0 0 75%;\n          flex: 0 0 75%;\n  max-width: 75%; }\n\n.small-offset-8 {\n  margin-left: 66.66667%; }\n\n.small-10 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 83.33333%;\n      -ms-flex: 0 0 83.33333%;\n          flex: 0 0 83.33333%;\n  max-width: 83.33333%; }\n\n.small-offset-9 {\n  margin-left: 75%; }\n\n.small-11 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 91.66667%;\n      -ms-flex: 0 0 91.66667%;\n          flex: 0 0 91.66667%;\n  max-width: 91.66667%; }\n\n.small-offset-10 {\n  margin-left: 83.33333%; }\n\n.small-12 {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 100%;\n      -ms-flex: 0 0 100%;\n          flex: 0 0 100%;\n  max-width: 100%; }\n\n.small-offset-11 {\n  margin-left: 91.66667%; }\n\n.small-order-1 {\n  -webkit-box-ordinal-group: 2;\n  -webkit-order: 1;\n      -ms-flex-order: 1;\n          order: 1; }\n\n.small-order-2 {\n  -webkit-box-ordinal-group: 3;\n  -webkit-order: 2;\n      -ms-flex-order: 2;\n          order: 2; }\n\n.small-order-3 {\n  -webkit-box-ordinal-group: 4;\n  -webkit-order: 3;\n      -ms-flex-order: 3;\n          order: 3; }\n\n.small-order-4 {\n  -webkit-box-ordinal-group: 5;\n  -webkit-order: 4;\n      -ms-flex-order: 4;\n          order: 4; }\n\n.small-order-5 {\n  -webkit-box-ordinal-group: 6;\n  -webkit-order: 5;\n      -ms-flex-order: 5;\n          order: 5; }\n\n.small-order-6 {\n  -webkit-box-ordinal-group: 7;\n  -webkit-order: 6;\n      -ms-flex-order: 6;\n          order: 6; }\n\n.small-up-1 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-1 > .column, .small-up-1 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 100%;\n        -ms-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n\n.small-up-2 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-2 > .column, .small-up-2 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 50%;\n        -ms-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n\n.small-up-3 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-3 > .column, .small-up-3 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 33.33333%;\n        -ms-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n\n.small-up-4 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-4 > .column, .small-up-4 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 25%;\n        -ms-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n\n.small-up-5 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-5 > .column, .small-up-5 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 20%;\n        -ms-flex: 0 0 20%;\n            flex: 0 0 20%;\n    max-width: 20%; }\n\n.small-up-6 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-6 > .column, .small-up-6 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 16.66667%;\n        -ms-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n\n.small-up-7 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-7 > .column, .small-up-7 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 14.28571%;\n        -ms-flex: 0 0 14.28571%;\n            flex: 0 0 14.28571%;\n    max-width: 14.28571%; }\n\n.small-up-8 {\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .small-up-8 > .column, .small-up-8 > .columns {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 12.5%;\n        -ms-flex: 0 0 12.5%;\n            flex: 0 0 12.5%;\n    max-width: 12.5%; }\n\n.small-collapse > .column, .small-collapse > .columns {\n  padding-right: 0;\n  padding-left: 0; }\n\n.small-uncollapse > .column, .small-uncollapse > .columns {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-1 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 8.33333%;\n        -ms-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .medium-offset-0 {\n    margin-left: 0%; }\n  .medium-2 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 16.66667%;\n        -ms-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .medium-offset-1 {\n    margin-left: 8.33333%; }\n  .medium-3 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 25%;\n        -ms-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .medium-offset-2 {\n    margin-left: 16.66667%; }\n  .medium-4 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 33.33333%;\n        -ms-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .medium-offset-3 {\n    margin-left: 25%; }\n  .medium-5 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 41.66667%;\n        -ms-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .medium-offset-4 {\n    margin-left: 33.33333%; }\n  .medium-6 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 50%;\n        -ms-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .medium-offset-5 {\n    margin-left: 41.66667%; }\n  .medium-7 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 58.33333%;\n        -ms-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .medium-offset-6 {\n    margin-left: 50%; }\n  .medium-8 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 66.66667%;\n        -ms-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .medium-offset-7 {\n    margin-left: 58.33333%; }\n  .medium-9 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 75%;\n        -ms-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .medium-offset-8 {\n    margin-left: 66.66667%; }\n  .medium-10 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 83.33333%;\n        -ms-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .medium-offset-9 {\n    margin-left: 75%; }\n  .medium-11 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 91.66667%;\n        -ms-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .medium-offset-10 {\n    margin-left: 83.33333%; }\n  .medium-12 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 100%;\n        -ms-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .medium-offset-11 {\n    margin-left: 91.66667%; }\n  .medium-order-1 {\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .medium-order-2 {\n    -webkit-box-ordinal-group: 3;\n    -webkit-order: 2;\n        -ms-flex-order: 2;\n            order: 2; }\n  .medium-order-3 {\n    -webkit-box-ordinal-group: 4;\n    -webkit-order: 3;\n        -ms-flex-order: 3;\n            order: 3; }\n  .medium-order-4 {\n    -webkit-box-ordinal-group: 5;\n    -webkit-order: 4;\n        -ms-flex-order: 4;\n            order: 4; }\n  .medium-order-5 {\n    -webkit-box-ordinal-group: 6;\n    -webkit-order: 5;\n        -ms-flex-order: 5;\n            order: 5; }\n  .medium-order-6 {\n    -webkit-box-ordinal-group: 7;\n    -webkit-order: 6;\n        -ms-flex-order: 6;\n            order: 6; }\n  .medium-up-1 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-1 > .column, .medium-up-1 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 100%;\n          -ms-flex: 0 0 100%;\n              flex: 0 0 100%;\n      max-width: 100%; }\n  .medium-up-2 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-2 > .column, .medium-up-2 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 50%;\n          -ms-flex: 0 0 50%;\n              flex: 0 0 50%;\n      max-width: 50%; }\n  .medium-up-3 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-3 > .column, .medium-up-3 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 33.33333%;\n          -ms-flex: 0 0 33.33333%;\n              flex: 0 0 33.33333%;\n      max-width: 33.33333%; }\n  .medium-up-4 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-4 > .column, .medium-up-4 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 25%;\n          -ms-flex: 0 0 25%;\n              flex: 0 0 25%;\n      max-width: 25%; }\n  .medium-up-5 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-5 > .column, .medium-up-5 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 20%;\n          -ms-flex: 0 0 20%;\n              flex: 0 0 20%;\n      max-width: 20%; }\n  .medium-up-6 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-6 > .column, .medium-up-6 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 16.66667%;\n          -ms-flex: 0 0 16.66667%;\n              flex: 0 0 16.66667%;\n      max-width: 16.66667%; }\n  .medium-up-7 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-7 > .column, .medium-up-7 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 14.28571%;\n          -ms-flex: 0 0 14.28571%;\n              flex: 0 0 14.28571%;\n      max-width: 14.28571%; }\n  .medium-up-8 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .medium-up-8 > .column, .medium-up-8 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 12.5%;\n          -ms-flex: 0 0 12.5%;\n              flex: 0 0 12.5%;\n      max-width: 12.5%; } }\n\n@media print, screen and (min-width: 40em) and (min-width: 40em) {\n  .medium-expand {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 0px;\n        -ms-flex: 1 1 0px;\n            flex: 1 1 0px; } }\n\n@media print, screen and (min-width: 40em) {\n  .medium-flex-dir-row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: row;\n        -ms-flex-direction: row;\n            flex-direction: row; }\n  .medium-flex-dir-row-reverse {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse; }\n  .medium-flex-dir-column {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column; }\n  .medium-flex-dir-column-reverse {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse; }\n  .medium-flex-child-auto {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 auto;\n        -ms-flex: 1 1 auto;\n            flex: 1 1 auto; }\n  .medium-flex-child-grow {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 0 auto;\n        -ms-flex: 1 0 auto;\n            flex: 1 0 auto; }\n  .medium-flex-child-shrink {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 1 auto;\n        -ms-flex: 0 1 auto;\n            flex: 0 1 auto; } }\n\n.row.medium-unstack > .column, .row.medium-unstack > .columns {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 100%;\n      -ms-flex: 0 0 100%;\n          flex: 0 0 100%; }\n  @media print, screen and (min-width: 40em) {\n    .row.medium-unstack > .column, .row.medium-unstack > .columns {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px; } }\n\n@media print, screen and (min-width: 40em) {\n  .medium-collapse > .column, .medium-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .medium-uncollapse > .column, .medium-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-1 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 8.33333%;\n        -ms-flex: 0 0 8.33333%;\n            flex: 0 0 8.33333%;\n    max-width: 8.33333%; }\n  .large-offset-0 {\n    margin-left: 0%; }\n  .large-2 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 16.66667%;\n        -ms-flex: 0 0 16.66667%;\n            flex: 0 0 16.66667%;\n    max-width: 16.66667%; }\n  .large-offset-1 {\n    margin-left: 8.33333%; }\n  .large-3 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 25%;\n        -ms-flex: 0 0 25%;\n            flex: 0 0 25%;\n    max-width: 25%; }\n  .large-offset-2 {\n    margin-left: 16.66667%; }\n  .large-4 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 33.33333%;\n        -ms-flex: 0 0 33.33333%;\n            flex: 0 0 33.33333%;\n    max-width: 33.33333%; }\n  .large-offset-3 {\n    margin-left: 25%; }\n  .large-5 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 41.66667%;\n        -ms-flex: 0 0 41.66667%;\n            flex: 0 0 41.66667%;\n    max-width: 41.66667%; }\n  .large-offset-4 {\n    margin-left: 33.33333%; }\n  .large-6 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 50%;\n        -ms-flex: 0 0 50%;\n            flex: 0 0 50%;\n    max-width: 50%; }\n  .large-offset-5 {\n    margin-left: 41.66667%; }\n  .large-7 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 58.33333%;\n        -ms-flex: 0 0 58.33333%;\n            flex: 0 0 58.33333%;\n    max-width: 58.33333%; }\n  .large-offset-6 {\n    margin-left: 50%; }\n  .large-8 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 66.66667%;\n        -ms-flex: 0 0 66.66667%;\n            flex: 0 0 66.66667%;\n    max-width: 66.66667%; }\n  .large-offset-7 {\n    margin-left: 58.33333%; }\n  .large-9 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 75%;\n        -ms-flex: 0 0 75%;\n            flex: 0 0 75%;\n    max-width: 75%; }\n  .large-offset-8 {\n    margin-left: 66.66667%; }\n  .large-10 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 83.33333%;\n        -ms-flex: 0 0 83.33333%;\n            flex: 0 0 83.33333%;\n    max-width: 83.33333%; }\n  .large-offset-9 {\n    margin-left: 75%; }\n  .large-11 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 91.66667%;\n        -ms-flex: 0 0 91.66667%;\n            flex: 0 0 91.66667%;\n    max-width: 91.66667%; }\n  .large-offset-10 {\n    margin-left: 83.33333%; }\n  .large-12 {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 100%;\n        -ms-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  .large-offset-11 {\n    margin-left: 91.66667%; }\n  .large-order-1 {\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .large-order-2 {\n    -webkit-box-ordinal-group: 3;\n    -webkit-order: 2;\n        -ms-flex-order: 2;\n            order: 2; }\n  .large-order-3 {\n    -webkit-box-ordinal-group: 4;\n    -webkit-order: 3;\n        -ms-flex-order: 3;\n            order: 3; }\n  .large-order-4 {\n    -webkit-box-ordinal-group: 5;\n    -webkit-order: 4;\n        -ms-flex-order: 4;\n            order: 4; }\n  .large-order-5 {\n    -webkit-box-ordinal-group: 6;\n    -webkit-order: 5;\n        -ms-flex-order: 5;\n            order: 5; }\n  .large-order-6 {\n    -webkit-box-ordinal-group: 7;\n    -webkit-order: 6;\n        -ms-flex-order: 6;\n            order: 6; }\n  .large-up-1 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-1 > .column, .large-up-1 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 100%;\n          -ms-flex: 0 0 100%;\n              flex: 0 0 100%;\n      max-width: 100%; }\n  .large-up-2 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-2 > .column, .large-up-2 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 50%;\n          -ms-flex: 0 0 50%;\n              flex: 0 0 50%;\n      max-width: 50%; }\n  .large-up-3 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-3 > .column, .large-up-3 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 33.33333%;\n          -ms-flex: 0 0 33.33333%;\n              flex: 0 0 33.33333%;\n      max-width: 33.33333%; }\n  .large-up-4 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-4 > .column, .large-up-4 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 25%;\n          -ms-flex: 0 0 25%;\n              flex: 0 0 25%;\n      max-width: 25%; }\n  .large-up-5 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-5 > .column, .large-up-5 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 20%;\n          -ms-flex: 0 0 20%;\n              flex: 0 0 20%;\n      max-width: 20%; }\n  .large-up-6 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-6 > .column, .large-up-6 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 16.66667%;\n          -ms-flex: 0 0 16.66667%;\n              flex: 0 0 16.66667%;\n      max-width: 16.66667%; }\n  .large-up-7 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-7 > .column, .large-up-7 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 14.28571%;\n          -ms-flex: 0 0 14.28571%;\n              flex: 0 0 14.28571%;\n      max-width: 14.28571%; }\n  .large-up-8 {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .large-up-8 > .column, .large-up-8 > .columns {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 12.5%;\n          -ms-flex: 0 0 12.5%;\n              flex: 0 0 12.5%;\n      max-width: 12.5%; } }\n\n@media print, screen and (min-width: 64em) and (min-width: 64em) {\n  .large-expand {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 0px;\n        -ms-flex: 1 1 0px;\n            flex: 1 1 0px; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-flex-dir-row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: row;\n        -ms-flex-direction: row;\n            flex-direction: row; }\n  .large-flex-dir-row-reverse {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse; }\n  .large-flex-dir-column {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column; }\n  .large-flex-dir-column-reverse {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse; }\n  .large-flex-child-auto {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 auto;\n        -ms-flex: 1 1 auto;\n            flex: 1 1 auto; }\n  .large-flex-child-grow {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 0 auto;\n        -ms-flex: 1 0 auto;\n            flex: 1 0 auto; }\n  .large-flex-child-shrink {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 1 auto;\n        -ms-flex: 0 1 auto;\n            flex: 0 1 auto; } }\n\n.row.large-unstack > .column, .row.large-unstack > .columns {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 100%;\n      -ms-flex: 0 0 100%;\n          flex: 0 0 100%; }\n  @media print, screen and (min-width: 64em) {\n    .row.large-unstack > .column, .row.large-unstack > .columns {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-collapse > .column, .large-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .large-uncollapse > .column, .large-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; } }\n\n.shrink {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  max-width: 100%; }\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0; }\n\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility; }\n\nem,\ni {\n  font-style: italic;\n  line-height: inherit; }\n\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit; }\n\nsmall {\n  font-size: 80%;\n  line-height: inherit; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility; }\n  h1 small,\n  h2 small,\n  h3 small,\n  h4 small,\n  h5 small,\n  h6 small {\n    line-height: 0;\n    color: #cacaca; }\n\nh1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n  h1 {\n    font-size: 3rem; }\n  h2 {\n    font-size: 2.5rem; }\n  h3 {\n    font-size: 1.9375rem; }\n  h4 {\n    font-size: 1.5625rem; }\n  h5 {\n    font-size: 1.25rem; }\n  h6 {\n    font-size: 1rem; } }\n\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer; }\n  a:hover, a:focus {\n    color: #1468a0; }\n  a img {\n    border: 0; }\n\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #cacaca;\n  border-left: 0; }\n\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6; }\n\nli {\n  font-size: inherit; }\n\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc; }\n\nol {\n  margin-left: 1.25rem; }\n\nul ul, ol ul, ul ol, ol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0; }\n\ndl {\n  margin-bottom: 1rem; }\n  dl dt {\n    margin-bottom: 0.3rem;\n    font-weight: bold; }\n\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #cacaca; }\n  blockquote, blockquote p {\n    line-height: 1.6;\n    color: #8a8a8a; }\n\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #8a8a8a; }\n  cite:before {\n    content: \"— \"; }\n\nabbr {\n  border-bottom: 1px dotted #0a0a0a;\n  color: #0a0a0a;\n  cursor: help; }\n\nfigure {\n  margin: 0; }\n\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #cacaca;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #0a0a0a; }\n\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #0a0a0a; }\n\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #8a8a8a; }\n\n.lead {\n  font-size: 125%;\n  line-height: 1.6; }\n\n.stat {\n  font-size: 2.5rem;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -1rem; }\n\n.no-bullet {\n  margin-left: 0;\n  list-style: none; }\n\n.text-left {\n  text-align: left; }\n\n.text-right {\n  text-align: right; }\n\n.text-center {\n  text-align: center; }\n\n.text-justify {\n  text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-text-left {\n    text-align: left; }\n  .medium-text-right {\n    text-align: right; }\n  .medium-text-center {\n    text-align: center; }\n  .medium-text-justify {\n    text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-text-left {\n    text-align: left; }\n  .large-text-right {\n    text-align: right; }\n  .large-text-center {\n    text-align: center; }\n  .large-text-justify {\n    text-align: justify; } }\n\n.show-for-print {\n  display: none !important; }\n\n@media print {\n  * {\n    background: transparent !important;\n    -webkit-box-shadow: none !important;\n            box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important; }\n  .show-for-print {\n    display: block !important; }\n  .hide-for-print {\n    display: none !important; }\n  table.show-for-print {\n    display: table !important; }\n  thead.show-for-print {\n    display: table-header-group !important; }\n  tbody.show-for-print {\n    display: table-row-group !important; }\n  tr.show-for-print {\n    display: table-row !important; }\n  td.show-for-print {\n    display: table-cell !important; }\n  th.show-for-print {\n    display: table-cell !important; }\n  a,\n  a:visited {\n    text-decoration: underline; }\n  a[href]:after {\n    content: \" (\" attr(href) \")\"; }\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: ''; }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\"; }\n  pre,\n  blockquote {\n    border: 1px solid #8a8a8a;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr,\n  img {\n    page-break-inside: avoid; }\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; } }\n\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n  display: block;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  color: #0a0a0a;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n  textarea:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n\ntextarea {\n  max-width: 100%; }\n  textarea[rows] {\n    height: auto; }\n\ninput::-webkit-input-placeholder,\ntextarea::-webkit-input-placeholder {\n  color: #cacaca; }\n\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n  color: #cacaca; }\n\ninput:-ms-input-placeholder,\ntextarea:-ms-input-placeholder {\n  color: #cacaca; }\n\ninput::placeholder,\ntextarea::placeholder {\n  color: #cacaca; }\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #e6e6e6;\n  cursor: not-allowed; }\n\n[type='submit'],\n[type='button'] {\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border-radius: 0; }\n\ninput[type='search'] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box; }\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem; }\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0; }\n  [type='checkbox'] + label[for],\n  [type='radio'] + label[for] {\n    cursor: pointer; }\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem; }\n\n[type='file'] {\n  width: 100%; }\n\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #0a0a0a; }\n  label.middle {\n    margin: 0 0 1rem;\n    padding: 0.5625rem 0; }\n\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #0a0a0a; }\n\n.input-group {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n  margin-bottom: 1rem;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch; }\n  .input-group > :first-child {\n    border-radius: 0 0 0 0; }\n  .input-group > :last-child > * {\n    border-radius: 0 0 0 0; }\n\n.input-group-label, .input-group-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap; }\n\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #cacaca;\n  background: #e6e6e6;\n  color: #0a0a0a;\n  text-align: center;\n  white-space: nowrap;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center; }\n  .input-group-label:first-child {\n    border-right: 0; }\n  .input-group-label:last-child {\n    border-left: 0; }\n\n.input-group-field {\n  border-radius: 0;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 0px;\n      -ms-flex: 1 1 0px;\n          flex: 1 1 0px;\n  height: auto;\n  min-width: 0; }\n\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto; }\n  .input-group-button a,\n  .input-group-button input,\n  .input-group-button button,\n  .input-group-button label {\n    height: 2.5rem;\n    padding-top: 0;\n    padding-bottom: 0;\n    font-size: 1rem; }\n\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0; }\n\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem; }\n\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #cacaca; }\n  .fieldset legend {\n    margin: 0;\n    margin-left: -0.1875rem;\n    padding: 0 0.1875rem;\n    background: #fefefe; }\n\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  line-height: normal;\n  color: #0a0a0a;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>\");\n  -webkit-background-origin: content-box;\n          background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  -webkit-background-size: 9px 6px;\n          background-size: 9px 6px;\n  padding-right: 1.5rem;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  @media screen and (min-width: 0\\0) {\n    select {\n      background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n  select:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  select:disabled {\n    background-color: #e6e6e6;\n    cursor: not-allowed; }\n  select::-ms-expand {\n    display: none; }\n  select[multiple] {\n    height: auto;\n    background-image: none; }\n\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea; }\n  .is-invalid-input:not(:focus)::-webkit-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::-moz-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus):-ms-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::placeholder {\n    color: #cc4b37; }\n\n.is-invalid-label {\n  color: #cc4b37; }\n\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37; }\n  .form-error.is-visible {\n    display: block; }\n\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  -webkit-appearance: none;\n  border: 1px solid transparent;\n  border-radius: 0;\n  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-size: 0.9rem;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .button {\n    outline: 0; }\n  .button:hover, .button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  .button.tiny {\n    font-size: 0.6rem; }\n  .button.small {\n    font-size: 0.75rem; }\n  .button.large {\n    font-size: 1.25rem; }\n  .button.expanded {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0; }\n  .button.primary {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button.primary:hover, .button.primary:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button.secondary {\n    background-color: #767676;\n    color: #fefefe; }\n    .button.secondary:hover, .button.secondary:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button.success {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button.success:hover, .button.success:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button.warning {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button.warning:hover, .button.warning:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button.alert {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button.alert:hover, .button.alert:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button.hollow {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    .button.hollow, .button.hollow:hover, .button.hollow:focus {\n      background-color: transparent; }\n    .button.hollow:hover, .button.hollow:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n    .button.hollow.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      .button.hollow.primary:hover, .button.hollow.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n    .button.hollow.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n    .button.hollow.success {\n      border: 1px solid #3adb76;\n      color: #3adb76; }\n      .button.hollow.success:hover, .button.hollow.success:focus {\n        border-color: #157539;\n        color: #157539; }\n    .button.hollow.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      .button.hollow.warning:hover, .button.hollow.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n    .button.hollow.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      .button.hollow.alert:hover, .button.hollow.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n  .button.disabled, .button[disabled] {\n    opacity: 0.25;\n    cursor: not-allowed; }\n    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {\n      background-color: #1779ba;\n      color: #fefefe; }\n    .button.disabled.primary, .button[disabled].primary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {\n        background-color: #1779ba;\n        color: #fefefe; }\n    .button.disabled.secondary, .button[disabled].secondary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n        background-color: #767676;\n        color: #fefefe; }\n    .button.disabled.success, .button[disabled].success {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {\n        background-color: #3adb76;\n        color: #fefefe; }\n    .button.disabled.warning, .button[disabled].warning {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {\n        background-color: #ffae00;\n        color: #fefefe; }\n    .button.disabled.alert, .button[disabled].alert {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {\n        background-color: #cc4b37;\n        color: #fefefe; }\n  .button.dropdown::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.4em;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #fefefe transparent transparent;\n    position: relative;\n    top: 0.4em;\n    display: inline-block;\n    float: right;\n    margin-left: 1em; }\n  .button.arrow-only::after {\n    top: -0.1em;\n    float: none;\n    margin-left: 0; }\n\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none; }\n\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba; }\n  :last-child:not(.is-active) > .accordion-title {\n    border-bottom: 1px solid #e6e6e6;\n    border-radius: 0 0 0 0; }\n  .accordion-title:hover, .accordion-title:focus {\n    background-color: #e6e6e6; }\n  .accordion-title::before {\n    position: absolute;\n    top: 50%;\n    right: 1rem;\n    margin-top: -0.5rem;\n    content: '+'; }\n  .is-active > .accordion-title::before {\n    content: '–'; }\n\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #0a0a0a; }\n  :last-child > .accordion-content:last-child {\n    border-bottom: 1px solid #e6e6e6; }\n\n.is-accordion-submenu-parent > a {\n  position: relative; }\n  .is-accordion-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -3px;\n    right: 1rem; }\n\n.is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n  -webkit-transform-origin: 50% 50%;\n      -ms-transform-origin: 50% 50%;\n          transform-origin: 50% 50%; }\n\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe; }\n  .badge.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .badge.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .badge.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .badge.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .badge.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none; }\n  .breadcrumbs::before, .breadcrumbs::after {\n    display: table;\n    content: ' ';\n    -webkit-flex-basis: 0;\n        -ms-flex-preferred-size: 0;\n            flex-basis: 0;\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .breadcrumbs::after {\n    clear: both; }\n  .breadcrumbs li {\n    float: left;\n    font-size: 0.6875rem;\n    color: #0a0a0a;\n    cursor: default;\n    text-transform: uppercase; }\n    .breadcrumbs li:not(:last-child)::after {\n      position: relative;\n      top: 1px;\n      margin: 0 0.75rem;\n      opacity: 1;\n      content: \"/\";\n      color: #cacaca; }\n  .breadcrumbs a {\n    color: #1779ba; }\n    .breadcrumbs a:hover {\n      text-decoration: underline; }\n  .breadcrumbs .disabled {\n    color: #cacaca;\n    cursor: not-allowed; }\n\n.button-group {\n  margin-bottom: 1rem;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch; }\n  .button-group::before, .button-group::after {\n    display: table;\n    content: ' ';\n    -webkit-flex-basis: 0;\n        -ms-flex-preferred-size: 0;\n            flex-basis: 0;\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .button-group::after {\n    clear: both; }\n  .button-group .button {\n    margin: 0;\n    margin-right: 1px;\n    margin-bottom: 1px;\n    font-size: 0.9rem;\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 auto;\n        -ms-flex: 0 0 auto;\n            flex: 0 0 auto; }\n    .button-group .button:last-child {\n      margin-right: 0; }\n  .button-group.tiny .button {\n    font-size: 0.6rem; }\n  .button-group.small .button {\n    font-size: 0.75rem; }\n  .button-group.large .button {\n    font-size: 1.25rem; }\n  .button-group.expanded .button {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 0px;\n        -ms-flex: 1 1 0px;\n            flex: 1 1 0px; }\n  .button-group.primary .button {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button-group.primary .button:hover, .button-group.primary .button:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button-group.secondary .button {\n    background-color: #767676;\n    color: #fefefe; }\n    .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button-group.success .button {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button-group.success .button:hover, .button-group.success .button:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button-group.warning .button {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button-group.warning .button:hover, .button-group.warning .button:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button-group.alert .button {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button-group.alert .button:hover, .button-group.alert .button:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 100%;\n          -ms-flex: 0 0 100%;\n              flex: 0 0 100%; }\n      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n        margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .button-group.stacked-for-small .button {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px;\n      margin-bottom: 0; } }\n  @media print, screen and (min-width: 64em) {\n    .button-group.stacked-for-medium .button {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px;\n      margin-bottom: 0; } }\n  @media screen and (max-width: 39.9375em) {\n    .button-group.stacked-for-small.expanded {\n      display: block; }\n      .button-group.stacked-for-small.expanded .button {\n        display: block;\n        margin-right: 0; } }\n\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(10, 10, 10, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #0a0a0a; }\n  .callout > :first-child {\n    margin-top: 0; }\n  .callout > :last-child {\n    margin-bottom: 0; }\n  .callout.primary {\n    background-color: #d7ecfa;\n    color: #0a0a0a; }\n  .callout.secondary {\n    background-color: #eaeaea;\n    color: #0a0a0a; }\n  .callout.success {\n    background-color: #e1faea;\n    color: #0a0a0a; }\n  .callout.warning {\n    background-color: #fff3d9;\n    color: #0a0a0a; }\n  .callout.alert {\n    background-color: #f7e4e1;\n    color: #0a0a0a; }\n  .callout.small {\n    padding-top: 0.5rem;\n    padding-right: 0.5rem;\n    padding-bottom: 0.5rem;\n    padding-left: 0.5rem; }\n  .callout.large {\n    padding-top: 3rem;\n    padding-right: 3rem;\n    padding-bottom: 3rem;\n    padding-left: 3rem; }\n\n.card {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin-bottom: 1rem;\n  border: 1px solid #e6e6e6;\n  border-radius: 0;\n  background: #fefefe;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  overflow: hidden;\n  color: #0a0a0a; }\n  .card > :last-child {\n    margin-bottom: 0; }\n\n.card-divider {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  padding: 1rem;\n  background: #e6e6e6; }\n  .card-divider > :last-child {\n    margin-bottom: 0; }\n\n.card-section {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  padding: 1rem; }\n  .card-section > :last-child {\n    margin-bottom: 0; }\n\n.close-button {\n  position: absolute;\n  color: #8a8a8a;\n  cursor: pointer; }\n  [data-whatinput='mouse'] .close-button {\n    outline: 0; }\n  .close-button:hover, .close-button:focus {\n    color: #0a0a0a; }\n  .close-button.small {\n    right: 0.66rem;\n    top: 0.33em;\n    font-size: 1.5em;\n    line-height: 1; }\n  .close-button, .close-button.medium {\n    right: 1rem;\n    top: 0.5rem;\n    font-size: 2em;\n    line-height: 1; }\n\n.menu {\n  margin: 0;\n  list-style-type: none;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  width: 100%; }\n  .menu > li {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 auto;\n        -ms-flex: 0 0 auto;\n            flex: 0 0 auto; }\n    [data-whatinput='mouse'] .menu > li {\n      outline: 0; }\n  .menu > li > a {\n    display: block;\n    padding: 0.7rem 1rem;\n    line-height: 1; }\n  .menu input,\n  .menu select,\n  .menu a,\n  .menu button {\n    margin-bottom: 0; }\n  .menu > li > a {\n    display: -webkit-box;\n    display: -webkit-flex;\n    display: -ms-flexbox;\n    display: flex; }\n  .menu > li > a {\n    -webkit-flex-flow: row nowrap;\n        -ms-flex-flow: row nowrap;\n            flex-flow: row nowrap; }\n    .menu > li > a img,\n    .menu > li > a i,\n    .menu > li > a svg {\n      margin-right: 0.25rem; }\n  .menu, .menu.horizontal {\n    -webkit-flex-wrap: nowrap;\n        -ms-flex-wrap: nowrap;\n            flex-wrap: nowrap; }\n    .menu > li, .menu.horizontal > li {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 auto;\n          -ms-flex: 0 0 auto;\n              flex: 0 0 auto; }\n  .menu.expanded > li {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 0px;\n        -ms-flex: 1 1 0px;\n            flex: 1 1 0px; }\n  .menu.expanded > li:first-child:last-child {\n    width: 100%; }\n  .menu.vertical {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap; }\n    .menu.vertical > li {\n      -webkit-box-flex: 0;\n      -webkit-flex: 0 0 100%;\n          -ms-flex: 0 0 100%;\n              flex: 0 0 100%;\n      max-width: 100%; }\n    .menu.vertical > li > a {\n      -webkit-box-pack: start;\n      -webkit-justify-content: flex-start;\n          -ms-flex-pack: start;\n              justify-content: flex-start;\n      -webkit-box-align: start;\n      -webkit-align-items: flex-start;\n          -ms-flex-align: start;\n              align-items: flex-start; }\n  @media print, screen and (min-width: 40em) {\n    .menu.medium-horizontal {\n      -webkit-flex-wrap: nowrap;\n          -ms-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n      .menu.medium-horizontal > li {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 auto;\n            -ms-flex: 0 0 auto;\n                flex: 0 0 auto; }\n    .menu.medium-expanded > li {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px; }\n    .menu.medium-expanded > li:first-child:last-child {\n      width: 100%; }\n    .menu.medium-vertical {\n      -webkit-flex-wrap: wrap;\n          -ms-flex-wrap: wrap;\n              flex-wrap: wrap; }\n      .menu.medium-vertical > li {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 100%;\n            -ms-flex: 0 0 100%;\n                flex: 0 0 100%;\n        max-width: 100%; }\n      .menu.medium-vertical > li > a {\n        -webkit-box-pack: start;\n        -webkit-justify-content: flex-start;\n            -ms-flex-pack: start;\n                justify-content: flex-start;\n        -webkit-box-align: start;\n        -webkit-align-items: flex-start;\n            -ms-flex-align: start;\n                align-items: flex-start; } }\n  @media print, screen and (min-width: 64em) {\n    .menu.large-horizontal {\n      -webkit-flex-wrap: nowrap;\n          -ms-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n      .menu.large-horizontal > li {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 auto;\n            -ms-flex: 0 0 auto;\n                flex: 0 0 auto; }\n    .menu.large-expanded > li {\n      -webkit-box-flex: 1;\n      -webkit-flex: 1 1 0px;\n          -ms-flex: 1 1 0px;\n              flex: 1 1 0px; }\n    .menu.large-expanded > li:first-child:last-child {\n      width: 100%; }\n    .menu.large-vertical {\n      -webkit-flex-wrap: wrap;\n          -ms-flex-wrap: wrap;\n              flex-wrap: wrap; }\n      .menu.large-vertical > li {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 100%;\n            -ms-flex: 0 0 100%;\n                flex: 0 0 100%;\n        max-width: 100%; }\n      .menu.large-vertical > li > a {\n        -webkit-box-pack: start;\n        -webkit-justify-content: flex-start;\n            -ms-flex-pack: start;\n                justify-content: flex-start;\n        -webkit-box-align: start;\n        -webkit-align-items: flex-start;\n            -ms-flex-align: start;\n                align-items: flex-start; } }\n  .menu.simple li {\n    display: inline-block;\n    margin-right: 1rem;\n    line-height: 1; }\n  .menu.simple a {\n    padding: 0; }\n  .menu.align-right {\n    -webkit-box-pack: end;\n    -webkit-justify-content: flex-end;\n        -ms-flex-pack: end;\n            justify-content: flex-end; }\n  .menu.icon-top > li > a {\n    -webkit-flex-flow: column nowrap;\n        -ms-flex-flow: column nowrap;\n            flex-flow: column nowrap; }\n    .menu.icon-top > li > a img,\n    .menu.icon-top > li > a i,\n    .menu.icon-top > li > a svg {\n      -webkit-align-self: stretch;\n          -ms-flex-item-align: stretch;\n                  -ms-grid-row-align: stretch;\n              align-self: stretch;\n      margin-bottom: 0.25rem;\n      text-align: center; }\n  .menu.icon-top.vertical a > span {\n    margin: auto; }\n  .menu.nested {\n    margin-left: 1rem; }\n  .menu .active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  .menu.menu-bordered li {\n    border: 1px solid #e6e6e6; }\n    .menu.menu-bordered li:not(:first-child) {\n      border-top: 0; }\n  .menu.menu-hover li:hover {\n    background-color: #e6e6e6; }\n\n.menu-text {\n  padding-top: 0;\n  padding-bottom: 0;\n  padding: 0.7rem 1rem;\n  font-weight: bold;\n  line-height: 1;\n  color: inherit; }\n\n.menu-centered {\n  text-align: center; }\n  .menu-centered > .menu {\n    display: inline-block; }\n\n.no-js [data-responsive-menu] ul {\n  display: none; }\n\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #fefefe;\n    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n    content: ''; }\n  .menu-icon:hover::after {\n    background: #cacaca;\n    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;\n            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }\n\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon.dark::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #0a0a0a;\n    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n    content: ''; }\n  .menu-icon.dark:hover::after {\n    background: #8a8a8a;\n    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;\n            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }\n\n.is-drilldown {\n  position: relative;\n  overflow: hidden; }\n  .is-drilldown li {\n    display: block; }\n  .is-drilldown.animate-height {\n    -webkit-transition: height 0.5s;\n    transition: height 0.5s; }\n\n.is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  -webkit-transition: -webkit-transform 0.15s linear;\n  transition: -webkit-transform 0.15s linear;\n  transition: transform 0.15s linear;\n  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }\n  .is-drilldown-submenu.is-active {\n    z-index: 1;\n    display: block;\n    -webkit-transform: translateX(-100%);\n        -ms-transform: translateX(-100%);\n            transform: translateX(-100%); }\n  .is-drilldown-submenu.is-closing {\n    -webkit-transform: translateX(100%);\n        -ms-transform: translateX(100%);\n            transform: translateX(100%); }\n\n.drilldown-submenu-cover-previous {\n  min-height: 100%; }\n\n.is-drilldown-submenu-parent > a {\n  position: relative; }\n  .is-drilldown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n    position: absolute;\n    top: 50%;\n    margin-top: -6px;\n    right: 1rem; }\n\n.js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  border-left-width: 0;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem;\n  border-left-width: 0; }\n\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: block;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem; }\n  .dropdown-pane.is-open {\n    visibility: visible; }\n\n.dropdown-pane.tiny {\n  width: 100px; }\n\n.dropdown-pane.small {\n  width: 200px; }\n\n.dropdown-pane.large {\n  width: 400px; }\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  margin-top: -3px; }\n\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0; }\n\n.no-js .dropdown.menu ul {\n  display: none; }\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0; }\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  right: 100%;\n  left: auto; }\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%; }\n\n.dropdown.menu.vertical > li > a::after {\n  right: 14px; }\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent; }\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px; }\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px; }\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.is-dropdown-menu.vertical {\n  width: 100px; }\n  .is-dropdown-menu.vertical.align-right {\n    float: right; }\n\n.is-dropdown-submenu-parent {\n  position: relative; }\n  .is-dropdown-submenu-parent a::after {\n    position: absolute;\n    top: 50%;\n    right: 5px;\n    margin-top: -6px; }\n  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n    top: 100%;\n    left: auto; }\n  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #cacaca;\n  background: #fefefe; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n    right: 14px; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; }\n  .is-dropdown-submenu .is-dropdown-submenu {\n    margin-top: -1px; }\n  .is-dropdown-submenu > li {\n    width: 100%; }\n  .is-dropdown-submenu.js-dropdown-active {\n    display: block; }\n\n.responsive-embed, .flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden; }\n  .responsive-embed iframe,\n  .responsive-embed object,\n  .responsive-embed embed,\n  .responsive-embed video, .flex-video iframe,\n  .flex-video object,\n  .flex-video embed,\n  .flex-video video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%; }\n  .responsive-embed.widescreen, .flex-video.widescreen {\n    padding-bottom: 56.25%; }\n\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe; }\n  .label.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .label.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .label.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .label.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .label.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.media-object {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-bottom: 1rem;\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap; }\n  .media-object img {\n    max-width: none; }\n  @media screen and (max-width: 39.9375em) {\n    .media-object.stack-for-small {\n      -webkit-flex-wrap: wrap;\n          -ms-flex-wrap: wrap;\n              flex-wrap: wrap; } }\n  @media screen and (max-width: 39.9375em) {\n    .media-object.stack-for-small .media-object-section {\n      padding: 0;\n      padding-bottom: 1rem;\n      -webkit-flex-basis: 100%;\n          -ms-flex-preferred-size: 100%;\n              flex-basis: 100%;\n      max-width: 100%; }\n      .media-object.stack-for-small .media-object-section img {\n        width: 100%; } }\n\n.media-object-section {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto; }\n  .media-object-section:first-child {\n    padding-right: 1rem; }\n  .media-object-section:last-child:not(:nth-child(2)) {\n    padding-left: 1rem; }\n  .media-object-section > :last-child {\n    margin-bottom: 0; }\n  .media-object-section.main-section {\n    -webkit-box-flex: 1;\n    -webkit-flex: 1 1 0px;\n        -ms-flex: 1 1 0px;\n            flex: 1 1 0px; }\n\n.is-off-canvas-open {\n  overflow: hidden; }\n\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden; }\n  .js-off-canvas-overlay.is-visible {\n    opacity: 1;\n    visibility: visible; }\n  .js-off-canvas-overlay.is-closable {\n    cursor: pointer; }\n  .js-off-canvas-overlay.is-overlay-absolute {\n    position: absolute; }\n  .js-off-canvas-overlay.is-overlay-fixed {\n    position: fixed; }\n\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden; }\n\n.off-canvas {\n  position: fixed;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas {\n    outline: 0; }\n  .off-canvas.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas-absolute {\n    outline: 0; }\n  .off-canvas-absolute.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas-absolute.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas-absolute.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.position-left {\n  top: 0;\n  left: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(-250px);\n      -ms-transform: translateX(-250px);\n          transform: translateX(-250px);\n  overflow-y: auto; }\n  .position-left.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(250px);\n        -ms-transform: translateX(250px);\n            transform: translateX(250px); }\n  .position-left.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-right {\n  top: 0;\n  right: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(250px);\n      -ms-transform: translateX(250px);\n          transform: translateX(250px);\n  overflow-y: auto; }\n  .position-right.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(-250px);\n        -ms-transform: translateX(-250px);\n            transform: translateX(-250px); }\n  .position-right.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(-250px);\n      -ms-transform: translateY(-250px);\n          transform: translateY(-250px);\n  overflow-x: auto; }\n  .position-top.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(250px);\n        -ms-transform: translateY(250px);\n            transform: translateY(250px); }\n  .position-top.is-transition-push::after {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(250px);\n      -ms-transform: translateY(250px);\n          transform: translateY(250px);\n  overflow-x: auto; }\n  .position-bottom.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(-250px);\n        -ms-transform: translateY(-250px);\n            transform: translateY(-250px); }\n  .position-bottom.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.off-canvas-content {\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n@media print, screen and (min-width: 40em) {\n  .position-left.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-medium ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-medium ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-medium ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-medium ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n  .position-left.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-large ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-large ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-large ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-large ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n.orbit {\n  position: relative; }\n\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden; }\n\n.orbit-slide {\n  width: 100%; }\n  .orbit-slide.no-motionui.is-active {\n    top: 0;\n    left: 0; }\n\n.orbit-figure {\n  margin: 0; }\n\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0; }\n\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(10, 10, 10, 0.5);\n  color: #fefefe; }\n\n.orbit-previous, .orbit-next {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n    outline: 0; }\n  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n    background-color: rgba(10, 10, 10, 0.5); }\n\n.orbit-previous {\n  left: 0; }\n\n.orbit-next {\n  left: auto;\n  right: 0; }\n\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center; }\n  [data-whatinput='mouse'] .orbit-bullets {\n    outline: 0; }\n  .orbit-bullets button {\n    width: 1.2rem;\n    height: 1.2rem;\n    margin: 0.1rem;\n    border-radius: 50%;\n    background-color: #cacaca; }\n    .orbit-bullets button:hover {\n      background-color: #8a8a8a; }\n    .orbit-bullets button.is-active {\n      background-color: #8a8a8a; }\n\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem; }\n  .pagination::before, .pagination::after {\n    display: table;\n    content: ' ';\n    -webkit-flex-basis: 0;\n        -ms-flex-preferred-size: 0;\n            flex-basis: 0;\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .pagination::after {\n    clear: both; }\n  .pagination li {\n    margin-right: 0.0625rem;\n    border-radius: 0;\n    font-size: 0.875rem;\n    display: none; }\n    .pagination li:last-child, .pagination li:first-child {\n      display: inline-block; }\n    @media print, screen and (min-width: 40em) {\n      .pagination li {\n        display: inline-block; } }\n  .pagination a,\n  .pagination button {\n    display: block;\n    padding: 0.1875rem 0.625rem;\n    border-radius: 0;\n    color: #0a0a0a; }\n    .pagination a:hover,\n    .pagination button:hover {\n      background: #e6e6e6; }\n  .pagination .current {\n    padding: 0.1875rem 0.625rem;\n    background: #1779ba;\n    color: #fefefe;\n    cursor: default; }\n  .pagination .disabled {\n    padding: 0.1875rem 0.625rem;\n    color: #cacaca;\n    cursor: not-allowed; }\n    .pagination .disabled:hover {\n      background: transparent; }\n  .pagination .ellipsis::after {\n    padding: 0.1875rem 0.625rem;\n    content: '\\2026';\n    color: #0a0a0a; }\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab'; }\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb'; }\n\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #cacaca; }\n  .progress.primary .progress-meter {\n    background-color: #1779ba; }\n  .progress.secondary .progress-meter {\n    background-color: #767676; }\n  .progress.success .progress-meter {\n    background-color: #3adb76; }\n  .progress.warning .progress-meter {\n    background-color: #ffae00; }\n  .progress.alert .progress-meter {\n    background-color: #cc4b37; }\n\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba; }\n\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translate(-50%, -50%);\n      -ms-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  position: absolute;\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap; }\n\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #e6e6e6;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -ms-touch-action: none;\n      touch-action: none; }\n\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #cacaca;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out; }\n  .slider-fill.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  position: absolute;\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation; }\n  [data-whatinput='mouse'] .slider-handle {\n    outline: 0; }\n  .slider-handle:hover {\n    background-color: #14679e; }\n  .slider-handle.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed; }\n\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  -webkit-transform: scale(1, -1);\n      -ms-transform: scale(1, -1);\n          transform: scale(1, -1); }\n  .slider.vertical .slider-fill {\n    top: 0;\n    width: 0.5rem;\n    max-height: 100%; }\n  .slider.vertical .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 1.4rem;\n    height: 1.4rem;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n\n.sticky-container {\n  position: relative; }\n\n.sticky {\n  position: relative;\n  z-index: 0;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0); }\n\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5; }\n  .sticky.is-stuck.is-at-top {\n    top: 0; }\n  .sticky.is-stuck.is-at-bottom {\n    bottom: 0; }\n\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto; }\n  .sticky.is-anchored.is-at-bottom {\n    bottom: 0; }\n\nbody.is-reveal-open {\n  overflow: hidden; }\n\nhtml.is-reveal-open,\nhtml.is-reveal-open body {\n  min-height: 100%;\n  overflow: hidden;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(10, 10, 10, 0.45);\n  overflow-y: scroll; }\n\n.reveal {\n  z-index: 1006;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto; }\n  [data-whatinput='mouse'] .reveal {\n    outline: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      min-height: 0; } }\n  .reveal .column, .reveal .columns,\n  .reveal .columns {\n    min-width: 0; }\n  .reveal > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      width: 600px;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal .reveal {\n      right: auto;\n      left: auto;\n      margin: 0 auto; } }\n  .reveal.collapse {\n    padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal.tiny {\n      width: 30%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.small {\n      width: 50%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.large {\n      width: 90%;\n      max-width: 75rem; } }\n  .reveal.full {\n    top: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    height: 100vh;\n    min-height: 100vh;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0; }\n  @media screen and (max-width: 39.9375em) {\n    .reveal {\n      top: 0;\n      left: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      height: 100vh;\n      min-height: 100vh;\n      margin-left: 0;\n      border: 0;\n      border-radius: 0; } }\n  .reveal.without-overlay {\n    position: fixed; }\n\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0; }\n\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #cacaca;\n  -webkit-transition: all 0.25s ease-out;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer; }\n  input + .switch-paddle {\n    margin: 0; }\n  .switch-paddle::after {\n    position: absolute;\n    top: 0.25rem;\n    left: 0.25rem;\n    display: block;\n    width: 1.5rem;\n    height: 1.5rem;\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n    border-radius: 0;\n    background: #fefefe;\n    -webkit-transition: all 0.25s ease-out;\n    transition: all 0.25s ease-out;\n    content: ''; }\n  input:checked ~ .switch-paddle {\n    background: #1779ba; }\n    input:checked ~ .switch-paddle::after {\n      left: 2.25rem; }\n  [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n    outline: 0; }\n\n.switch-active, .switch-inactive {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%); }\n\n.switch-active {\n  left: 8%;\n  display: none; }\n  input:checked + label > .switch-active {\n    display: block; }\n\n.switch-inactive {\n  right: 15%; }\n  input:checked + label > .switch-inactive {\n    display: none; }\n\n.switch.tiny {\n  height: 1.5rem; }\n  .switch.tiny .switch-paddle {\n    width: 3rem;\n    height: 1.5rem;\n    font-size: 0.625rem; }\n  .switch.tiny .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1rem;\n    height: 1rem; }\n  .switch.tiny input:checked ~ .switch-paddle::after {\n    left: 1.75rem; }\n\n.switch.small {\n  height: 1.75rem; }\n  .switch.small .switch-paddle {\n    width: 3.5rem;\n    height: 1.75rem;\n    font-size: 0.75rem; }\n  .switch.small .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1.25rem;\n    height: 1.25rem; }\n  .switch.small input:checked ~ .switch-paddle::after {\n    left: 2rem; }\n\n.switch.large {\n  height: 2.5rem; }\n  .switch.large .switch-paddle {\n    width: 5rem;\n    height: 2.5rem;\n    font-size: 1rem; }\n  .switch.large .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 2rem;\n    height: 2rem; }\n  .switch.large input:checked ~ .switch-paddle::after {\n    left: 2.75rem; }\n\ntable {\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0; }\n  table thead,\n  table tbody,\n  table tfoot {\n    border: 1px solid #f1f1f1;\n    background-color: #fefefe; }\n  table caption {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold; }\n  table thead {\n    background: #f8f8f8;\n    color: #0a0a0a; }\n  table tfoot {\n    background: #f1f1f1;\n    color: #0a0a0a; }\n  table thead tr,\n  table tfoot tr {\n    background: transparent; }\n  table thead th,\n  table thead td,\n  table tfoot th,\n  table tfoot td {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold;\n    text-align: left; }\n  table tbody th,\n  table tbody td {\n    padding: 0.5rem 0.625rem 0.625rem; }\n  table tbody tr:nth-child(even) {\n    border-bottom: 0;\n    background-color: #f1f1f1; }\n  table.unstriped tbody {\n    background-color: #fefefe; }\n    table.unstriped tbody tr {\n      border-bottom: 0;\n      border-bottom: 1px solid #f1f1f1;\n      background-color: #fefefe; }\n\n@media screen and (max-width: 63.9375em) {\n  table.stack thead {\n    display: none; }\n  table.stack tfoot {\n    display: none; }\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block; }\n  table.stack td {\n    border-top: 0; } }\n\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto; }\n\ntable.hover thead tr:hover {\n  background-color: #f3f3f3; }\n\ntable.hover tfoot tr:hover {\n  background-color: #ececec; }\n\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9; }\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec; }\n\n.table-scroll {\n  overflow-x: auto; }\n  .table-scroll table {\n    width: auto; }\n\n.tabs {\n  margin: 0;\n  border: 1px solid #e6e6e6;\n  background: #fefefe;\n  list-style-type: none; }\n  .tabs::before, .tabs::after {\n    display: table;\n    content: ' ';\n    -webkit-flex-basis: 0;\n        -ms-flex-preferred-size: 0;\n            flex-basis: 0;\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .tabs::after {\n    clear: both; }\n\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto; }\n\n.tabs.simple > li > a {\n  padding: 0; }\n  .tabs.simple > li > a:hover {\n    background: transparent; }\n\n.tabs.primary {\n  background: #1779ba; }\n  .tabs.primary > li > a {\n    color: #fefefe; }\n    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n      background: #1673b1; }\n\n.tabs-title {\n  float: left; }\n  .tabs-title > a {\n    display: block;\n    padding: 1.25rem 1.5rem;\n    font-size: 0.75rem;\n    line-height: 1;\n    color: #1779ba; }\n    .tabs-title > a:hover {\n      background: #fefefe;\n      color: #1468a0; }\n    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n      background: #e6e6e6;\n      color: #1779ba; }\n\n.tabs-content {\n  border: 1px solid #e6e6e6;\n  border-top: 0;\n  background: #fefefe;\n  color: #0a0a0a;\n  -webkit-transition: all 0.5s ease;\n  transition: all 0.5s ease; }\n\n.tabs-content.vertical {\n  border: 1px solid #e6e6e6;\n  border-left: 0; }\n\n.tabs-panel {\n  display: none;\n  padding: 1rem; }\n  .tabs-panel[aria-hidden=\"false\"] {\n    display: block; }\n\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: solid 4px #fefefe;\n  border-radius: 0;\n  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  line-height: 0; }\n\na.thumbnail {\n  -webkit-transition: -webkit-box-shadow 200ms ease-out;\n  transition: -webkit-box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }\n  a.thumbnail:hover, a.thumbnail:focus {\n    -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n            box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n  a.thumbnail image {\n    -webkit-box-shadow: none;\n            box-shadow: none; }\n\n.title-bar {\n  padding: 0.5rem;\n  background: #0a0a0a;\n  color: #fefefe;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-pack: justify;\n  -webkit-justify-content: space-between;\n      -ms-flex-pack: justify;\n          justify-content: space-between;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center; }\n  .title-bar .menu-icon {\n    margin-left: 0.25rem;\n    margin-right: 0.25rem; }\n\n.title-bar-left,\n.title-bar-right {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 0px;\n      -ms-flex: 1 1 0px;\n          flex: 1 1 0px; }\n\n.title-bar-right {\n  text-align: right; }\n\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold; }\n\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #8a8a8a;\n  font-weight: bold;\n  cursor: help; }\n\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #0a0a0a;\n  font-size: 80%;\n  color: #fefefe; }\n  .tooltip::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent #0a0a0a;\n    position: absolute;\n    bottom: 100%;\n    left: 50%;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  .tooltip.top::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #0a0a0a transparent transparent;\n    top: 100%;\n    bottom: auto; }\n  .tooltip.left::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #0a0a0a;\n    top: 50%;\n    bottom: auto;\n    left: 100%;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  .tooltip.right::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #0a0a0a transparent transparent;\n    top: 50%;\n    right: 100%;\n    bottom: auto;\n    left: auto;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n\n.top-bar {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap;\n  -webkit-box-pack: justify;\n  -webkit-justify-content: space-between;\n      -ms-flex-pack: justify;\n          justify-content: space-between;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  padding: 0.5rem;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap; }\n  .top-bar,\n  .top-bar ul {\n    background-color: #e6e6e6; }\n  .top-bar input {\n    max-width: 200px;\n    margin-right: 1rem; }\n  .top-bar .input-group-field {\n    width: 100%;\n    margin-right: 0; }\n  .top-bar input.button {\n    width: auto; }\n  .top-bar .top-bar-left,\n  .top-bar .top-bar-right {\n    -webkit-box-flex: 0;\n    -webkit-flex: 0 0 100%;\n        -ms-flex: 0 0 100%;\n            flex: 0 0 100%;\n    max-width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    .top-bar {\n      -webkit-flex-wrap: nowrap;\n          -ms-flex-wrap: nowrap;\n              flex-wrap: nowrap; }\n      .top-bar .top-bar-left {\n        -webkit-box-flex: 1;\n        -webkit-flex: 1 1 auto;\n            -ms-flex: 1 1 auto;\n                flex: 1 1 auto; }\n      .top-bar .top-bar-right {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 1 auto;\n            -ms-flex: 0 1 auto;\n                flex: 0 1 auto; } }\n  @media screen and (max-width: 63.9375em) {\n    .top-bar.stacked-for-medium {\n      -webkit-flex-wrap: wrap;\n          -ms-flex-wrap: wrap;\n              flex-wrap: wrap; }\n      .top-bar.stacked-for-medium .top-bar-left,\n      .top-bar.stacked-for-medium .top-bar-right {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 100%;\n            -ms-flex: 0 0 100%;\n                flex: 0 0 100%;\n        max-width: 100%; } }\n  @media screen and (max-width: 74.9375em) {\n    .top-bar.stacked-for-large {\n      -webkit-flex-wrap: wrap;\n          -ms-flex-wrap: wrap;\n              flex-wrap: wrap; }\n      .top-bar.stacked-for-large .top-bar-left,\n      .top-bar.stacked-for-large .top-bar-right {\n        -webkit-box-flex: 0;\n        -webkit-flex: 0 0 100%;\n            -ms-flex: 0 0 100%;\n                flex: 0 0 100%;\n        max-width: 100%; } }\n\n.top-bar-title {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  margin: 0.5rem 1rem 0.5rem 0; }\n\n.top-bar-left,\n.top-bar-right {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto; }\n\n.hide {\n  display: none !important; }\n\n.invisible {\n  visibility: hidden; }\n\n@media screen and (max-width: 39.9375em) {\n  .hide-for-small-only {\n    display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  .show-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  .hide-for-medium {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em) {\n  .show-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.9375em) {\n  .hide-for-medium-only {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {\n  .show-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  .hide-for-large {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em) {\n  .show-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.9375em) {\n  .hide-for-large-only {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {\n  .show-for-large-only {\n    display: none !important; } }\n\n.show-for-sr,\n.show-on-focus {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0); }\n\n.show-on-focus:active, .show-on-focus:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto; }\n\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important; }\n  @media screen and (orientation: landscape) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: block !important; } }\n  @media screen and (orientation: portrait) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: none !important; } }\n\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important; }\n  @media screen and (orientation: landscape) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: none !important; } }\n  @media screen and (orientation: portrait) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: block !important; } }\n\n.float-left {\n  float: left !important; }\n\n.float-right {\n  float: right !important; }\n\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto; }\n\n.clearfix::before, .clearfix::after {\n  display: table;\n  content: ' ';\n  -webkit-flex-basis: 0;\n      -ms-flex-preferred-size: 0;\n          flex-basis: 0;\n  -webkit-box-ordinal-group: 2;\n  -webkit-order: 1;\n      -ms-flex-order: 1;\n          order: 1; }\n\n.clearfix::after {\n  clear: both; }\n\n.align-right {\n  -webkit-box-pack: end;\n  -webkit-justify-content: flex-end;\n      -ms-flex-pack: end;\n          justify-content: flex-end; }\n\n.align-center {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center; }\n\n.align-justify {\n  -webkit-box-pack: justify;\n  -webkit-justify-content: space-between;\n      -ms-flex-pack: justify;\n          justify-content: space-between; }\n\n.align-spaced {\n  -webkit-justify-content: space-around;\n      -ms-flex-pack: distribute;\n          justify-content: space-around; }\n\n.align-top {\n  -webkit-box-align: start;\n  -webkit-align-items: flex-start;\n      -ms-flex-align: start;\n          align-items: flex-start; }\n\n.align-self-top {\n  -webkit-align-self: flex-start;\n      -ms-flex-item-align: start;\n          align-self: flex-start; }\n\n.align-bottom {\n  -webkit-box-align: end;\n  -webkit-align-items: flex-end;\n      -ms-flex-align: end;\n          align-items: flex-end; }\n\n.align-self-bottom {\n  -webkit-align-self: flex-end;\n      -ms-flex-item-align: end;\n          align-self: flex-end; }\n\n.align-middle {\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center; }\n\n.align-self-middle {\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n              -ms-grid-row-align: center;\n          align-self: center; }\n\n.align-stretch {\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch; }\n\n.align-self-stretch {\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n              -ms-grid-row-align: stretch;\n          align-self: stretch; }\n\n.small-order-1 {\n  -webkit-box-ordinal-group: 2;\n  -webkit-order: 1;\n      -ms-flex-order: 1;\n          order: 1; }\n\n.small-order-2 {\n  -webkit-box-ordinal-group: 3;\n  -webkit-order: 2;\n      -ms-flex-order: 2;\n          order: 2; }\n\n.small-order-3 {\n  -webkit-box-ordinal-group: 4;\n  -webkit-order: 3;\n      -ms-flex-order: 3;\n          order: 3; }\n\n.small-order-4 {\n  -webkit-box-ordinal-group: 5;\n  -webkit-order: 4;\n      -ms-flex-order: 4;\n          order: 4; }\n\n.small-order-5 {\n  -webkit-box-ordinal-group: 6;\n  -webkit-order: 5;\n      -ms-flex-order: 5;\n          order: 5; }\n\n.small-order-6 {\n  -webkit-box-ordinal-group: 7;\n  -webkit-order: 6;\n      -ms-flex-order: 6;\n          order: 6; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-order-1 {\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .medium-order-2 {\n    -webkit-box-ordinal-group: 3;\n    -webkit-order: 2;\n        -ms-flex-order: 2;\n            order: 2; }\n  .medium-order-3 {\n    -webkit-box-ordinal-group: 4;\n    -webkit-order: 3;\n        -ms-flex-order: 3;\n            order: 3; }\n  .medium-order-4 {\n    -webkit-box-ordinal-group: 5;\n    -webkit-order: 4;\n        -ms-flex-order: 4;\n            order: 4; }\n  .medium-order-5 {\n    -webkit-box-ordinal-group: 6;\n    -webkit-order: 5;\n        -ms-flex-order: 5;\n            order: 5; }\n  .medium-order-6 {\n    -webkit-box-ordinal-group: 7;\n    -webkit-order: 6;\n        -ms-flex-order: 6;\n            order: 6; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-order-1 {\n    -webkit-box-ordinal-group: 2;\n    -webkit-order: 1;\n        -ms-flex-order: 1;\n            order: 1; }\n  .large-order-2 {\n    -webkit-box-ordinal-group: 3;\n    -webkit-order: 2;\n        -ms-flex-order: 2;\n            order: 2; }\n  .large-order-3 {\n    -webkit-box-ordinal-group: 4;\n    -webkit-order: 3;\n        -ms-flex-order: 3;\n            order: 3; }\n  .large-order-4 {\n    -webkit-box-ordinal-group: 5;\n    -webkit-order: 4;\n        -ms-flex-order: 4;\n            order: 4; }\n  .large-order-5 {\n    -webkit-box-ordinal-group: 6;\n    -webkit-order: 5;\n        -ms-flex-order: 5;\n            order: 5; }\n  .large-order-6 {\n    -webkit-box-ordinal-group: 7;\n    -webkit-order: 6;\n        -ms-flex-order: 6;\n            order: 6; } }\n\n/*# sourceMappingURL=foundation-flex.css.map */\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/css/foundation-rtl.css",
    "content": "@charset \"UTF-8\";\n/**\n * Foundation for Sites by ZURB\n * Version 6.3.0\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */\n/* Document\n       ========================================================================== */\n/**\n     * 1. Change the default font family in all browsers (opinionated).\n     * 2. Correct the line height in all browsers.\n     * 3. Prevent adjustments of font size after orientation changes in\n     *    IE on Windows Phone and in iOS.\n     */\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  line-height: 1.15;\n  /* 2 */\n  -ms-text-size-adjust: 100%;\n  /* 3 */\n  -webkit-text-size-adjust: 100%;\n  /* 3 */ }\n\n/* Sections\n       ========================================================================== */\n/**\n     * Remove the margin in all browsers (opinionated).\n     */\nbody {\n  margin: 0; }\n\n/**\n     * Add the correct display in IE 9-.\n     */\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n  display: block; }\n\n/**\n     * Correct the font size and margin on `h1` elements within `section` and\n     * `article` contexts in Chrome, Firefox, and Safari.\n     */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/* Grouping content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\nfigcaption,\nfigure {\n  display: block; }\n\n/**\n     * Add the correct margin in IE 8.\n     */\nfigure {\n  margin: 1em 40px; }\n\n/**\n     * 1. Add the correct box sizing in Firefox.\n     * 2. Show the overflow in Edge and IE.\n     */\nhr {\n  -webkit-box-sizing: content-box;\n          box-sizing: content-box;\n  /* 1 */\n  height: 0;\n  /* 1 */\n  overflow: visible;\n  /* 2 */ }\n\n/**\n     * Add the correct display in IE.\n     */\nmain {\n  display: block; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\npre {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/* Links\n       ========================================================================== */\n/**\n     * 1. Remove the gray background on active links in IE 10.\n     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n     */\na {\n  background-color: transparent;\n  /* 1 */\n  -webkit-text-decoration-skip: objects;\n  /* 2 */ }\n\n/**\n     * Remove the outline on focused links when they are also active or hovered\n     * in all browsers (opinionated).\n     */\na:active,\na:hover {\n  outline-width: 0; }\n\n/* Text-level semantics\n       ========================================================================== */\n/**\n     * 1. Remove the bottom border in Firefox 39-.\n     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n     */\nabbr[title] {\n  border-bottom: none;\n  /* 1 */\n  text-decoration: underline;\n  /* 2 */\n  text-decoration: underline dotted;\n  /* 2 */ }\n\n/**\n     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n     */\nb,\nstrong {\n  font-weight: inherit; }\n\n/**\n     * Add the correct font weight in Chrome, Edge, and Safari.\n     */\nb,\nstrong {\n  font-weight: bolder; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/**\n     * Add the correct font style in Android 4.3-.\n     */\ndfn {\n  font-style: italic; }\n\n/**\n     * Add the correct background and color in IE 9-.\n     */\nmark {\n  background-color: #ff0;\n  color: #000; }\n\n/**\n     * Add the correct font size in all browsers.\n     */\nsmall {\n  font-size: 80%; }\n\n/**\n     * Prevent `sub` and `sup` elements from affecting the line height in\n     * all browsers.\n     */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\nsub {\n  bottom: -0.25em; }\n\nsup {\n  top: -0.5em; }\n\n/* Embedded content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\naudio,\nvideo {\n  display: inline-block; }\n\n/**\n     * Add the correct display in iOS 4-7.\n     */\naudio:not([controls]) {\n  display: none;\n  height: 0; }\n\n/**\n     * Remove the border on images inside links in IE 10-.\n     */\nimg {\n  border-style: none; }\n\n/**\n     * Hide the overflow in IE.\n     */\nsvg:not(:root) {\n  overflow: hidden; }\n\n/* Forms\n       ========================================================================== */\n/**\n     * 1. Change the font styles in all browsers (opinionated).\n     * 2. Remove the margin in Firefox and Safari.\n     */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: sans-serif;\n  /* 1 */\n  font-size: 100%;\n  /* 1 */\n  line-height: 1.15;\n  /* 1 */\n  margin: 0;\n  /* 2 */ }\n\n/**\n     * Show the overflow in IE.\n     */\nbutton {\n  overflow: visible; }\n\n/**\n     * Remove the inheritance of text transform in Edge, Firefox, and IE.\n     * 1. Remove the inheritance of text transform in Firefox.\n     */\nbutton,\nselect {\n  /* 1 */\n  text-transform: none; }\n\n/**\n     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n     *    controls in Android 4.\n     * 2. Correct the inability to style clickable types in iOS and Safari.\n     */\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */ }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  /**\n       * Remove the inner border and padding in Firefox.\n       */\n  /**\n       * Restore the focus styles unset by the previous rule.\n       */ }\n  button::-moz-focus-inner,\n  [type=\"button\"]::-moz-focus-inner,\n  [type=\"reset\"]::-moz-focus-inner,\n  [type=\"submit\"]::-moz-focus-inner {\n    border-style: none;\n    padding: 0; }\n  button:-moz-focusring,\n  [type=\"button\"]:-moz-focusring,\n  [type=\"reset\"]:-moz-focusring,\n  [type=\"submit\"]:-moz-focusring {\n    outline: 1px dotted ButtonText; }\n\n/**\n     * Show the overflow in Edge.\n     */\ninput {\n  overflow: visible; }\n\n/**\n     * 1. Add the correct box sizing in IE 10-.\n     * 2. Remove the padding in IE 10-.\n     */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */ }\n\n/**\n     * Correct the cursor style of increment and decrement buttons in Chrome.\n     */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/**\n     * 1. Correct the odd appearance in Chrome and Safari.\n     * 2. Correct the outline style in Safari.\n     */\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  outline-offset: -2px;\n  /* 2 */\n  /**\n       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n       */ }\n  [type=\"search\"]::-webkit-search-cancel-button, [type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none; }\n\n/**\n     * 1. Correct the inability to style clickable types in iOS and Safari.\n     * 2. Change font properties to `inherit` in Safari.\n     */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  /* 1 */\n  font: inherit;\n  /* 2 */ }\n\n/**\n     * Change the border, margin, and padding in all browsers (opinionated).\n     */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em; }\n\n/**\n     * 1. Correct the text wrapping in Edge and IE.\n     * 2. Correct the color inheritance from `fieldset` elements in IE.\n     * 3. Remove the padding so developers are not caught out when they zero out\n     *    `fieldset` elements in all browsers.\n     */\nlegend {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  display: table;\n  /* 1 */\n  max-width: 100%;\n  /* 1 */\n  padding: 0;\n  /* 3 */\n  color: inherit;\n  /* 2 */\n  white-space: normal;\n  /* 1 */ }\n\n/**\n     * 1. Add the correct display in IE 9-.\n     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n     */\nprogress {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */ }\n\n/**\n     * Remove the default vertical scrollbar in IE.\n     */\ntextarea {\n  overflow: auto; }\n\n/* Interactive\n       ========================================================================== */\n/*\n     * Add the correct display in Edge, IE, and Firefox.\n     */\ndetails {\n  display: block; }\n\n/*\n     * Add the correct display in all browsers.\n     */\nsummary {\n  display: list-item; }\n\n/*\n     * Add the correct display in IE 9-.\n     */\nmenu {\n  display: block; }\n\n/* Scripting\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\ncanvas {\n  display: inline-block; }\n\n/**\n     * Add the correct display in IE.\n     */\ntemplate {\n  display: none; }\n\n/* Hidden\n       ========================================================================== */\n/**\n     * Add the correct display in IE 10-.\n     */\n[hidden] {\n  display: none; }\n\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\nhtml {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  font-size: 100%; }\n\n*,\n*::before,\n*::after {\n  -webkit-box-sizing: inherit;\n          box-sizing: inherit; }\n\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #0a0a0a;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale; }\n\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic; }\n\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0; }\n\nselect {\n  width: 100%;\n  border-radius: 0; }\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important; }\n\nbutton {\n  padding: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1; }\n  [data-whatinput='mouse'] button {\n    outline: 0; }\n\n.is-visible {\n  display: block !important; }\n\n.is-hidden {\n  display: none !important; }\n\n.row {\n  max-width: 75rem;\n  margin-right: auto;\n  margin-left: auto; }\n  .row::before, .row::after {\n    display: table;\n    content: ' '; }\n  .row::after {\n    clear: both; }\n  .row.collapse > .column, .row.collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .row .row {\n    margin-right: -0.625rem;\n    margin-left: -0.625rem; }\n    @media print, screen and (min-width: 40em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n    @media print, screen and (min-width: 64em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n    .row .row.collapse {\n      margin-right: 0;\n      margin-left: 0; }\n  .row.expanded {\n    max-width: none; }\n    .row.expanded .row {\n      margin-right: auto;\n      margin-left: auto; }\n  .row.gutter-small > .column, .row.gutter-small > .columns {\n    padding-right: 0.625rem;\n    padding-left: 0.625rem; }\n  .row.gutter-medium > .column, .row.gutter-medium > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n\n.column, .columns {\n  width: 100%;\n  float: right;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    .column, .columns {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {\n    float: left; }\n  .column.end:last-child:last-child, .end.columns:last-child:last-child {\n    float: right; }\n\n.column.row.row, .row.row.columns {\n  float: none; }\n\n.row .column.row.row, .row .row.row.columns {\n  margin-right: 0;\n  margin-left: 0;\n  padding-right: 0;\n  padding-left: 0; }\n\n.small-1 {\n  width: 8.33333%; }\n\n.small-push-1 {\n  position: relative;\n  right: 8.33333%; }\n\n.small-pull-1 {\n  position: relative;\n  right: -8.33333%; }\n\n.small-offset-0 {\n  margin-right: 0%; }\n\n.small-2 {\n  width: 16.66667%; }\n\n.small-push-2 {\n  position: relative;\n  right: 16.66667%; }\n\n.small-pull-2 {\n  position: relative;\n  right: -16.66667%; }\n\n.small-offset-1 {\n  margin-right: 8.33333%; }\n\n.small-3 {\n  width: 25%; }\n\n.small-push-3 {\n  position: relative;\n  right: 25%; }\n\n.small-pull-3 {\n  position: relative;\n  right: -25%; }\n\n.small-offset-2 {\n  margin-right: 16.66667%; }\n\n.small-4 {\n  width: 33.33333%; }\n\n.small-push-4 {\n  position: relative;\n  right: 33.33333%; }\n\n.small-pull-4 {\n  position: relative;\n  right: -33.33333%; }\n\n.small-offset-3 {\n  margin-right: 25%; }\n\n.small-5 {\n  width: 41.66667%; }\n\n.small-push-5 {\n  position: relative;\n  right: 41.66667%; }\n\n.small-pull-5 {\n  position: relative;\n  right: -41.66667%; }\n\n.small-offset-4 {\n  margin-right: 33.33333%; }\n\n.small-6 {\n  width: 50%; }\n\n.small-push-6 {\n  position: relative;\n  right: 50%; }\n\n.small-pull-6 {\n  position: relative;\n  right: -50%; }\n\n.small-offset-5 {\n  margin-right: 41.66667%; }\n\n.small-7 {\n  width: 58.33333%; }\n\n.small-push-7 {\n  position: relative;\n  right: 58.33333%; }\n\n.small-pull-7 {\n  position: relative;\n  right: -58.33333%; }\n\n.small-offset-6 {\n  margin-right: 50%; }\n\n.small-8 {\n  width: 66.66667%; }\n\n.small-push-8 {\n  position: relative;\n  right: 66.66667%; }\n\n.small-pull-8 {\n  position: relative;\n  right: -66.66667%; }\n\n.small-offset-7 {\n  margin-right: 58.33333%; }\n\n.small-9 {\n  width: 75%; }\n\n.small-push-9 {\n  position: relative;\n  right: 75%; }\n\n.small-pull-9 {\n  position: relative;\n  right: -75%; }\n\n.small-offset-8 {\n  margin-right: 66.66667%; }\n\n.small-10 {\n  width: 83.33333%; }\n\n.small-push-10 {\n  position: relative;\n  right: 83.33333%; }\n\n.small-pull-10 {\n  position: relative;\n  right: -83.33333%; }\n\n.small-offset-9 {\n  margin-right: 75%; }\n\n.small-11 {\n  width: 91.66667%; }\n\n.small-push-11 {\n  position: relative;\n  right: 91.66667%; }\n\n.small-pull-11 {\n  position: relative;\n  right: -91.66667%; }\n\n.small-offset-10 {\n  margin-right: 83.33333%; }\n\n.small-12 {\n  width: 100%; }\n\n.small-offset-11 {\n  margin-right: 91.66667%; }\n\n.small-up-1 > .column, .small-up-1 > .columns {\n  float: right;\n  width: 100%; }\n  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {\n    clear: both; }\n  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {\n    float: right; }\n\n.small-up-2 > .column, .small-up-2 > .columns {\n  float: right;\n  width: 50%; }\n  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {\n    clear: both; }\n  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {\n    float: right; }\n\n.small-up-3 > .column, .small-up-3 > .columns {\n  float: right;\n  width: 33.33333%; }\n  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {\n    clear: both; }\n  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {\n    float: right; }\n\n.small-up-4 > .column, .small-up-4 > .columns {\n  float: right;\n  width: 25%; }\n  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {\n    clear: both; }\n  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {\n    float: right; }\n\n.small-up-5 > .column, .small-up-5 > .columns {\n  float: right;\n  width: 20%; }\n  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {\n    clear: both; }\n  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {\n    float: right; }\n\n.small-up-6 > .column, .small-up-6 > .columns {\n  float: right;\n  width: 16.66667%; }\n  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {\n    clear: both; }\n  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {\n    float: right; }\n\n.small-up-7 > .column, .small-up-7 > .columns {\n  float: right;\n  width: 14.28571%; }\n  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {\n    clear: both; }\n  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {\n    float: right; }\n\n.small-up-8 > .column, .small-up-8 > .columns {\n  float: right;\n  width: 12.5%; }\n  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {\n    clear: both; }\n  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {\n    float: right; }\n\n.small-collapse > .column, .small-collapse > .columns {\n  padding-right: 0;\n  padding-left: 0; }\n\n.small-collapse .row {\n  margin-right: 0;\n  margin-left: 0; }\n\n.expanded.row .small-collapse.row {\n  margin-right: 0;\n  margin-left: 0; }\n\n.small-uncollapse > .column, .small-uncollapse > .columns {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n\n.small-centered {\n  margin-right: auto;\n  margin-left: auto; }\n  .small-centered, .small-centered:last-child:not(:first-child) {\n    float: none;\n    clear: both; }\n\n.small-uncentered,\n.small-push-0,\n.small-pull-0 {\n  position: static;\n  float: left;\n  margin-right: 0;\n  margin-left: 0; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-1 {\n    width: 8.33333%; }\n  .medium-push-1 {\n    position: relative;\n    right: 8.33333%; }\n  .medium-pull-1 {\n    position: relative;\n    right: -8.33333%; }\n  .medium-offset-0 {\n    margin-right: 0%; }\n  .medium-2 {\n    width: 16.66667%; }\n  .medium-push-2 {\n    position: relative;\n    right: 16.66667%; }\n  .medium-pull-2 {\n    position: relative;\n    right: -16.66667%; }\n  .medium-offset-1 {\n    margin-right: 8.33333%; }\n  .medium-3 {\n    width: 25%; }\n  .medium-push-3 {\n    position: relative;\n    right: 25%; }\n  .medium-pull-3 {\n    position: relative;\n    right: -25%; }\n  .medium-offset-2 {\n    margin-right: 16.66667%; }\n  .medium-4 {\n    width: 33.33333%; }\n  .medium-push-4 {\n    position: relative;\n    right: 33.33333%; }\n  .medium-pull-4 {\n    position: relative;\n    right: -33.33333%; }\n  .medium-offset-3 {\n    margin-right: 25%; }\n  .medium-5 {\n    width: 41.66667%; }\n  .medium-push-5 {\n    position: relative;\n    right: 41.66667%; }\n  .medium-pull-5 {\n    position: relative;\n    right: -41.66667%; }\n  .medium-offset-4 {\n    margin-right: 33.33333%; }\n  .medium-6 {\n    width: 50%; }\n  .medium-push-6 {\n    position: relative;\n    right: 50%; }\n  .medium-pull-6 {\n    position: relative;\n    right: -50%; }\n  .medium-offset-5 {\n    margin-right: 41.66667%; }\n  .medium-7 {\n    width: 58.33333%; }\n  .medium-push-7 {\n    position: relative;\n    right: 58.33333%; }\n  .medium-pull-7 {\n    position: relative;\n    right: -58.33333%; }\n  .medium-offset-6 {\n    margin-right: 50%; }\n  .medium-8 {\n    width: 66.66667%; }\n  .medium-push-8 {\n    position: relative;\n    right: 66.66667%; }\n  .medium-pull-8 {\n    position: relative;\n    right: -66.66667%; }\n  .medium-offset-7 {\n    margin-right: 58.33333%; }\n  .medium-9 {\n    width: 75%; }\n  .medium-push-9 {\n    position: relative;\n    right: 75%; }\n  .medium-pull-9 {\n    position: relative;\n    right: -75%; }\n  .medium-offset-8 {\n    margin-right: 66.66667%; }\n  .medium-10 {\n    width: 83.33333%; }\n  .medium-push-10 {\n    position: relative;\n    right: 83.33333%; }\n  .medium-pull-10 {\n    position: relative;\n    right: -83.33333%; }\n  .medium-offset-9 {\n    margin-right: 75%; }\n  .medium-11 {\n    width: 91.66667%; }\n  .medium-push-11 {\n    position: relative;\n    right: 91.66667%; }\n  .medium-pull-11 {\n    position: relative;\n    right: -91.66667%; }\n  .medium-offset-10 {\n    margin-right: 83.33333%; }\n  .medium-12 {\n    width: 100%; }\n  .medium-offset-11 {\n    margin-right: 91.66667%; }\n  .medium-up-1 > .column, .medium-up-1 > .columns {\n    float: right;\n    width: 100%; }\n    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {\n      clear: both; }\n    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {\n      float: right; }\n  .medium-up-2 > .column, .medium-up-2 > .columns {\n    float: right;\n    width: 50%; }\n    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {\n      clear: both; }\n    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {\n      float: right; }\n  .medium-up-3 > .column, .medium-up-3 > .columns {\n    float: right;\n    width: 33.33333%; }\n    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {\n      clear: both; }\n    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {\n      float: right; }\n  .medium-up-4 > .column, .medium-up-4 > .columns {\n    float: right;\n    width: 25%; }\n    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {\n      clear: both; }\n    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {\n      float: right; }\n  .medium-up-5 > .column, .medium-up-5 > .columns {\n    float: right;\n    width: 20%; }\n    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {\n      clear: both; }\n    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {\n      float: right; }\n  .medium-up-6 > .column, .medium-up-6 > .columns {\n    float: right;\n    width: 16.66667%; }\n    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {\n      clear: both; }\n    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {\n      float: right; }\n  .medium-up-7 > .column, .medium-up-7 > .columns {\n    float: right;\n    width: 14.28571%; }\n    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {\n      clear: both; }\n    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {\n      float: right; }\n  .medium-up-8 > .column, .medium-up-8 > .columns {\n    float: right;\n    width: 12.5%; }\n    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {\n      clear: both; }\n    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {\n      float: right; }\n  .medium-collapse > .column, .medium-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .medium-collapse .row {\n    margin-right: 0;\n    margin-left: 0; }\n  .expanded.row .medium-collapse.row {\n    margin-right: 0;\n    margin-left: 0; }\n  .medium-uncollapse > .column, .medium-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n  .medium-centered {\n    margin-right: auto;\n    margin-left: auto; }\n    .medium-centered, .medium-centered:last-child:not(:first-child) {\n      float: none;\n      clear: both; }\n  .medium-uncentered,\n  .medium-push-0,\n  .medium-pull-0 {\n    position: static;\n    float: left;\n    margin-right: 0;\n    margin-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-1 {\n    width: 8.33333%; }\n  .large-push-1 {\n    position: relative;\n    right: 8.33333%; }\n  .large-pull-1 {\n    position: relative;\n    right: -8.33333%; }\n  .large-offset-0 {\n    margin-right: 0%; }\n  .large-2 {\n    width: 16.66667%; }\n  .large-push-2 {\n    position: relative;\n    right: 16.66667%; }\n  .large-pull-2 {\n    position: relative;\n    right: -16.66667%; }\n  .large-offset-1 {\n    margin-right: 8.33333%; }\n  .large-3 {\n    width: 25%; }\n  .large-push-3 {\n    position: relative;\n    right: 25%; }\n  .large-pull-3 {\n    position: relative;\n    right: -25%; }\n  .large-offset-2 {\n    margin-right: 16.66667%; }\n  .large-4 {\n    width: 33.33333%; }\n  .large-push-4 {\n    position: relative;\n    right: 33.33333%; }\n  .large-pull-4 {\n    position: relative;\n    right: -33.33333%; }\n  .large-offset-3 {\n    margin-right: 25%; }\n  .large-5 {\n    width: 41.66667%; }\n  .large-push-5 {\n    position: relative;\n    right: 41.66667%; }\n  .large-pull-5 {\n    position: relative;\n    right: -41.66667%; }\n  .large-offset-4 {\n    margin-right: 33.33333%; }\n  .large-6 {\n    width: 50%; }\n  .large-push-6 {\n    position: relative;\n    right: 50%; }\n  .large-pull-6 {\n    position: relative;\n    right: -50%; }\n  .large-offset-5 {\n    margin-right: 41.66667%; }\n  .large-7 {\n    width: 58.33333%; }\n  .large-push-7 {\n    position: relative;\n    right: 58.33333%; }\n  .large-pull-7 {\n    position: relative;\n    right: -58.33333%; }\n  .large-offset-6 {\n    margin-right: 50%; }\n  .large-8 {\n    width: 66.66667%; }\n  .large-push-8 {\n    position: relative;\n    right: 66.66667%; }\n  .large-pull-8 {\n    position: relative;\n    right: -66.66667%; }\n  .large-offset-7 {\n    margin-right: 58.33333%; }\n  .large-9 {\n    width: 75%; }\n  .large-push-9 {\n    position: relative;\n    right: 75%; }\n  .large-pull-9 {\n    position: relative;\n    right: -75%; }\n  .large-offset-8 {\n    margin-right: 66.66667%; }\n  .large-10 {\n    width: 83.33333%; }\n  .large-push-10 {\n    position: relative;\n    right: 83.33333%; }\n  .large-pull-10 {\n    position: relative;\n    right: -83.33333%; }\n  .large-offset-9 {\n    margin-right: 75%; }\n  .large-11 {\n    width: 91.66667%; }\n  .large-push-11 {\n    position: relative;\n    right: 91.66667%; }\n  .large-pull-11 {\n    position: relative;\n    right: -91.66667%; }\n  .large-offset-10 {\n    margin-right: 83.33333%; }\n  .large-12 {\n    width: 100%; }\n  .large-offset-11 {\n    margin-right: 91.66667%; }\n  .large-up-1 > .column, .large-up-1 > .columns {\n    float: right;\n    width: 100%; }\n    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {\n      clear: both; }\n    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {\n      float: right; }\n  .large-up-2 > .column, .large-up-2 > .columns {\n    float: right;\n    width: 50%; }\n    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {\n      clear: both; }\n    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {\n      float: right; }\n  .large-up-3 > .column, .large-up-3 > .columns {\n    float: right;\n    width: 33.33333%; }\n    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {\n      clear: both; }\n    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {\n      float: right; }\n  .large-up-4 > .column, .large-up-4 > .columns {\n    float: right;\n    width: 25%; }\n    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {\n      clear: both; }\n    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {\n      float: right; }\n  .large-up-5 > .column, .large-up-5 > .columns {\n    float: right;\n    width: 20%; }\n    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {\n      clear: both; }\n    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {\n      float: right; }\n  .large-up-6 > .column, .large-up-6 > .columns {\n    float: right;\n    width: 16.66667%; }\n    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {\n      clear: both; }\n    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {\n      float: right; }\n  .large-up-7 > .column, .large-up-7 > .columns {\n    float: right;\n    width: 14.28571%; }\n    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {\n      clear: both; }\n    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {\n      float: right; }\n  .large-up-8 > .column, .large-up-8 > .columns {\n    float: right;\n    width: 12.5%; }\n    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {\n      clear: both; }\n    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {\n      float: right; }\n  .large-collapse > .column, .large-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .large-collapse .row {\n    margin-right: 0;\n    margin-left: 0; }\n  .expanded.row .large-collapse.row {\n    margin-right: 0;\n    margin-left: 0; }\n  .large-uncollapse > .column, .large-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n  .large-centered {\n    margin-right: auto;\n    margin-left: auto; }\n    .large-centered, .large-centered:last-child:not(:first-child) {\n      float: none;\n      clear: both; }\n  .large-uncentered,\n  .large-push-0,\n  .large-pull-0 {\n    position: static;\n    float: left;\n    margin-right: 0;\n    margin-left: 0; } }\n\n.column-block {\n  margin-bottom: 1.25rem; }\n  .column-block > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .column-block {\n      margin-bottom: 1.875rem; }\n      .column-block > :last-child {\n        margin-bottom: 0; } }\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0; }\n\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility; }\n\nem,\ni {\n  font-style: italic;\n  line-height: inherit; }\n\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit; }\n\nsmall {\n  font-size: 80%;\n  line-height: inherit; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility; }\n  h1 small,\n  h2 small,\n  h3 small,\n  h4 small,\n  h5 small,\n  h6 small {\n    line-height: 0;\n    color: #cacaca; }\n\nh1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n  h1 {\n    font-size: 3rem; }\n  h2 {\n    font-size: 2.5rem; }\n  h3 {\n    font-size: 1.9375rem; }\n  h4 {\n    font-size: 1.5625rem; }\n  h5 {\n    font-size: 1.25rem; }\n  h6 {\n    font-size: 1rem; } }\n\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer; }\n  a:hover, a:focus {\n    color: #1468a0; }\n  a img {\n    border: 0; }\n\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #cacaca;\n  border-left: 0; }\n\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6; }\n\nli {\n  font-size: inherit; }\n\nul {\n  margin-right: 1.25rem;\n  list-style-type: disc; }\n\nol {\n  margin-right: 1.25rem; }\n\nul ul, ol ul, ul ol, ol ol {\n  margin-right: 1.25rem;\n  margin-bottom: 0; }\n\ndl {\n  margin-bottom: 1rem; }\n  dl dt {\n    margin-bottom: 0.3rem;\n    font-weight: bold; }\n\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-right: 1px solid #cacaca; }\n  blockquote, blockquote p {\n    line-height: 1.6;\n    color: #8a8a8a; }\n\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #8a8a8a; }\n  cite:before {\n    content: \"— \"; }\n\nabbr {\n  border-bottom: 1px dotted #0a0a0a;\n  color: #0a0a0a;\n  cursor: help; }\n\nfigure {\n  margin: 0; }\n\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #cacaca;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #0a0a0a; }\n\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #0a0a0a; }\n\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #8a8a8a; }\n\n.lead {\n  font-size: 125%;\n  line-height: 1.6; }\n\n.stat {\n  font-size: 2.5rem;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -1rem; }\n\n.no-bullet {\n  margin-right: 0;\n  list-style: none; }\n\n.text-left {\n  text-align: left; }\n\n.text-right {\n  text-align: right; }\n\n.text-center {\n  text-align: center; }\n\n.text-justify {\n  text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-text-left {\n    text-align: left; }\n  .medium-text-right {\n    text-align: right; }\n  .medium-text-center {\n    text-align: center; }\n  .medium-text-justify {\n    text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-text-left {\n    text-align: left; }\n  .large-text-right {\n    text-align: right; }\n  .large-text-center {\n    text-align: center; }\n  .large-text-justify {\n    text-align: justify; } }\n\n.show-for-print {\n  display: none !important; }\n\n@media print {\n  * {\n    background: transparent !important;\n    -webkit-box-shadow: none !important;\n            box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important; }\n  .show-for-print {\n    display: block !important; }\n  .hide-for-print {\n    display: none !important; }\n  table.show-for-print {\n    display: table !important; }\n  thead.show-for-print {\n    display: table-header-group !important; }\n  tbody.show-for-print {\n    display: table-row-group !important; }\n  tr.show-for-print {\n    display: table-row !important; }\n  td.show-for-print {\n    display: table-cell !important; }\n  th.show-for-print {\n    display: table-cell !important; }\n  a,\n  a:visited {\n    text-decoration: underline; }\n  a[href]:after {\n    content: \" (\" attr(href) \")\"; }\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: ''; }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\"; }\n  pre,\n  blockquote {\n    border: 1px solid #8a8a8a;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr,\n  img {\n    page-break-inside: avoid; }\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; } }\n\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n  display: block;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  color: #0a0a0a;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n  textarea:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n\ntextarea {\n  max-width: 100%; }\n  textarea[rows] {\n    height: auto; }\n\ninput::-webkit-input-placeholder,\ntextarea::-webkit-input-placeholder {\n  color: #cacaca; }\n\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n  color: #cacaca; }\n\ninput:-ms-input-placeholder,\ntextarea:-ms-input-placeholder {\n  color: #cacaca; }\n\ninput::placeholder,\ntextarea::placeholder {\n  color: #cacaca; }\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #e6e6e6;\n  cursor: not-allowed; }\n\n[type='submit'],\n[type='button'] {\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border-radius: 0; }\n\ninput[type='search'] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box; }\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem; }\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-right: 0.5rem;\n  margin-left: 1rem;\n  margin-bottom: 0; }\n  [type='checkbox'] + label[for],\n  [type='radio'] + label[for] {\n    cursor: pointer; }\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-left: 0.5rem; }\n\n[type='file'] {\n  width: 100%; }\n\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #0a0a0a; }\n  label.middle {\n    margin: 0 0 1rem;\n    padding: 0.5625rem 0; }\n\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #0a0a0a; }\n\n.input-group {\n  display: table;\n  width: 100%;\n  margin-bottom: 1rem; }\n  .input-group > :first-child {\n    border-radius: 0 0 0 0; }\n  .input-group > :last-child > * {\n    border-radius: 0 0 0 0; }\n\n.input-group-label, .input-group-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap;\n  display: table-cell;\n  vertical-align: middle; }\n\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #cacaca;\n  background: #e6e6e6;\n  color: #0a0a0a;\n  text-align: center;\n  white-space: nowrap;\n  width: 1%;\n  height: 100%; }\n  .input-group-label:first-child {\n    border-left: 0; }\n  .input-group-label:last-child {\n    border-right: 0; }\n\n.input-group-field {\n  border-radius: 0;\n  height: 2.5rem; }\n\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  width: 1%;\n  height: 100%; }\n  .input-group-button a,\n  .input-group-button input,\n  .input-group-button button,\n  .input-group-button label {\n    height: 2.5rem;\n    padding-top: 0;\n    padding-bottom: 0;\n    font-size: 1rem; }\n\n.input-group .input-group-button {\n  display: table-cell; }\n\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0; }\n\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem; }\n\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #cacaca; }\n  .fieldset legend {\n    margin: 0;\n    margin-right: -0.1875rem;\n    padding: 0 0.1875rem;\n    background: #fefefe; }\n\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  line-height: normal;\n  color: #0a0a0a;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>\");\n  -webkit-background-origin: content-box;\n          background-origin: content-box;\n  background-position: left -1rem center;\n  background-repeat: no-repeat;\n  -webkit-background-size: 9px 6px;\n          background-size: 9px 6px;\n  padding-left: 1.5rem;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  @media screen and (min-width: 0\\0) {\n    select {\n      background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n  select:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  select:disabled {\n    background-color: #e6e6e6;\n    cursor: not-allowed; }\n  select::-ms-expand {\n    display: none; }\n  select[multiple] {\n    height: auto;\n    background-image: none; }\n\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea; }\n  .is-invalid-input:not(:focus)::-webkit-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::-moz-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus):-ms-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::placeholder {\n    color: #cc4b37; }\n\n.is-invalid-label {\n  color: #cc4b37; }\n\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37; }\n  .form-error.is-visible {\n    display: block; }\n\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  -webkit-appearance: none;\n  border: 1px solid transparent;\n  border-radius: 0;\n  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-size: 0.9rem;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .button {\n    outline: 0; }\n  .button:hover, .button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  .button.tiny {\n    font-size: 0.6rem; }\n  .button.small {\n    font-size: 0.75rem; }\n  .button.large {\n    font-size: 1.25rem; }\n  .button.expanded {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0; }\n  .button.primary {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button.primary:hover, .button.primary:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button.secondary {\n    background-color: #767676;\n    color: #fefefe; }\n    .button.secondary:hover, .button.secondary:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button.success {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button.success:hover, .button.success:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button.warning {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button.warning:hover, .button.warning:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button.alert {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button.alert:hover, .button.alert:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button.hollow {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    .button.hollow, .button.hollow:hover, .button.hollow:focus {\n      background-color: transparent; }\n    .button.hollow:hover, .button.hollow:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n    .button.hollow.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      .button.hollow.primary:hover, .button.hollow.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n    .button.hollow.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n    .button.hollow.success {\n      border: 1px solid #3adb76;\n      color: #3adb76; }\n      .button.hollow.success:hover, .button.hollow.success:focus {\n        border-color: #157539;\n        color: #157539; }\n    .button.hollow.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      .button.hollow.warning:hover, .button.hollow.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n    .button.hollow.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      .button.hollow.alert:hover, .button.hollow.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n  .button.disabled, .button[disabled] {\n    opacity: 0.25;\n    cursor: not-allowed; }\n    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {\n      background-color: #1779ba;\n      color: #fefefe; }\n    .button.disabled.primary, .button[disabled].primary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {\n        background-color: #1779ba;\n        color: #fefefe; }\n    .button.disabled.secondary, .button[disabled].secondary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n        background-color: #767676;\n        color: #fefefe; }\n    .button.disabled.success, .button[disabled].success {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {\n        background-color: #3adb76;\n        color: #fefefe; }\n    .button.disabled.warning, .button[disabled].warning {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {\n        background-color: #ffae00;\n        color: #fefefe; }\n    .button.disabled.alert, .button[disabled].alert {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {\n        background-color: #cc4b37;\n        color: #fefefe; }\n  .button.dropdown::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.4em;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #fefefe transparent transparent;\n    position: relative;\n    top: 0.4em;\n    display: inline-block;\n    float: left;\n    margin-right: 1em; }\n  .button.arrow-only::after {\n    top: -0.1em;\n    float: none;\n    margin-right: 0; }\n\n.accordion {\n  margin-right: 0;\n  background: #fefefe;\n  list-style-type: none; }\n\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba; }\n  :last-child:not(.is-active) > .accordion-title {\n    border-bottom: 1px solid #e6e6e6;\n    border-radius: 0 0 0 0; }\n  .accordion-title:hover, .accordion-title:focus {\n    background-color: #e6e6e6; }\n  .accordion-title::before {\n    position: absolute;\n    top: 50%;\n    left: 1rem;\n    margin-top: -0.5rem;\n    content: '+'; }\n  .is-active > .accordion-title::before {\n    content: '–'; }\n\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #0a0a0a; }\n  :last-child > .accordion-content:last-child {\n    border-bottom: 1px solid #e6e6e6; }\n\n.is-accordion-submenu-parent > a {\n  position: relative; }\n  .is-accordion-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -3px;\n    left: 1rem; }\n\n.is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n  -webkit-transform-origin: 50% 50%;\n      -ms-transform-origin: 50% 50%;\n          transform-origin: 50% 50%; }\n\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe; }\n  .badge.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .badge.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .badge.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .badge.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .badge.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none; }\n  .breadcrumbs::before, .breadcrumbs::after {\n    display: table;\n    content: ' '; }\n  .breadcrumbs::after {\n    clear: both; }\n  .breadcrumbs li {\n    float: right;\n    font-size: 0.6875rem;\n    color: #0a0a0a;\n    cursor: default;\n    text-transform: uppercase; }\n    .breadcrumbs li:not(:last-child)::after {\n      position: relative;\n      top: 1px;\n      margin: 0 0.75rem;\n      opacity: 1;\n      content: \"\\\\\";\n      color: #cacaca; }\n  .breadcrumbs a {\n    color: #1779ba; }\n    .breadcrumbs a:hover {\n      text-decoration: underline; }\n  .breadcrumbs .disabled {\n    color: #cacaca;\n    cursor: not-allowed; }\n\n.button-group {\n  margin-bottom: 1rem;\n  font-size: 0; }\n  .button-group::before, .button-group::after {\n    display: table;\n    content: ' '; }\n  .button-group::after {\n    clear: both; }\n  .button-group .button {\n    margin: 0;\n    margin-left: 1px;\n    margin-bottom: 1px;\n    font-size: 0.9rem; }\n    .button-group .button:last-child {\n      margin-left: 0; }\n  .button-group.tiny .button {\n    font-size: 0.6rem; }\n  .button-group.small .button {\n    font-size: 0.75rem; }\n  .button-group.large .button {\n    font-size: 1.25rem; }\n  .button-group.expanded {\n    margin-left: -1px; }\n    .button-group.expanded::before, .button-group.expanded::after {\n      display: none; }\n    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {\n      display: inline-block;\n      width: calc(50% - 1px);\n      margin-left: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {\n        margin-left: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {\n      display: inline-block;\n      width: calc(33.33333% - 1px);\n      margin-left: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {\n        margin-left: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {\n      display: inline-block;\n      width: calc(25% - 1px);\n      margin-left: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {\n        margin-left: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {\n      display: inline-block;\n      width: calc(20% - 1px);\n      margin-left: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {\n        margin-left: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {\n      display: inline-block;\n      width: calc(16.66667% - 1px);\n      margin-left: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {\n        margin-left: -6px; }\n  .button-group.primary .button {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button-group.primary .button:hover, .button-group.primary .button:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button-group.secondary .button {\n    background-color: #767676;\n    color: #fefefe; }\n    .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button-group.success .button {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button-group.success .button:hover, .button-group.success .button:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button-group.warning .button {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button-group.warning .button:hover, .button-group.warning .button:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button-group.alert .button {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button-group.alert .button:hover, .button-group.alert .button:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n    width: 100%; }\n    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n      margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .button-group.stacked-for-small .button {\n      width: auto;\n      margin-bottom: 0; } }\n  @media print, screen and (min-width: 64em) {\n    .button-group.stacked-for-medium .button {\n      width: auto;\n      margin-bottom: 0; } }\n  @media screen and (max-width: 39.9375em) {\n    .button-group.stacked-for-small.expanded {\n      display: block; }\n      .button-group.stacked-for-small.expanded .button {\n        display: block;\n        margin-left: 0; } }\n\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(10, 10, 10, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #0a0a0a; }\n  .callout > :first-child {\n    margin-top: 0; }\n  .callout > :last-child {\n    margin-bottom: 0; }\n  .callout.primary {\n    background-color: #d7ecfa;\n    color: #0a0a0a; }\n  .callout.secondary {\n    background-color: #eaeaea;\n    color: #0a0a0a; }\n  .callout.success {\n    background-color: #e1faea;\n    color: #0a0a0a; }\n  .callout.warning {\n    background-color: #fff3d9;\n    color: #0a0a0a; }\n  .callout.alert {\n    background-color: #f7e4e1;\n    color: #0a0a0a; }\n  .callout.small {\n    padding-top: 0.5rem;\n    padding-right: 0.5rem;\n    padding-bottom: 0.5rem;\n    padding-left: 0.5rem; }\n  .callout.large {\n    padding-top: 3rem;\n    padding-right: 3rem;\n    padding-bottom: 3rem;\n    padding-left: 3rem; }\n\n.card {\n  margin-bottom: 1rem;\n  border: 1px solid #e6e6e6;\n  border-radius: 0;\n  background: #fefefe;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  overflow: hidden;\n  color: #0a0a0a; }\n  .card > :last-child {\n    margin-bottom: 0; }\n\n.card-divider {\n  padding: 1rem;\n  background: #e6e6e6; }\n  .card-divider > :last-child {\n    margin-bottom: 0; }\n\n.card-section {\n  padding: 1rem; }\n  .card-section > :last-child {\n    margin-bottom: 0; }\n\n.close-button {\n  position: absolute;\n  color: #8a8a8a;\n  cursor: pointer; }\n  [data-whatinput='mouse'] .close-button {\n    outline: 0; }\n  .close-button:hover, .close-button:focus {\n    color: #0a0a0a; }\n  .close-button.small {\n    right: 0.66rem;\n    top: 0.33em;\n    font-size: 1.5em;\n    line-height: 1; }\n  .close-button, .close-button.medium {\n    right: 1rem;\n    top: 0.5rem;\n    font-size: 2em;\n    line-height: 1; }\n\n.menu {\n  margin: 0;\n  list-style-type: none; }\n  .menu > li {\n    display: table-cell;\n    vertical-align: middle; }\n    [data-whatinput='mouse'] .menu > li {\n      outline: 0; }\n  .menu > li > a {\n    display: block;\n    padding: 0.7rem 1rem;\n    line-height: 1; }\n  .menu input,\n  .menu select,\n  .menu a,\n  .menu button {\n    margin-bottom: 0; }\n  .menu > li > a img,\n  .menu > li > a i,\n  .menu > li > a svg {\n    vertical-align: middle; }\n    .menu > li > a img + span,\n    .menu > li > a i + span,\n    .menu > li > a svg + span {\n      vertical-align: middle; }\n  .menu > li > a img,\n  .menu > li > a i,\n  .menu > li > a svg {\n    margin-left: 0.25rem;\n    display: inline-block; }\n  .menu > li, .menu.horizontal > li {\n    display: table-cell; }\n  .menu.expanded {\n    display: table;\n    width: 100%;\n    table-layout: fixed; }\n    .menu.expanded > li:first-child:last-child {\n      width: 100%; }\n  .menu.vertical > li {\n    display: block; }\n  @media print, screen and (min-width: 40em) {\n    .menu.medium-horizontal > li {\n      display: table-cell; }\n    .menu.medium-expanded {\n      display: table;\n      width: 100%;\n      table-layout: fixed; }\n      .menu.medium-expanded > li:first-child:last-child {\n        width: 100%; }\n    .menu.medium-vertical > li {\n      display: block; } }\n  @media print, screen and (min-width: 64em) {\n    .menu.large-horizontal > li {\n      display: table-cell; }\n    .menu.large-expanded {\n      display: table;\n      width: 100%;\n      table-layout: fixed; }\n      .menu.large-expanded > li:first-child:last-child {\n        width: 100%; }\n    .menu.large-vertical > li {\n      display: block; } }\n  .menu.simple li {\n    display: inline-block;\n    margin-left: 1rem;\n    line-height: 1; }\n  .menu.simple a {\n    padding: 0; }\n  .menu.align-left::before, .menu.align-left::after {\n    display: table;\n    content: ' '; }\n  .menu.align-left::after {\n    clear: both; }\n  .menu.align-left > li {\n    float: left; }\n  .menu.icon-top > li > a {\n    text-align: center; }\n    .menu.icon-top > li > a img,\n    .menu.icon-top > li > a i,\n    .menu.icon-top > li > a svg {\n      display: block;\n      margin: 0 auto 0.25rem; }\n  .menu.icon-top.vertical a > span {\n    margin: auto; }\n  .menu.nested {\n    margin-right: 1rem; }\n  .menu .active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  .menu.menu-bordered li {\n    border: 1px solid #e6e6e6; }\n    .menu.menu-bordered li:not(:first-child) {\n      border-top: 0; }\n  .menu.menu-hover li:hover {\n    background-color: #e6e6e6; }\n\n.menu-text {\n  padding-top: 0;\n  padding-bottom: 0;\n  padding: 0.7rem 1rem;\n  font-weight: bold;\n  line-height: 1;\n  color: inherit; }\n\n.menu-centered {\n  text-align: center; }\n  .menu-centered > .menu {\n    display: inline-block; }\n\n.no-js [data-responsive-menu] ul {\n  display: none; }\n\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #fefefe;\n    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n    content: ''; }\n  .menu-icon:hover::after {\n    background: #cacaca;\n    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;\n            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }\n\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon.dark::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #0a0a0a;\n    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n    content: ''; }\n  .menu-icon.dark:hover::after {\n    background: #8a8a8a;\n    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;\n            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }\n\n.is-drilldown {\n  position: relative;\n  overflow: hidden; }\n  .is-drilldown li {\n    display: block; }\n  .is-drilldown.animate-height {\n    -webkit-transition: height 0.5s;\n    transition: height 0.5s; }\n\n.is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  right: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  -webkit-transition: -webkit-transform 0.15s linear;\n  transition: -webkit-transform 0.15s linear;\n  transition: transform 0.15s linear;\n  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }\n  .is-drilldown-submenu.is-active {\n    z-index: 1;\n    display: block;\n    -webkit-transform: translateX(100%);\n        -ms-transform: translateX(100%);\n            transform: translateX(100%); }\n  .is-drilldown-submenu.is-closing {\n    -webkit-transform: translateX(-100%);\n        -ms-transform: translateX(-100%);\n            transform: translateX(-100%); }\n\n.drilldown-submenu-cover-previous {\n  min-height: 100%; }\n\n.is-drilldown-submenu-parent > a {\n  position: relative; }\n  .is-drilldown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -6px;\n    left: 1rem; }\n\n.js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  border-right-width: 0;\n  display: inline-block;\n  vertical-align: middle;\n  margin-left: 0.75rem;\n  border-right-width: 0; }\n\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: block;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem; }\n  .dropdown-pane.is-open {\n    visibility: visible; }\n\n.dropdown-pane.tiny {\n  width: 100px; }\n\n.dropdown-pane.small {\n  width: 200px; }\n\n.dropdown-pane.large {\n  width: 400px; }\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-left: 1.5rem; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  left: 5px;\n  margin-top: -3px; }\n\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0; }\n\n.no-js .dropdown.menu ul {\n  display: none; }\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0; }\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  right: 100%;\n  left: auto; }\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%; }\n\n.dropdown.menu.vertical > li > a::after {\n  left: 14px; }\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent; }\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-left: 1.5rem; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    left: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.medium-vertical > li > a::after {\n    left: 14px; }\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-left: 1.5rem; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    left: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.large-vertical > li > a::after {\n    left: 14px; }\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.is-dropdown-menu.vertical {\n  width: 100px; }\n  .is-dropdown-menu.vertical.align-right {\n    float: right; }\n\n.is-dropdown-submenu-parent {\n  position: relative; }\n  .is-dropdown-submenu-parent a::after {\n    position: absolute;\n    top: 50%;\n    left: 5px;\n    margin-top: -6px; }\n  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n    top: 100%;\n    right: auto; }\n  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  right: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #cacaca;\n  background: #fefefe; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n    left: 14px; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; }\n  .is-dropdown-submenu .is-dropdown-submenu {\n    margin-top: -1px; }\n  .is-dropdown-submenu > li {\n    width: 100%; }\n  .is-dropdown-submenu.js-dropdown-active {\n    display: block; }\n\n.responsive-embed, .flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden; }\n  .responsive-embed iframe,\n  .responsive-embed object,\n  .responsive-embed embed,\n  .responsive-embed video, .flex-video iframe,\n  .flex-video object,\n  .flex-video embed,\n  .flex-video video {\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 100%;\n    height: 100%; }\n  .responsive-embed.widescreen, .flex-video.widescreen {\n    padding-bottom: 56.25%; }\n\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe; }\n  .label.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .label.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .label.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .label.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .label.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.media-object {\n  display: block;\n  margin-bottom: 1rem; }\n  .media-object img {\n    max-width: none; }\n  @media screen and (max-width: 39.9375em) {\n    .media-object.stack-for-small .media-object-section {\n      padding: 0;\n      padding-bottom: 1rem;\n      display: block; }\n      .media-object.stack-for-small .media-object-section img {\n        width: 100%; } }\n\n.media-object-section {\n  display: table-cell;\n  vertical-align: top; }\n  .media-object-section:first-child {\n    padding-left: 1rem; }\n  .media-object-section:last-child:not(:nth-child(2)) {\n    padding-right: 1rem; }\n  .media-object-section > :last-child {\n    margin-bottom: 0; }\n  .media-object-section.middle {\n    vertical-align: middle; }\n  .media-object-section.bottom {\n    vertical-align: bottom; }\n\n.is-off-canvas-open {\n  overflow: hidden; }\n\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden; }\n  .js-off-canvas-overlay.is-visible {\n    opacity: 1;\n    visibility: visible; }\n  .js-off-canvas-overlay.is-closable {\n    cursor: pointer; }\n  .js-off-canvas-overlay.is-overlay-absolute {\n    position: absolute; }\n  .js-off-canvas-overlay.is-overlay-fixed {\n    position: fixed; }\n\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden; }\n\n.off-canvas {\n  position: fixed;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas {\n    outline: 0; }\n  .off-canvas.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas-absolute {\n    outline: 0; }\n  .off-canvas-absolute.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas-absolute.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas-absolute.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.position-left {\n  top: 0;\n  left: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(-250px);\n      -ms-transform: translateX(-250px);\n          transform: translateX(-250px);\n  overflow-y: auto; }\n  .position-left.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(250px);\n        -ms-transform: translateX(250px);\n            transform: translateX(250px); }\n  .position-left.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-right {\n  top: 0;\n  right: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(250px);\n      -ms-transform: translateX(250px);\n          transform: translateX(250px);\n  overflow-y: auto; }\n  .position-right.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(-250px);\n        -ms-transform: translateX(-250px);\n            transform: translateX(-250px); }\n  .position-right.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(-250px);\n      -ms-transform: translateY(-250px);\n          transform: translateY(-250px);\n  overflow-x: auto; }\n  .position-top.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(250px);\n        -ms-transform: translateY(250px);\n            transform: translateY(250px); }\n  .position-top.is-transition-push::after {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(250px);\n      -ms-transform: translateY(250px);\n          transform: translateY(250px);\n  overflow-x: auto; }\n  .position-bottom.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(-250px);\n        -ms-transform: translateY(-250px);\n            transform: translateY(-250px); }\n  .position-bottom.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.off-canvas-content {\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n@media print, screen and (min-width: 40em) {\n  .position-left.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-medium ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-medium ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-medium ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-medium ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n  .position-left.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-large ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-large ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-large ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-large ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n.orbit {\n  position: relative; }\n\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden; }\n\n.orbit-slide {\n  width: 100%; }\n  .orbit-slide.no-motionui.is-active {\n    top: 0;\n    left: 0; }\n\n.orbit-figure {\n  margin: 0; }\n\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0; }\n\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(10, 10, 10, 0.5);\n  color: #fefefe; }\n\n.orbit-previous, .orbit-next {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n    outline: 0; }\n  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n    background-color: rgba(10, 10, 10, 0.5); }\n\n.orbit-previous {\n  right: 0; }\n\n.orbit-next {\n  right: auto;\n  left: 0; }\n\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center; }\n  [data-whatinput='mouse'] .orbit-bullets {\n    outline: 0; }\n  .orbit-bullets button {\n    width: 1.2rem;\n    height: 1.2rem;\n    margin: 0.1rem;\n    border-radius: 50%;\n    background-color: #cacaca; }\n    .orbit-bullets button:hover {\n      background-color: #8a8a8a; }\n    .orbit-bullets button.is-active {\n      background-color: #8a8a8a; }\n\n.pagination {\n  margin-right: 0;\n  margin-bottom: 1rem; }\n  .pagination::before, .pagination::after {\n    display: table;\n    content: ' '; }\n  .pagination::after {\n    clear: both; }\n  .pagination li {\n    margin-left: 0.0625rem;\n    border-radius: 0;\n    font-size: 0.875rem;\n    display: none; }\n    .pagination li:last-child, .pagination li:first-child {\n      display: inline-block; }\n    @media print, screen and (min-width: 40em) {\n      .pagination li {\n        display: inline-block; } }\n  .pagination a,\n  .pagination button {\n    display: block;\n    padding: 0.1875rem 0.625rem;\n    border-radius: 0;\n    color: #0a0a0a; }\n    .pagination a:hover,\n    .pagination button:hover {\n      background: #e6e6e6; }\n  .pagination .current {\n    padding: 0.1875rem 0.625rem;\n    background: #1779ba;\n    color: #fefefe;\n    cursor: default; }\n  .pagination .disabled {\n    padding: 0.1875rem 0.625rem;\n    color: #cacaca;\n    cursor: not-allowed; }\n    .pagination .disabled:hover {\n      background: transparent; }\n  .pagination .ellipsis::after {\n    padding: 0.1875rem 0.625rem;\n    content: '\\2026';\n    color: #0a0a0a; }\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00ab'; }\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00bb'; }\n\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #cacaca; }\n  .progress.primary .progress-meter {\n    background-color: #1779ba; }\n  .progress.secondary .progress-meter {\n    background-color: #767676; }\n  .progress.success .progress-meter {\n    background-color: #3adb76; }\n  .progress.warning .progress-meter {\n    background-color: #ffae00; }\n  .progress.alert .progress-meter {\n    background-color: #cc4b37; }\n\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba; }\n\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translate(-50%, -50%);\n      -ms-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  position: absolute;\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap; }\n\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #e6e6e6;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -ms-touch-action: none;\n      touch-action: none; }\n\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #cacaca;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out; }\n  .slider-fill.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  position: absolute;\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation; }\n  [data-whatinput='mouse'] .slider-handle {\n    outline: 0; }\n  .slider-handle:hover {\n    background-color: #14679e; }\n  .slider-handle.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed; }\n\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  -webkit-transform: scale(1, -1);\n      -ms-transform: scale(1, -1);\n          transform: scale(1, -1); }\n  .slider.vertical .slider-fill {\n    top: 0;\n    width: 0.5rem;\n    max-height: 100%; }\n  .slider.vertical .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 1.4rem;\n    height: 1.4rem;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n\n.slider:not(.vertical) {\n  -webkit-transform: scale(-1, 1);\n      -ms-transform: scale(-1, 1);\n          transform: scale(-1, 1); }\n\n.sticky-container {\n  position: relative; }\n\n.sticky {\n  position: relative;\n  z-index: 0;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0); }\n\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5; }\n  .sticky.is-stuck.is-at-top {\n    top: 0; }\n  .sticky.is-stuck.is-at-bottom {\n    bottom: 0; }\n\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto; }\n  .sticky.is-anchored.is-at-bottom {\n    bottom: 0; }\n\nbody.is-reveal-open {\n  overflow: hidden; }\n\nhtml.is-reveal-open,\nhtml.is-reveal-open body {\n  min-height: 100%;\n  overflow: hidden;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(10, 10, 10, 0.45);\n  overflow-y: scroll; }\n\n.reveal {\n  z-index: 1006;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto; }\n  [data-whatinput='mouse'] .reveal {\n    outline: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      min-height: 0; } }\n  .reveal .column, .reveal .columns,\n  .reveal .columns {\n    min-width: 0; }\n  .reveal > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      width: 600px;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal .reveal {\n      right: auto;\n      left: auto;\n      margin: 0 auto; } }\n  .reveal.collapse {\n    padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal.tiny {\n      width: 30%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.small {\n      width: 50%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.large {\n      width: 90%;\n      max-width: 75rem; } }\n  .reveal.full {\n    top: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    height: 100vh;\n    min-height: 100vh;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0; }\n  @media screen and (max-width: 39.9375em) {\n    .reveal {\n      top: 0;\n      left: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      height: 100vh;\n      min-height: 100vh;\n      margin-left: 0;\n      border: 0;\n      border-radius: 0; } }\n  .reveal.without-overlay {\n    position: fixed; }\n\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0; }\n\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #cacaca;\n  -webkit-transition: all 0.25s ease-out;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer; }\n  input + .switch-paddle {\n    margin: 0; }\n  .switch-paddle::after {\n    position: absolute;\n    top: 0.25rem;\n    right: 0.25rem;\n    display: block;\n    width: 1.5rem;\n    height: 1.5rem;\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n    border-radius: 0;\n    background: #fefefe;\n    -webkit-transition: all 0.25s ease-out;\n    transition: all 0.25s ease-out;\n    content: ''; }\n  input:checked ~ .switch-paddle {\n    background: #1779ba; }\n    input:checked ~ .switch-paddle::after {\n      right: 2.25rem; }\n  [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n    outline: 0; }\n\n.switch-active, .switch-inactive {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%); }\n\n.switch-active {\n  right: 8%;\n  display: none; }\n  input:checked + label > .switch-active {\n    display: block; }\n\n.switch-inactive {\n  left: 15%; }\n  input:checked + label > .switch-inactive {\n    display: none; }\n\n.switch.tiny {\n  height: 1.5rem; }\n  .switch.tiny .switch-paddle {\n    width: 3rem;\n    height: 1.5rem;\n    font-size: 0.625rem; }\n  .switch.tiny .switch-paddle::after {\n    top: 0.25rem;\n    right: 0.25rem;\n    width: 1rem;\n    height: 1rem; }\n  .switch.tiny input:checked ~ .switch-paddle::after {\n    right: 1.75rem; }\n\n.switch.small {\n  height: 1.75rem; }\n  .switch.small .switch-paddle {\n    width: 3.5rem;\n    height: 1.75rem;\n    font-size: 0.75rem; }\n  .switch.small .switch-paddle::after {\n    top: 0.25rem;\n    right: 0.25rem;\n    width: 1.25rem;\n    height: 1.25rem; }\n  .switch.small input:checked ~ .switch-paddle::after {\n    right: 2rem; }\n\n.switch.large {\n  height: 2.5rem; }\n  .switch.large .switch-paddle {\n    width: 5rem;\n    height: 2.5rem;\n    font-size: 1rem; }\n  .switch.large .switch-paddle::after {\n    top: 0.25rem;\n    right: 0.25rem;\n    width: 2rem;\n    height: 2rem; }\n  .switch.large input:checked ~ .switch-paddle::after {\n    right: 2.75rem; }\n\ntable {\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0; }\n  table thead,\n  table tbody,\n  table tfoot {\n    border: 1px solid #f1f1f1;\n    background-color: #fefefe; }\n  table caption {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold; }\n  table thead {\n    background: #f8f8f8;\n    color: #0a0a0a; }\n  table tfoot {\n    background: #f1f1f1;\n    color: #0a0a0a; }\n  table thead tr,\n  table tfoot tr {\n    background: transparent; }\n  table thead th,\n  table thead td,\n  table tfoot th,\n  table tfoot td {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold;\n    text-align: right; }\n  table tbody th,\n  table tbody td {\n    padding: 0.5rem 0.625rem 0.625rem; }\n  table tbody tr:nth-child(even) {\n    border-bottom: 0;\n    background-color: #f1f1f1; }\n  table.unstriped tbody {\n    background-color: #fefefe; }\n    table.unstriped tbody tr {\n      border-bottom: 0;\n      border-bottom: 1px solid #f1f1f1;\n      background-color: #fefefe; }\n\n@media screen and (max-width: 63.9375em) {\n  table.stack thead {\n    display: none; }\n  table.stack tfoot {\n    display: none; }\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block; }\n  table.stack td {\n    border-top: 0; } }\n\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto; }\n\ntable.hover thead tr:hover {\n  background-color: #f3f3f3; }\n\ntable.hover tfoot tr:hover {\n  background-color: #ececec; }\n\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9; }\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec; }\n\n.table-scroll {\n  overflow-x: auto; }\n  .table-scroll table {\n    width: auto; }\n\n.tabs {\n  margin: 0;\n  border: 1px solid #e6e6e6;\n  background: #fefefe;\n  list-style-type: none; }\n  .tabs::before, .tabs::after {\n    display: table;\n    content: ' '; }\n  .tabs::after {\n    clear: both; }\n\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto; }\n\n.tabs.simple > li > a {\n  padding: 0; }\n  .tabs.simple > li > a:hover {\n    background: transparent; }\n\n.tabs.primary {\n  background: #1779ba; }\n  .tabs.primary > li > a {\n    color: #fefefe; }\n    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n      background: #1673b1; }\n\n.tabs-title {\n  float: right; }\n  .tabs-title > a {\n    display: block;\n    padding: 1.25rem 1.5rem;\n    font-size: 0.75rem;\n    line-height: 1;\n    color: #1779ba; }\n    .tabs-title > a:hover {\n      background: #fefefe;\n      color: #1468a0; }\n    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n      background: #e6e6e6;\n      color: #1779ba; }\n\n.tabs-content {\n  border: 1px solid #e6e6e6;\n  border-top: 0;\n  background: #fefefe;\n  color: #0a0a0a;\n  -webkit-transition: all 0.5s ease;\n  transition: all 0.5s ease; }\n\n.tabs-content.vertical {\n  border: 1px solid #e6e6e6;\n  border-right: 0; }\n\n.tabs-panel {\n  display: none;\n  padding: 1rem; }\n  .tabs-panel[aria-hidden=\"false\"] {\n    display: block; }\n\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: solid 4px #fefefe;\n  border-radius: 0;\n  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  line-height: 0; }\n\na.thumbnail {\n  -webkit-transition: -webkit-box-shadow 200ms ease-out;\n  transition: -webkit-box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }\n  a.thumbnail:hover, a.thumbnail:focus {\n    -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n            box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n  a.thumbnail image {\n    -webkit-box-shadow: none;\n            box-shadow: none; }\n\n.title-bar {\n  padding: 0.5rem;\n  background: #0a0a0a;\n  color: #fefefe; }\n  .title-bar::before, .title-bar::after {\n    display: table;\n    content: ' '; }\n  .title-bar::after {\n    clear: both; }\n  .title-bar .menu-icon {\n    margin-right: 0.25rem;\n    margin-left: 0.25rem; }\n\n.title-bar-left {\n  float: left; }\n\n.title-bar-right {\n  float: right;\n  text-align: right; }\n\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold; }\n\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #8a8a8a;\n  font-weight: bold;\n  cursor: help; }\n\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #0a0a0a;\n  font-size: 80%;\n  color: #fefefe; }\n  .tooltip::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent #0a0a0a;\n    position: absolute;\n    bottom: 100%;\n    left: 50%;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  .tooltip.top::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #0a0a0a transparent transparent;\n    top: 100%;\n    bottom: auto; }\n  .tooltip.left::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #0a0a0a;\n    top: 50%;\n    bottom: auto;\n    left: 100%;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  .tooltip.right::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #0a0a0a transparent transparent;\n    top: 50%;\n    right: 100%;\n    bottom: auto;\n    left: auto;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n\n.top-bar {\n  padding: 0.5rem; }\n  .top-bar::before, .top-bar::after {\n    display: table;\n    content: ' '; }\n  .top-bar::after {\n    clear: both; }\n  .top-bar,\n  .top-bar ul {\n    background-color: #e6e6e6; }\n  .top-bar input {\n    max-width: 200px;\n    margin-left: 1rem; }\n  .top-bar .input-group-field {\n    width: 100%;\n    margin-left: 0; }\n  .top-bar input.button {\n    width: auto; }\n  .top-bar .top-bar-left,\n  .top-bar .top-bar-right {\n    width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    .top-bar .top-bar-left,\n    .top-bar .top-bar-right {\n      width: auto; } }\n  @media screen and (max-width: 63.9375em) {\n    .top-bar.stacked-for-medium .top-bar-left,\n    .top-bar.stacked-for-medium .top-bar-right {\n      width: 100%; } }\n  @media screen and (max-width: 74.9375em) {\n    .top-bar.stacked-for-large .top-bar-left,\n    .top-bar.stacked-for-large .top-bar-right {\n      width: 100%; } }\n\n.top-bar-title {\n  display: inline-block;\n  float: left;\n  padding: 0.5rem 1rem 0.5rem 0; }\n  .top-bar-title .menu-icon {\n    bottom: 2px; }\n\n.top-bar-left {\n  float: left; }\n\n.top-bar-right {\n  float: right; }\n\n.hide {\n  display: none !important; }\n\n.invisible {\n  visibility: hidden; }\n\n@media screen and (max-width: 39.9375em) {\n  .hide-for-small-only {\n    display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  .show-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  .hide-for-medium {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em) {\n  .show-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.9375em) {\n  .hide-for-medium-only {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {\n  .show-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  .hide-for-large {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em) {\n  .show-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.9375em) {\n  .hide-for-large-only {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {\n  .show-for-large-only {\n    display: none !important; } }\n\n.show-for-sr,\n.show-on-focus {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0); }\n\n.show-on-focus:active, .show-on-focus:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto; }\n\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important; }\n  @media screen and (orientation: landscape) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: block !important; } }\n  @media screen and (orientation: portrait) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: none !important; } }\n\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important; }\n  @media screen and (orientation: landscape) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: none !important; } }\n  @media screen and (orientation: portrait) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: block !important; } }\n\n.float-left {\n  float: left !important; }\n\n.float-right {\n  float: right !important; }\n\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto; }\n\n.clearfix::before, .clearfix::after {\n  display: table;\n  content: ' '; }\n\n.clearfix::after {\n  clear: both; }\n\n/*# sourceMappingURL=foundation-rtl.css.map */\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/css/foundation.css",
    "content": "@charset \"UTF-8\";\n/**\n * Foundation for Sites by ZURB\n * Version 6.3.0\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */\n/* Document\n       ========================================================================== */\n/**\n     * 1. Change the default font family in all browsers (opinionated).\n     * 2. Correct the line height in all browsers.\n     * 3. Prevent adjustments of font size after orientation changes in\n     *    IE on Windows Phone and in iOS.\n     */\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  line-height: 1.15;\n  /* 2 */\n  -ms-text-size-adjust: 100%;\n  /* 3 */\n  -webkit-text-size-adjust: 100%;\n  /* 3 */ }\n\n/* Sections\n       ========================================================================== */\n/**\n     * Remove the margin in all browsers (opinionated).\n     */\nbody {\n  margin: 0; }\n\n/**\n     * Add the correct display in IE 9-.\n     */\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n  display: block; }\n\n/**\n     * Correct the font size and margin on `h1` elements within `section` and\n     * `article` contexts in Chrome, Firefox, and Safari.\n     */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/* Grouping content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\nfigcaption,\nfigure {\n  display: block; }\n\n/**\n     * Add the correct margin in IE 8.\n     */\nfigure {\n  margin: 1em 40px; }\n\n/**\n     * 1. Add the correct box sizing in Firefox.\n     * 2. Show the overflow in Edge and IE.\n     */\nhr {\n  -webkit-box-sizing: content-box;\n          box-sizing: content-box;\n  /* 1 */\n  height: 0;\n  /* 1 */\n  overflow: visible;\n  /* 2 */ }\n\n/**\n     * Add the correct display in IE.\n     */\nmain {\n  display: block; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\npre {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/* Links\n       ========================================================================== */\n/**\n     * 1. Remove the gray background on active links in IE 10.\n     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n     */\na {\n  background-color: transparent;\n  /* 1 */\n  -webkit-text-decoration-skip: objects;\n  /* 2 */ }\n\n/**\n     * Remove the outline on focused links when they are also active or hovered\n     * in all browsers (opinionated).\n     */\na:active,\na:hover {\n  outline-width: 0; }\n\n/* Text-level semantics\n       ========================================================================== */\n/**\n     * 1. Remove the bottom border in Firefox 39-.\n     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n     */\nabbr[title] {\n  border-bottom: none;\n  /* 1 */\n  text-decoration: underline;\n  /* 2 */\n  text-decoration: underline dotted;\n  /* 2 */ }\n\n/**\n     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n     */\nb,\nstrong {\n  font-weight: inherit; }\n\n/**\n     * Add the correct font weight in Chrome, Edge, and Safari.\n     */\nb,\nstrong {\n  font-weight: bolder; }\n\n/**\n     * 1. Correct the inheritance and scaling of font size in all browsers.\n     * 2. Correct the odd `em` font sizing in all browsers.\n     */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  /* 1 */\n  font-size: 1em;\n  /* 2 */ }\n\n/**\n     * Add the correct font style in Android 4.3-.\n     */\ndfn {\n  font-style: italic; }\n\n/**\n     * Add the correct background and color in IE 9-.\n     */\nmark {\n  background-color: #ff0;\n  color: #000; }\n\n/**\n     * Add the correct font size in all browsers.\n     */\nsmall {\n  font-size: 80%; }\n\n/**\n     * Prevent `sub` and `sup` elements from affecting the line height in\n     * all browsers.\n     */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\nsub {\n  bottom: -0.25em; }\n\nsup {\n  top: -0.5em; }\n\n/* Embedded content\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\naudio,\nvideo {\n  display: inline-block; }\n\n/**\n     * Add the correct display in iOS 4-7.\n     */\naudio:not([controls]) {\n  display: none;\n  height: 0; }\n\n/**\n     * Remove the border on images inside links in IE 10-.\n     */\nimg {\n  border-style: none; }\n\n/**\n     * Hide the overflow in IE.\n     */\nsvg:not(:root) {\n  overflow: hidden; }\n\n/* Forms\n       ========================================================================== */\n/**\n     * 1. Change the font styles in all browsers (opinionated).\n     * 2. Remove the margin in Firefox and Safari.\n     */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: sans-serif;\n  /* 1 */\n  font-size: 100%;\n  /* 1 */\n  line-height: 1.15;\n  /* 1 */\n  margin: 0;\n  /* 2 */ }\n\n/**\n     * Show the overflow in IE.\n     */\nbutton {\n  overflow: visible; }\n\n/**\n     * Remove the inheritance of text transform in Edge, Firefox, and IE.\n     * 1. Remove the inheritance of text transform in Firefox.\n     */\nbutton,\nselect {\n  /* 1 */\n  text-transform: none; }\n\n/**\n     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n     *    controls in Android 4.\n     * 2. Correct the inability to style clickable types in iOS and Safari.\n     */\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */ }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  /**\n       * Remove the inner border and padding in Firefox.\n       */\n  /**\n       * Restore the focus styles unset by the previous rule.\n       */ }\n  button::-moz-focus-inner,\n  [type=\"button\"]::-moz-focus-inner,\n  [type=\"reset\"]::-moz-focus-inner,\n  [type=\"submit\"]::-moz-focus-inner {\n    border-style: none;\n    padding: 0; }\n  button:-moz-focusring,\n  [type=\"button\"]:-moz-focusring,\n  [type=\"reset\"]:-moz-focusring,\n  [type=\"submit\"]:-moz-focusring {\n    outline: 1px dotted ButtonText; }\n\n/**\n     * Show the overflow in Edge.\n     */\ninput {\n  overflow: visible; }\n\n/**\n     * 1. Add the correct box sizing in IE 10-.\n     * 2. Remove the padding in IE 10-.\n     */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */ }\n\n/**\n     * Correct the cursor style of increment and decrement buttons in Chrome.\n     */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/**\n     * 1. Correct the odd appearance in Chrome and Safari.\n     * 2. Correct the outline style in Safari.\n     */\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  outline-offset: -2px;\n  /* 2 */\n  /**\n       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n       */ }\n  [type=\"search\"]::-webkit-search-cancel-button, [type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none; }\n\n/**\n     * 1. Correct the inability to style clickable types in iOS and Safari.\n     * 2. Change font properties to `inherit` in Safari.\n     */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  /* 1 */\n  font: inherit;\n  /* 2 */ }\n\n/**\n     * Change the border, margin, and padding in all browsers (opinionated).\n     */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em; }\n\n/**\n     * 1. Correct the text wrapping in Edge and IE.\n     * 2. Correct the color inheritance from `fieldset` elements in IE.\n     * 3. Remove the padding so developers are not caught out when they zero out\n     *    `fieldset` elements in all browsers.\n     */\nlegend {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  /* 1 */\n  display: table;\n  /* 1 */\n  max-width: 100%;\n  /* 1 */\n  padding: 0;\n  /* 3 */\n  color: inherit;\n  /* 2 */\n  white-space: normal;\n  /* 1 */ }\n\n/**\n     * 1. Add the correct display in IE 9-.\n     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\n     */\nprogress {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */ }\n\n/**\n     * Remove the default vertical scrollbar in IE.\n     */\ntextarea {\n  overflow: auto; }\n\n/* Interactive\n       ========================================================================== */\n/*\n     * Add the correct display in Edge, IE, and Firefox.\n     */\ndetails {\n  display: block; }\n\n/*\n     * Add the correct display in all browsers.\n     */\nsummary {\n  display: list-item; }\n\n/*\n     * Add the correct display in IE 9-.\n     */\nmenu {\n  display: block; }\n\n/* Scripting\n       ========================================================================== */\n/**\n     * Add the correct display in IE 9-.\n     */\ncanvas {\n  display: inline-block; }\n\n/**\n     * Add the correct display in IE.\n     */\ntemplate {\n  display: none; }\n\n/* Hidden\n       ========================================================================== */\n/**\n     * Add the correct display in IE 10-.\n     */\n[hidden] {\n  display: none; }\n\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\nhtml {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  font-size: 100%; }\n\n*,\n*::before,\n*::after {\n  -webkit-box-sizing: inherit;\n          box-sizing: inherit; }\n\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #0a0a0a;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale; }\n\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic; }\n\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0; }\n\nselect {\n  width: 100%;\n  border-radius: 0; }\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important; }\n\nbutton {\n  padding: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1; }\n  [data-whatinput='mouse'] button {\n    outline: 0; }\n\n.is-visible {\n  display: block !important; }\n\n.is-hidden {\n  display: none !important; }\n\n.row {\n  max-width: 75rem;\n  margin-right: auto;\n  margin-left: auto; }\n  .row::before, .row::after {\n    display: table;\n    content: ' '; }\n  .row::after {\n    clear: both; }\n  .row.collapse > .column, .row.collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .row .row {\n    margin-right: -0.625rem;\n    margin-left: -0.625rem; }\n    @media print, screen and (min-width: 40em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n    @media print, screen and (min-width: 64em) {\n      .row .row {\n        margin-right: -0.9375rem;\n        margin-left: -0.9375rem; } }\n    .row .row.collapse {\n      margin-right: 0;\n      margin-left: 0; }\n  .row.expanded {\n    max-width: none; }\n    .row.expanded .row {\n      margin-right: auto;\n      margin-left: auto; }\n  .row.gutter-small > .column, .row.gutter-small > .columns {\n    padding-right: 0.625rem;\n    padding-left: 0.625rem; }\n  .row.gutter-medium > .column, .row.gutter-medium > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n\n.column, .columns {\n  width: 100%;\n  float: left;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    .column, .columns {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {\n    float: right; }\n  .column.end:last-child:last-child, .end.columns:last-child:last-child {\n    float: left; }\n\n.column.row.row, .row.row.columns {\n  float: none; }\n\n.row .column.row.row, .row .row.row.columns {\n  margin-right: 0;\n  margin-left: 0;\n  padding-right: 0;\n  padding-left: 0; }\n\n.small-1 {\n  width: 8.33333%; }\n\n.small-push-1 {\n  position: relative;\n  left: 8.33333%; }\n\n.small-pull-1 {\n  position: relative;\n  left: -8.33333%; }\n\n.small-offset-0 {\n  margin-left: 0%; }\n\n.small-2 {\n  width: 16.66667%; }\n\n.small-push-2 {\n  position: relative;\n  left: 16.66667%; }\n\n.small-pull-2 {\n  position: relative;\n  left: -16.66667%; }\n\n.small-offset-1 {\n  margin-left: 8.33333%; }\n\n.small-3 {\n  width: 25%; }\n\n.small-push-3 {\n  position: relative;\n  left: 25%; }\n\n.small-pull-3 {\n  position: relative;\n  left: -25%; }\n\n.small-offset-2 {\n  margin-left: 16.66667%; }\n\n.small-4 {\n  width: 33.33333%; }\n\n.small-push-4 {\n  position: relative;\n  left: 33.33333%; }\n\n.small-pull-4 {\n  position: relative;\n  left: -33.33333%; }\n\n.small-offset-3 {\n  margin-left: 25%; }\n\n.small-5 {\n  width: 41.66667%; }\n\n.small-push-5 {\n  position: relative;\n  left: 41.66667%; }\n\n.small-pull-5 {\n  position: relative;\n  left: -41.66667%; }\n\n.small-offset-4 {\n  margin-left: 33.33333%; }\n\n.small-6 {\n  width: 50%; }\n\n.small-push-6 {\n  position: relative;\n  left: 50%; }\n\n.small-pull-6 {\n  position: relative;\n  left: -50%; }\n\n.small-offset-5 {\n  margin-left: 41.66667%; }\n\n.small-7 {\n  width: 58.33333%; }\n\n.small-push-7 {\n  position: relative;\n  left: 58.33333%; }\n\n.small-pull-7 {\n  position: relative;\n  left: -58.33333%; }\n\n.small-offset-6 {\n  margin-left: 50%; }\n\n.small-8 {\n  width: 66.66667%; }\n\n.small-push-8 {\n  position: relative;\n  left: 66.66667%; }\n\n.small-pull-8 {\n  position: relative;\n  left: -66.66667%; }\n\n.small-offset-7 {\n  margin-left: 58.33333%; }\n\n.small-9 {\n  width: 75%; }\n\n.small-push-9 {\n  position: relative;\n  left: 75%; }\n\n.small-pull-9 {\n  position: relative;\n  left: -75%; }\n\n.small-offset-8 {\n  margin-left: 66.66667%; }\n\n.small-10 {\n  width: 83.33333%; }\n\n.small-push-10 {\n  position: relative;\n  left: 83.33333%; }\n\n.small-pull-10 {\n  position: relative;\n  left: -83.33333%; }\n\n.small-offset-9 {\n  margin-left: 75%; }\n\n.small-11 {\n  width: 91.66667%; }\n\n.small-push-11 {\n  position: relative;\n  left: 91.66667%; }\n\n.small-pull-11 {\n  position: relative;\n  left: -91.66667%; }\n\n.small-offset-10 {\n  margin-left: 83.33333%; }\n\n.small-12 {\n  width: 100%; }\n\n.small-offset-11 {\n  margin-left: 91.66667%; }\n\n.small-up-1 > .column, .small-up-1 > .columns {\n  float: left;\n  width: 100%; }\n  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {\n    clear: both; }\n  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {\n    float: left; }\n\n.small-up-2 > .column, .small-up-2 > .columns {\n  float: left;\n  width: 50%; }\n  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {\n    clear: both; }\n  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {\n    float: left; }\n\n.small-up-3 > .column, .small-up-3 > .columns {\n  float: left;\n  width: 33.33333%; }\n  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {\n    clear: both; }\n  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {\n    float: left; }\n\n.small-up-4 > .column, .small-up-4 > .columns {\n  float: left;\n  width: 25%; }\n  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {\n    clear: both; }\n  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {\n    float: left; }\n\n.small-up-5 > .column, .small-up-5 > .columns {\n  float: left;\n  width: 20%; }\n  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {\n    clear: both; }\n  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {\n    float: left; }\n\n.small-up-6 > .column, .small-up-6 > .columns {\n  float: left;\n  width: 16.66667%; }\n  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {\n    clear: both; }\n  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {\n    float: left; }\n\n.small-up-7 > .column, .small-up-7 > .columns {\n  float: left;\n  width: 14.28571%; }\n  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {\n    clear: both; }\n  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {\n    float: left; }\n\n.small-up-8 > .column, .small-up-8 > .columns {\n  float: left;\n  width: 12.5%; }\n  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {\n    clear: none; }\n  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {\n    clear: both; }\n  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {\n    float: left; }\n\n.small-collapse > .column, .small-collapse > .columns {\n  padding-right: 0;\n  padding-left: 0; }\n\n.small-collapse .row {\n  margin-right: 0;\n  margin-left: 0; }\n\n.expanded.row .small-collapse.row {\n  margin-right: 0;\n  margin-left: 0; }\n\n.small-uncollapse > .column, .small-uncollapse > .columns {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n\n.small-centered {\n  margin-right: auto;\n  margin-left: auto; }\n  .small-centered, .small-centered:last-child:not(:first-child) {\n    float: none;\n    clear: both; }\n\n.small-uncentered,\n.small-push-0,\n.small-pull-0 {\n  position: static;\n  float: left;\n  margin-right: 0;\n  margin-left: 0; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-1 {\n    width: 8.33333%; }\n  .medium-push-1 {\n    position: relative;\n    left: 8.33333%; }\n  .medium-pull-1 {\n    position: relative;\n    left: -8.33333%; }\n  .medium-offset-0 {\n    margin-left: 0%; }\n  .medium-2 {\n    width: 16.66667%; }\n  .medium-push-2 {\n    position: relative;\n    left: 16.66667%; }\n  .medium-pull-2 {\n    position: relative;\n    left: -16.66667%; }\n  .medium-offset-1 {\n    margin-left: 8.33333%; }\n  .medium-3 {\n    width: 25%; }\n  .medium-push-3 {\n    position: relative;\n    left: 25%; }\n  .medium-pull-3 {\n    position: relative;\n    left: -25%; }\n  .medium-offset-2 {\n    margin-left: 16.66667%; }\n  .medium-4 {\n    width: 33.33333%; }\n  .medium-push-4 {\n    position: relative;\n    left: 33.33333%; }\n  .medium-pull-4 {\n    position: relative;\n    left: -33.33333%; }\n  .medium-offset-3 {\n    margin-left: 25%; }\n  .medium-5 {\n    width: 41.66667%; }\n  .medium-push-5 {\n    position: relative;\n    left: 41.66667%; }\n  .medium-pull-5 {\n    position: relative;\n    left: -41.66667%; }\n  .medium-offset-4 {\n    margin-left: 33.33333%; }\n  .medium-6 {\n    width: 50%; }\n  .medium-push-6 {\n    position: relative;\n    left: 50%; }\n  .medium-pull-6 {\n    position: relative;\n    left: -50%; }\n  .medium-offset-5 {\n    margin-left: 41.66667%; }\n  .medium-7 {\n    width: 58.33333%; }\n  .medium-push-7 {\n    position: relative;\n    left: 58.33333%; }\n  .medium-pull-7 {\n    position: relative;\n    left: -58.33333%; }\n  .medium-offset-6 {\n    margin-left: 50%; }\n  .medium-8 {\n    width: 66.66667%; }\n  .medium-push-8 {\n    position: relative;\n    left: 66.66667%; }\n  .medium-pull-8 {\n    position: relative;\n    left: -66.66667%; }\n  .medium-offset-7 {\n    margin-left: 58.33333%; }\n  .medium-9 {\n    width: 75%; }\n  .medium-push-9 {\n    position: relative;\n    left: 75%; }\n  .medium-pull-9 {\n    position: relative;\n    left: -75%; }\n  .medium-offset-8 {\n    margin-left: 66.66667%; }\n  .medium-10 {\n    width: 83.33333%; }\n  .medium-push-10 {\n    position: relative;\n    left: 83.33333%; }\n  .medium-pull-10 {\n    position: relative;\n    left: -83.33333%; }\n  .medium-offset-9 {\n    margin-left: 75%; }\n  .medium-11 {\n    width: 91.66667%; }\n  .medium-push-11 {\n    position: relative;\n    left: 91.66667%; }\n  .medium-pull-11 {\n    position: relative;\n    left: -91.66667%; }\n  .medium-offset-10 {\n    margin-left: 83.33333%; }\n  .medium-12 {\n    width: 100%; }\n  .medium-offset-11 {\n    margin-left: 91.66667%; }\n  .medium-up-1 > .column, .medium-up-1 > .columns {\n    float: left;\n    width: 100%; }\n    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {\n      clear: both; }\n    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {\n      float: left; }\n  .medium-up-2 > .column, .medium-up-2 > .columns {\n    float: left;\n    width: 50%; }\n    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {\n      clear: both; }\n    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {\n      float: left; }\n  .medium-up-3 > .column, .medium-up-3 > .columns {\n    float: left;\n    width: 33.33333%; }\n    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {\n      clear: both; }\n    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {\n      float: left; }\n  .medium-up-4 > .column, .medium-up-4 > .columns {\n    float: left;\n    width: 25%; }\n    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {\n      clear: both; }\n    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {\n      float: left; }\n  .medium-up-5 > .column, .medium-up-5 > .columns {\n    float: left;\n    width: 20%; }\n    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {\n      clear: both; }\n    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {\n      float: left; }\n  .medium-up-6 > .column, .medium-up-6 > .columns {\n    float: left;\n    width: 16.66667%; }\n    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {\n      clear: both; }\n    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {\n      float: left; }\n  .medium-up-7 > .column, .medium-up-7 > .columns {\n    float: left;\n    width: 14.28571%; }\n    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {\n      clear: both; }\n    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {\n      float: left; }\n  .medium-up-8 > .column, .medium-up-8 > .columns {\n    float: left;\n    width: 12.5%; }\n    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {\n      clear: both; }\n    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {\n      float: left; }\n  .medium-collapse > .column, .medium-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .medium-collapse .row {\n    margin-right: 0;\n    margin-left: 0; }\n  .expanded.row .medium-collapse.row {\n    margin-right: 0;\n    margin-left: 0; }\n  .medium-uncollapse > .column, .medium-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n  .medium-centered {\n    margin-right: auto;\n    margin-left: auto; }\n    .medium-centered, .medium-centered:last-child:not(:first-child) {\n      float: none;\n      clear: both; }\n  .medium-uncentered,\n  .medium-push-0,\n  .medium-pull-0 {\n    position: static;\n    float: left;\n    margin-right: 0;\n    margin-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-1 {\n    width: 8.33333%; }\n  .large-push-1 {\n    position: relative;\n    left: 8.33333%; }\n  .large-pull-1 {\n    position: relative;\n    left: -8.33333%; }\n  .large-offset-0 {\n    margin-left: 0%; }\n  .large-2 {\n    width: 16.66667%; }\n  .large-push-2 {\n    position: relative;\n    left: 16.66667%; }\n  .large-pull-2 {\n    position: relative;\n    left: -16.66667%; }\n  .large-offset-1 {\n    margin-left: 8.33333%; }\n  .large-3 {\n    width: 25%; }\n  .large-push-3 {\n    position: relative;\n    left: 25%; }\n  .large-pull-3 {\n    position: relative;\n    left: -25%; }\n  .large-offset-2 {\n    margin-left: 16.66667%; }\n  .large-4 {\n    width: 33.33333%; }\n  .large-push-4 {\n    position: relative;\n    left: 33.33333%; }\n  .large-pull-4 {\n    position: relative;\n    left: -33.33333%; }\n  .large-offset-3 {\n    margin-left: 25%; }\n  .large-5 {\n    width: 41.66667%; }\n  .large-push-5 {\n    position: relative;\n    left: 41.66667%; }\n  .large-pull-5 {\n    position: relative;\n    left: -41.66667%; }\n  .large-offset-4 {\n    margin-left: 33.33333%; }\n  .large-6 {\n    width: 50%; }\n  .large-push-6 {\n    position: relative;\n    left: 50%; }\n  .large-pull-6 {\n    position: relative;\n    left: -50%; }\n  .large-offset-5 {\n    margin-left: 41.66667%; }\n  .large-7 {\n    width: 58.33333%; }\n  .large-push-7 {\n    position: relative;\n    left: 58.33333%; }\n  .large-pull-7 {\n    position: relative;\n    left: -58.33333%; }\n  .large-offset-6 {\n    margin-left: 50%; }\n  .large-8 {\n    width: 66.66667%; }\n  .large-push-8 {\n    position: relative;\n    left: 66.66667%; }\n  .large-pull-8 {\n    position: relative;\n    left: -66.66667%; }\n  .large-offset-7 {\n    margin-left: 58.33333%; }\n  .large-9 {\n    width: 75%; }\n  .large-push-9 {\n    position: relative;\n    left: 75%; }\n  .large-pull-9 {\n    position: relative;\n    left: -75%; }\n  .large-offset-8 {\n    margin-left: 66.66667%; }\n  .large-10 {\n    width: 83.33333%; }\n  .large-push-10 {\n    position: relative;\n    left: 83.33333%; }\n  .large-pull-10 {\n    position: relative;\n    left: -83.33333%; }\n  .large-offset-9 {\n    margin-left: 75%; }\n  .large-11 {\n    width: 91.66667%; }\n  .large-push-11 {\n    position: relative;\n    left: 91.66667%; }\n  .large-pull-11 {\n    position: relative;\n    left: -91.66667%; }\n  .large-offset-10 {\n    margin-left: 83.33333%; }\n  .large-12 {\n    width: 100%; }\n  .large-offset-11 {\n    margin-left: 91.66667%; }\n  .large-up-1 > .column, .large-up-1 > .columns {\n    float: left;\n    width: 100%; }\n    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {\n      clear: both; }\n    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {\n      float: left; }\n  .large-up-2 > .column, .large-up-2 > .columns {\n    float: left;\n    width: 50%; }\n    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {\n      clear: both; }\n    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {\n      float: left; }\n  .large-up-3 > .column, .large-up-3 > .columns {\n    float: left;\n    width: 33.33333%; }\n    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {\n      clear: both; }\n    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {\n      float: left; }\n  .large-up-4 > .column, .large-up-4 > .columns {\n    float: left;\n    width: 25%; }\n    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {\n      clear: both; }\n    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {\n      float: left; }\n  .large-up-5 > .column, .large-up-5 > .columns {\n    float: left;\n    width: 20%; }\n    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {\n      clear: both; }\n    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {\n      float: left; }\n  .large-up-6 > .column, .large-up-6 > .columns {\n    float: left;\n    width: 16.66667%; }\n    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {\n      clear: both; }\n    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {\n      float: left; }\n  .large-up-7 > .column, .large-up-7 > .columns {\n    float: left;\n    width: 14.28571%; }\n    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {\n      clear: both; }\n    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {\n      float: left; }\n  .large-up-8 > .column, .large-up-8 > .columns {\n    float: left;\n    width: 12.5%; }\n    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {\n      clear: none; }\n    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {\n      clear: both; }\n    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {\n      float: left; }\n  .large-collapse > .column, .large-collapse > .columns {\n    padding-right: 0;\n    padding-left: 0; }\n  .large-collapse .row {\n    margin-right: 0;\n    margin-left: 0; }\n  .expanded.row .large-collapse.row {\n    margin-right: 0;\n    margin-left: 0; }\n  .large-uncollapse > .column, .large-uncollapse > .columns {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; }\n  .large-centered {\n    margin-right: auto;\n    margin-left: auto; }\n    .large-centered, .large-centered:last-child:not(:first-child) {\n      float: none;\n      clear: both; }\n  .large-uncentered,\n  .large-push-0,\n  .large-pull-0 {\n    position: static;\n    float: left;\n    margin-right: 0;\n    margin-left: 0; } }\n\n.column-block {\n  margin-bottom: 1.25rem; }\n  .column-block > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .column-block {\n      margin-bottom: 1.875rem; }\n      .column-block > :last-child {\n        margin-bottom: 0; } }\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0; }\n\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility; }\n\nem,\ni {\n  font-style: italic;\n  line-height: inherit; }\n\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit; }\n\nsmall {\n  font-size: 80%;\n  line-height: inherit; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility; }\n  h1 small,\n  h2 small,\n  h3 small,\n  h4 small,\n  h5 small,\n  h6 small {\n    line-height: 0;\n    color: #cacaca; }\n\nh1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\nh6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n  h1 {\n    font-size: 3rem; }\n  h2 {\n    font-size: 2.5rem; }\n  h3 {\n    font-size: 1.9375rem; }\n  h4 {\n    font-size: 1.5625rem; }\n  h5 {\n    font-size: 1.25rem; }\n  h6 {\n    font-size: 1rem; } }\n\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer; }\n  a:hover, a:focus {\n    color: #1468a0; }\n  a img {\n    border: 0; }\n\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #cacaca;\n  border-left: 0; }\n\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6; }\n\nli {\n  font-size: inherit; }\n\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc; }\n\nol {\n  margin-left: 1.25rem; }\n\nul ul, ol ul, ul ol, ol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0; }\n\ndl {\n  margin-bottom: 1rem; }\n  dl dt {\n    margin-bottom: 0.3rem;\n    font-weight: bold; }\n\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #cacaca; }\n  blockquote, blockquote p {\n    line-height: 1.6;\n    color: #8a8a8a; }\n\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #8a8a8a; }\n  cite:before {\n    content: \"— \"; }\n\nabbr {\n  border-bottom: 1px dotted #0a0a0a;\n  color: #0a0a0a;\n  cursor: help; }\n\nfigure {\n  margin: 0; }\n\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #cacaca;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #0a0a0a; }\n\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #e6e6e6;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #0a0a0a; }\n\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #8a8a8a; }\n\n.lead {\n  font-size: 125%;\n  line-height: 1.6; }\n\n.stat {\n  font-size: 2.5rem;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -1rem; }\n\n.no-bullet {\n  margin-left: 0;\n  list-style: none; }\n\n.text-left {\n  text-align: left; }\n\n.text-right {\n  text-align: right; }\n\n.text-center {\n  text-align: center; }\n\n.text-justify {\n  text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n  .medium-text-left {\n    text-align: left; }\n  .medium-text-right {\n    text-align: right; }\n  .medium-text-center {\n    text-align: center; }\n  .medium-text-justify {\n    text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n  .large-text-left {\n    text-align: left; }\n  .large-text-right {\n    text-align: right; }\n  .large-text-center {\n    text-align: center; }\n  .large-text-justify {\n    text-align: justify; } }\n\n.show-for-print {\n  display: none !important; }\n\n@media print {\n  * {\n    background: transparent !important;\n    -webkit-box-shadow: none !important;\n            box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important; }\n  .show-for-print {\n    display: block !important; }\n  .hide-for-print {\n    display: none !important; }\n  table.show-for-print {\n    display: table !important; }\n  thead.show-for-print {\n    display: table-header-group !important; }\n  tbody.show-for-print {\n    display: table-row-group !important; }\n  tr.show-for-print {\n    display: table-row !important; }\n  td.show-for-print {\n    display: table-cell !important; }\n  th.show-for-print {\n    display: table-cell !important; }\n  a,\n  a:visited {\n    text-decoration: underline; }\n  a[href]:after {\n    content: \" (\" attr(href) \")\"; }\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: ''; }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\"; }\n  pre,\n  blockquote {\n    border: 1px solid #8a8a8a;\n    page-break-inside: avoid; }\n  thead {\n    display: table-header-group; }\n  tr,\n  img {\n    page-break-inside: avoid; }\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  h2,\n  h3 {\n    page-break-after: avoid; } }\n\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n  display: block;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  color: #0a0a0a;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none; }\n  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n  textarea:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n\ntextarea {\n  max-width: 100%; }\n  textarea[rows] {\n    height: auto; }\n\ninput::-webkit-input-placeholder,\ntextarea::-webkit-input-placeholder {\n  color: #cacaca; }\n\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n  color: #cacaca; }\n\ninput:-ms-input-placeholder,\ntextarea:-ms-input-placeholder {\n  color: #cacaca; }\n\ninput::placeholder,\ntextarea::placeholder {\n  color: #cacaca; }\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #e6e6e6;\n  cursor: not-allowed; }\n\n[type='submit'],\n[type='button'] {\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border-radius: 0; }\n\ninput[type='search'] {\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box; }\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem; }\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0; }\n  [type='checkbox'] + label[for],\n  [type='radio'] + label[for] {\n    cursor: pointer; }\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem; }\n\n[type='file'] {\n  width: 100%; }\n\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #0a0a0a; }\n  label.middle {\n    margin: 0 0 1rem;\n    padding: 0.5625rem 0; }\n\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #0a0a0a; }\n\n.input-group {\n  display: table;\n  width: 100%;\n  margin-bottom: 1rem; }\n  .input-group > :first-child {\n    border-radius: 0 0 0 0; }\n  .input-group > :last-child > * {\n    border-radius: 0 0 0 0; }\n\n.input-group-label, .input-group-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap;\n  display: table-cell;\n  vertical-align: middle; }\n\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #cacaca;\n  background: #e6e6e6;\n  color: #0a0a0a;\n  text-align: center;\n  white-space: nowrap;\n  width: 1%;\n  height: 100%; }\n  .input-group-label:first-child {\n    border-right: 0; }\n  .input-group-label:last-child {\n    border-left: 0; }\n\n.input-group-field {\n  border-radius: 0;\n  height: 2.5rem; }\n\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  width: 1%;\n  height: 100%; }\n  .input-group-button a,\n  .input-group-button input,\n  .input-group-button button,\n  .input-group-button label {\n    height: 2.5rem;\n    padding-top: 0;\n    padding-bottom: 0;\n    font-size: 1rem; }\n\n.input-group .input-group-button {\n  display: table-cell; }\n\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0; }\n\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem; }\n\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #cacaca; }\n  .fieldset legend {\n    margin: 0;\n    margin-left: -0.1875rem;\n    padding: 0 0.1875rem;\n    background: #fefefe; }\n\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  line-height: normal;\n  color: #0a0a0a;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>\");\n  -webkit-background-origin: content-box;\n          background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  -webkit-background-size: 9px 6px;\n          background-size: 9px 6px;\n  padding-right: 1.5rem;\n  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  @media screen and (min-width: 0\\0) {\n    select {\n      background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n  select:focus {\n    outline: none;\n    border: 1px solid #8a8a8a;\n    background-color: #fefefe;\n    -webkit-box-shadow: 0 0 5px #cacaca;\n            box-shadow: 0 0 5px #cacaca;\n    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }\n  select:disabled {\n    background-color: #e6e6e6;\n    cursor: not-allowed; }\n  select::-ms-expand {\n    display: none; }\n  select[multiple] {\n    height: auto;\n    background-image: none; }\n\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea; }\n  .is-invalid-input:not(:focus)::-webkit-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::-moz-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus):-ms-input-placeholder {\n    color: #cc4b37; }\n  .is-invalid-input:not(:focus)::placeholder {\n    color: #cc4b37; }\n\n.is-invalid-label {\n  color: #cc4b37; }\n\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37; }\n  .form-error.is-visible {\n    display: block; }\n\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  -webkit-appearance: none;\n  border: 1px solid transparent;\n  border-radius: 0;\n  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-size: 0.9rem;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .button {\n    outline: 0; }\n  .button:hover, .button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  .button.tiny {\n    font-size: 0.6rem; }\n  .button.small {\n    font-size: 0.75rem; }\n  .button.large {\n    font-size: 1.25rem; }\n  .button.expanded {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0; }\n  .button.primary {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button.primary:hover, .button.primary:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button.secondary {\n    background-color: #767676;\n    color: #fefefe; }\n    .button.secondary:hover, .button.secondary:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button.success {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button.success:hover, .button.success:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button.warning {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button.warning:hover, .button.warning:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button.alert {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button.alert:hover, .button.alert:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button.hollow {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    .button.hollow, .button.hollow:hover, .button.hollow:focus {\n      background-color: transparent; }\n    .button.hollow:hover, .button.hollow:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n    .button.hollow.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      .button.hollow.primary:hover, .button.hollow.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n    .button.hollow.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n    .button.hollow.success {\n      border: 1px solid #3adb76;\n      color: #3adb76; }\n      .button.hollow.success:hover, .button.hollow.success:focus {\n        border-color: #157539;\n        color: #157539; }\n    .button.hollow.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      .button.hollow.warning:hover, .button.hollow.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n    .button.hollow.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      .button.hollow.alert:hover, .button.hollow.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n  .button.disabled, .button[disabled] {\n    opacity: 0.25;\n    cursor: not-allowed; }\n    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {\n      background-color: #1779ba;\n      color: #fefefe; }\n    .button.disabled.primary, .button[disabled].primary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {\n        background-color: #1779ba;\n        color: #fefefe; }\n    .button.disabled.secondary, .button[disabled].secondary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n        background-color: #767676;\n        color: #fefefe; }\n    .button.disabled.success, .button[disabled].success {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {\n        background-color: #3adb76;\n        color: #fefefe; }\n    .button.disabled.warning, .button[disabled].warning {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {\n        background-color: #ffae00;\n        color: #fefefe; }\n    .button.disabled.alert, .button[disabled].alert {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {\n        background-color: #cc4b37;\n        color: #fefefe; }\n  .button.dropdown::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.4em;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #fefefe transparent transparent;\n    position: relative;\n    top: 0.4em;\n    display: inline-block;\n    float: right;\n    margin-left: 1em; }\n  .button.arrow-only::after {\n    top: -0.1em;\n    float: none;\n    margin-left: 0; }\n\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none; }\n\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0; }\n\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba; }\n  :last-child:not(.is-active) > .accordion-title {\n    border-bottom: 1px solid #e6e6e6;\n    border-radius: 0 0 0 0; }\n  .accordion-title:hover, .accordion-title:focus {\n    background-color: #e6e6e6; }\n  .accordion-title::before {\n    position: absolute;\n    top: 50%;\n    right: 1rem;\n    margin-top: -0.5rem;\n    content: '+'; }\n  .is-active > .accordion-title::before {\n    content: '–'; }\n\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #e6e6e6;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #0a0a0a; }\n  :last-child > .accordion-content:last-child {\n    border-bottom: 1px solid #e6e6e6; }\n\n.is-accordion-submenu-parent > a {\n  position: relative; }\n  .is-accordion-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -3px;\n    right: 1rem; }\n\n.is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n  -webkit-transform-origin: 50% 50%;\n      -ms-transform-origin: 50% 50%;\n          transform-origin: 50% 50%; }\n\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe; }\n  .badge.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .badge.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .badge.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .badge.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .badge.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none; }\n  .breadcrumbs::before, .breadcrumbs::after {\n    display: table;\n    content: ' '; }\n  .breadcrumbs::after {\n    clear: both; }\n  .breadcrumbs li {\n    float: left;\n    font-size: 0.6875rem;\n    color: #0a0a0a;\n    cursor: default;\n    text-transform: uppercase; }\n    .breadcrumbs li:not(:last-child)::after {\n      position: relative;\n      top: 1px;\n      margin: 0 0.75rem;\n      opacity: 1;\n      content: \"/\";\n      color: #cacaca; }\n  .breadcrumbs a {\n    color: #1779ba; }\n    .breadcrumbs a:hover {\n      text-decoration: underline; }\n  .breadcrumbs .disabled {\n    color: #cacaca;\n    cursor: not-allowed; }\n\n.button-group {\n  margin-bottom: 1rem;\n  font-size: 0; }\n  .button-group::before, .button-group::after {\n    display: table;\n    content: ' '; }\n  .button-group::after {\n    clear: both; }\n  .button-group .button {\n    margin: 0;\n    margin-right: 1px;\n    margin-bottom: 1px;\n    font-size: 0.9rem; }\n    .button-group .button:last-child {\n      margin-right: 0; }\n  .button-group.tiny .button {\n    font-size: 0.6rem; }\n  .button-group.small .button {\n    font-size: 0.75rem; }\n  .button-group.large .button {\n    font-size: 1.25rem; }\n  .button-group.expanded {\n    margin-right: -1px; }\n    .button-group.expanded::before, .button-group.expanded::after {\n      display: none; }\n    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {\n      display: inline-block;\n      width: calc(50% - 1px);\n      margin-right: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {\n        margin-right: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {\n      display: inline-block;\n      width: calc(33.33333% - 1px);\n      margin-right: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {\n        margin-right: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {\n      display: inline-block;\n      width: calc(25% - 1px);\n      margin-right: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {\n        margin-right: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {\n      display: inline-block;\n      width: calc(20% - 1px);\n      margin-right: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {\n        margin-right: -6px; }\n    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {\n      display: inline-block;\n      width: calc(16.66667% - 1px);\n      margin-right: 1px; }\n      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {\n        margin-right: -6px; }\n  .button-group.primary .button {\n    background-color: #1779ba;\n    color: #fefefe; }\n    .button-group.primary .button:hover, .button-group.primary .button:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  .button-group.secondary .button {\n    background-color: #767676;\n    color: #fefefe; }\n    .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n      background-color: #5e5e5e;\n      color: #fefefe; }\n  .button-group.success .button {\n    background-color: #3adb76;\n    color: #0a0a0a; }\n    .button-group.success .button:hover, .button-group.success .button:focus {\n      background-color: #22bb5b;\n      color: #0a0a0a; }\n  .button-group.warning .button {\n    background-color: #ffae00;\n    color: #0a0a0a; }\n    .button-group.warning .button:hover, .button-group.warning .button:focus {\n      background-color: #cc8b00;\n      color: #0a0a0a; }\n  .button-group.alert .button {\n    background-color: #cc4b37;\n    color: #fefefe; }\n    .button-group.alert .button:hover, .button-group.alert .button:focus {\n      background-color: #a53b2a;\n      color: #fefefe; }\n  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n    width: 100%; }\n    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n      margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .button-group.stacked-for-small .button {\n      width: auto;\n      margin-bottom: 0; } }\n  @media print, screen and (min-width: 64em) {\n    .button-group.stacked-for-medium .button {\n      width: auto;\n      margin-bottom: 0; } }\n  @media screen and (max-width: 39.9375em) {\n    .button-group.stacked-for-small.expanded {\n      display: block; }\n      .button-group.stacked-for-small.expanded .button {\n        display: block;\n        margin-right: 0; } }\n\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(10, 10, 10, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #0a0a0a; }\n  .callout > :first-child {\n    margin-top: 0; }\n  .callout > :last-child {\n    margin-bottom: 0; }\n  .callout.primary {\n    background-color: #d7ecfa;\n    color: #0a0a0a; }\n  .callout.secondary {\n    background-color: #eaeaea;\n    color: #0a0a0a; }\n  .callout.success {\n    background-color: #e1faea;\n    color: #0a0a0a; }\n  .callout.warning {\n    background-color: #fff3d9;\n    color: #0a0a0a; }\n  .callout.alert {\n    background-color: #f7e4e1;\n    color: #0a0a0a; }\n  .callout.small {\n    padding-top: 0.5rem;\n    padding-right: 0.5rem;\n    padding-bottom: 0.5rem;\n    padding-left: 0.5rem; }\n  .callout.large {\n    padding-top: 3rem;\n    padding-right: 3rem;\n    padding-bottom: 3rem;\n    padding-left: 3rem; }\n\n.card {\n  margin-bottom: 1rem;\n  border: 1px solid #e6e6e6;\n  border-radius: 0;\n  background: #fefefe;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  overflow: hidden;\n  color: #0a0a0a; }\n  .card > :last-child {\n    margin-bottom: 0; }\n\n.card-divider {\n  padding: 1rem;\n  background: #e6e6e6; }\n  .card-divider > :last-child {\n    margin-bottom: 0; }\n\n.card-section {\n  padding: 1rem; }\n  .card-section > :last-child {\n    margin-bottom: 0; }\n\n.close-button {\n  position: absolute;\n  color: #8a8a8a;\n  cursor: pointer; }\n  [data-whatinput='mouse'] .close-button {\n    outline: 0; }\n  .close-button:hover, .close-button:focus {\n    color: #0a0a0a; }\n  .close-button.small {\n    right: 0.66rem;\n    top: 0.33em;\n    font-size: 1.5em;\n    line-height: 1; }\n  .close-button, .close-button.medium {\n    right: 1rem;\n    top: 0.5rem;\n    font-size: 2em;\n    line-height: 1; }\n\n.menu {\n  margin: 0;\n  list-style-type: none; }\n  .menu > li {\n    display: table-cell;\n    vertical-align: middle; }\n    [data-whatinput='mouse'] .menu > li {\n      outline: 0; }\n  .menu > li > a {\n    display: block;\n    padding: 0.7rem 1rem;\n    line-height: 1; }\n  .menu input,\n  .menu select,\n  .menu a,\n  .menu button {\n    margin-bottom: 0; }\n  .menu > li > a img,\n  .menu > li > a i,\n  .menu > li > a svg {\n    vertical-align: middle; }\n    .menu > li > a img + span,\n    .menu > li > a i + span,\n    .menu > li > a svg + span {\n      vertical-align: middle; }\n  .menu > li > a img,\n  .menu > li > a i,\n  .menu > li > a svg {\n    margin-right: 0.25rem;\n    display: inline-block; }\n  .menu > li, .menu.horizontal > li {\n    display: table-cell; }\n  .menu.expanded {\n    display: table;\n    width: 100%;\n    table-layout: fixed; }\n    .menu.expanded > li:first-child:last-child {\n      width: 100%; }\n  .menu.vertical > li {\n    display: block; }\n  @media print, screen and (min-width: 40em) {\n    .menu.medium-horizontal > li {\n      display: table-cell; }\n    .menu.medium-expanded {\n      display: table;\n      width: 100%;\n      table-layout: fixed; }\n      .menu.medium-expanded > li:first-child:last-child {\n        width: 100%; }\n    .menu.medium-vertical > li {\n      display: block; } }\n  @media print, screen and (min-width: 64em) {\n    .menu.large-horizontal > li {\n      display: table-cell; }\n    .menu.large-expanded {\n      display: table;\n      width: 100%;\n      table-layout: fixed; }\n      .menu.large-expanded > li:first-child:last-child {\n        width: 100%; }\n    .menu.large-vertical > li {\n      display: block; } }\n  .menu.simple li {\n    display: inline-block;\n    margin-right: 1rem;\n    line-height: 1; }\n  .menu.simple a {\n    padding: 0; }\n  .menu.align-right::before, .menu.align-right::after {\n    display: table;\n    content: ' '; }\n  .menu.align-right::after {\n    clear: both; }\n  .menu.align-right > li {\n    float: right; }\n  .menu.icon-top > li > a {\n    text-align: center; }\n    .menu.icon-top > li > a img,\n    .menu.icon-top > li > a i,\n    .menu.icon-top > li > a svg {\n      display: block;\n      margin: 0 auto 0.25rem; }\n  .menu.icon-top.vertical a > span {\n    margin: auto; }\n  .menu.nested {\n    margin-left: 1rem; }\n  .menu .active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  .menu.menu-bordered li {\n    border: 1px solid #e6e6e6; }\n    .menu.menu-bordered li:not(:first-child) {\n      border-top: 0; }\n  .menu.menu-hover li:hover {\n    background-color: #e6e6e6; }\n\n.menu-text {\n  padding-top: 0;\n  padding-bottom: 0;\n  padding: 0.7rem 1rem;\n  font-weight: bold;\n  line-height: 1;\n  color: inherit; }\n\n.menu-centered {\n  text-align: center; }\n  .menu-centered > .menu {\n    display: inline-block; }\n\n.no-js [data-responsive-menu] ul {\n  display: none; }\n\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #fefefe;\n    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n    content: ''; }\n  .menu-icon:hover::after {\n    background: #cacaca;\n    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;\n            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }\n\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  .menu-icon.dark::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #0a0a0a;\n    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n    content: ''; }\n  .menu-icon.dark:hover::after {\n    background: #8a8a8a;\n    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;\n            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }\n\n.is-drilldown {\n  position: relative;\n  overflow: hidden; }\n  .is-drilldown li {\n    display: block; }\n  .is-drilldown.animate-height {\n    -webkit-transition: height 0.5s;\n    transition: height 0.5s; }\n\n.is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  -webkit-transition: -webkit-transform 0.15s linear;\n  transition: -webkit-transform 0.15s linear;\n  transition: transform 0.15s linear;\n  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }\n  .is-drilldown-submenu.is-active {\n    z-index: 1;\n    display: block;\n    -webkit-transform: translateX(-100%);\n        -ms-transform: translateX(-100%);\n            transform: translateX(-100%); }\n  .is-drilldown-submenu.is-closing {\n    -webkit-transform: translateX(100%);\n        -ms-transform: translateX(100%);\n            transform: translateX(100%); }\n\n.drilldown-submenu-cover-previous {\n  min-height: 100%; }\n\n.is-drilldown-submenu-parent > a {\n  position: relative; }\n  .is-drilldown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n    position: absolute;\n    top: 50%;\n    margin-top: -6px;\n    right: 1rem; }\n\n.js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  border-left-width: 0;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem;\n  border-left-width: 0; }\n\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: block;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem; }\n  .dropdown-pane.is-open {\n    visibility: visible; }\n\n.dropdown-pane.tiny {\n  width: 100px; }\n\n.dropdown-pane.small {\n  width: 200px; }\n\n.dropdown-pane.large {\n  width: 400px; }\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  margin-top: -3px; }\n\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0; }\n\n.no-js .dropdown.menu ul {\n  display: none; }\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0; }\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  right: 100%;\n  left: auto; }\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%; }\n\n.dropdown.menu.vertical > li > a::after {\n  right: 14px; }\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent; }\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px; }\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    margin-top: -3px; }\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px; }\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n.is-dropdown-menu.vertical {\n  width: 100px; }\n  .is-dropdown-menu.vertical.align-right {\n    float: right; }\n\n.is-dropdown-submenu-parent {\n  position: relative; }\n  .is-dropdown-submenu-parent a::after {\n    position: absolute;\n    top: 50%;\n    right: 5px;\n    margin-top: -6px; }\n  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n    top: 100%;\n    left: auto; }\n  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #cacaca;\n  background: #fefefe; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n    right: 14px; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent; }\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; }\n  .is-dropdown-submenu .is-dropdown-submenu {\n    margin-top: -1px; }\n  .is-dropdown-submenu > li {\n    width: 100%; }\n  .is-dropdown-submenu.js-dropdown-active {\n    display: block; }\n\n.responsive-embed, .flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden; }\n  .responsive-embed iframe,\n  .responsive-embed object,\n  .responsive-embed embed,\n  .responsive-embed video, .flex-video iframe,\n  .flex-video object,\n  .flex-video embed,\n  .flex-video video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%; }\n  .responsive-embed.widescreen, .flex-video.widescreen {\n    padding-bottom: 56.25%; }\n\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe; }\n  .label.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  .label.secondary {\n    background: #767676;\n    color: #fefefe; }\n  .label.success {\n    background: #3adb76;\n    color: #0a0a0a; }\n  .label.warning {\n    background: #ffae00;\n    color: #0a0a0a; }\n  .label.alert {\n    background: #cc4b37;\n    color: #fefefe; }\n\n.media-object {\n  display: block;\n  margin-bottom: 1rem; }\n  .media-object img {\n    max-width: none; }\n  @media screen and (max-width: 39.9375em) {\n    .media-object.stack-for-small .media-object-section {\n      padding: 0;\n      padding-bottom: 1rem;\n      display: block; }\n      .media-object.stack-for-small .media-object-section img {\n        width: 100%; } }\n\n.media-object-section {\n  display: table-cell;\n  vertical-align: top; }\n  .media-object-section:first-child {\n    padding-right: 1rem; }\n  .media-object-section:last-child:not(:nth-child(2)) {\n    padding-left: 1rem; }\n  .media-object-section > :last-child {\n    margin-bottom: 0; }\n  .media-object-section.middle {\n    vertical-align: middle; }\n  .media-object-section.bottom {\n    vertical-align: bottom; }\n\n.is-off-canvas-open {\n  overflow: hidden; }\n\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden; }\n  .js-off-canvas-overlay.is-visible {\n    opacity: 1;\n    visibility: visible; }\n  .js-off-canvas-overlay.is-closable {\n    cursor: pointer; }\n  .js-off-canvas-overlay.is-overlay-absolute {\n    position: absolute; }\n  .js-off-canvas-overlay.is-overlay-fixed {\n    position: fixed; }\n\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden; }\n\n.off-canvas {\n  position: fixed;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas {\n    outline: 0; }\n  .off-canvas.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 1;\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  background: #e6e6e6; }\n  [data-whatinput='mouse'] .off-canvas-absolute {\n    outline: 0; }\n  .off-canvas-absolute.is-transition-overlap {\n    z-index: 10; }\n    .off-canvas-absolute.is-transition-overlap.is-open {\n      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n  .off-canvas-absolute.is-open {\n    -webkit-transform: translate(0, 0);\n        -ms-transform: translate(0, 0);\n            transform: translate(0, 0); }\n\n.position-left {\n  top: 0;\n  left: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(-250px);\n      -ms-transform: translateX(-250px);\n          transform: translateX(-250px);\n  overflow-y: auto; }\n  .position-left.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(250px);\n        -ms-transform: translateX(250px);\n            transform: translateX(250px); }\n  .position-left.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-right {\n  top: 0;\n  right: 0;\n  width: 250px;\n  height: 100%;\n  -webkit-transform: translateX(250px);\n      -ms-transform: translateX(250px);\n          transform: translateX(250px);\n  overflow-y: auto; }\n  .position-right.is-open ~ .off-canvas-content {\n    -webkit-transform: translateX(-250px);\n        -ms-transform: translateX(-250px);\n            transform: translateX(-250px); }\n  .position-right.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: 1px;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(-250px);\n      -ms-transform: translateY(-250px);\n          transform: translateY(-250px);\n  overflow-x: auto; }\n  .position-top.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(250px);\n        -ms-transform: translateY(250px);\n            transform: translateY(250px); }\n  .position-top.is-transition-push::after {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 250px;\n  -webkit-transform: translateY(250px);\n      -ms-transform: translateY(250px);\n          transform: translateY(250px);\n  overflow-x: auto; }\n  .position-bottom.is-open ~ .off-canvas-content {\n    -webkit-transform: translateY(-250px);\n        -ms-transform: translateY(-250px);\n            transform: translateY(-250px); }\n  .position-bottom.is-transition-push::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 1px;\n    width: 100%;\n    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n            box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n    content: \" \"; }\n  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none; }\n\n.off-canvas-content {\n  -webkit-transition: -webkit-transform 0.5s ease;\n  transition: -webkit-transform 0.5s ease;\n  transition: transform 0.5s ease;\n  transition: transform 0.5s ease, -webkit-transform 0.5s ease;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n@media print, screen and (min-width: 40em) {\n  .position-left.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-medium ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-medium ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-medium ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-medium {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-medium ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n  .position-left.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-left.reveal-for-large ~ .off-canvas-content {\n      margin-left: 250px; }\n  .position-right.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-right.reveal-for-large ~ .off-canvas-content {\n      margin-right: 250px; }\n  .position-top.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-top.reveal-for-large ~ .off-canvas-content {\n      margin-top: 250px; }\n  .position-bottom.reveal-for-large {\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n    z-index: 1; }\n    .position-bottom.reveal-for-large ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n.orbit {\n  position: relative; }\n\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden; }\n\n.orbit-slide {\n  width: 100%; }\n  .orbit-slide.no-motionui.is-active {\n    top: 0;\n    left: 0; }\n\n.orbit-figure {\n  margin: 0; }\n\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0; }\n\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(10, 10, 10, 0.5);\n  color: #fefefe; }\n\n.orbit-previous, .orbit-next {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe; }\n  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n    outline: 0; }\n  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n    background-color: rgba(10, 10, 10, 0.5); }\n\n.orbit-previous {\n  left: 0; }\n\n.orbit-next {\n  left: auto;\n  right: 0; }\n\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center; }\n  [data-whatinput='mouse'] .orbit-bullets {\n    outline: 0; }\n  .orbit-bullets button {\n    width: 1.2rem;\n    height: 1.2rem;\n    margin: 0.1rem;\n    border-radius: 50%;\n    background-color: #cacaca; }\n    .orbit-bullets button:hover {\n      background-color: #8a8a8a; }\n    .orbit-bullets button.is-active {\n      background-color: #8a8a8a; }\n\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem; }\n  .pagination::before, .pagination::after {\n    display: table;\n    content: ' '; }\n  .pagination::after {\n    clear: both; }\n  .pagination li {\n    margin-right: 0.0625rem;\n    border-radius: 0;\n    font-size: 0.875rem;\n    display: none; }\n    .pagination li:last-child, .pagination li:first-child {\n      display: inline-block; }\n    @media print, screen and (min-width: 40em) {\n      .pagination li {\n        display: inline-block; } }\n  .pagination a,\n  .pagination button {\n    display: block;\n    padding: 0.1875rem 0.625rem;\n    border-radius: 0;\n    color: #0a0a0a; }\n    .pagination a:hover,\n    .pagination button:hover {\n      background: #e6e6e6; }\n  .pagination .current {\n    padding: 0.1875rem 0.625rem;\n    background: #1779ba;\n    color: #fefefe;\n    cursor: default; }\n  .pagination .disabled {\n    padding: 0.1875rem 0.625rem;\n    color: #cacaca;\n    cursor: not-allowed; }\n    .pagination .disabled:hover {\n      background: transparent; }\n  .pagination .ellipsis::after {\n    padding: 0.1875rem 0.625rem;\n    content: '\\2026';\n    color: #0a0a0a; }\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab'; }\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb'; }\n\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #cacaca; }\n  .progress.primary .progress-meter {\n    background-color: #1779ba; }\n  .progress.secondary .progress-meter {\n    background-color: #767676; }\n  .progress.success .progress-meter {\n    background-color: #3adb76; }\n  .progress.warning .progress-meter {\n    background-color: #ffae00; }\n  .progress.alert .progress-meter {\n    background-color: #cc4b37; }\n\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba; }\n\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translate(-50%, -50%);\n      -ms-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  position: absolute;\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap; }\n\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #e6e6e6;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -ms-touch-action: none;\n      touch-action: none; }\n\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #cacaca;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out; }\n  .slider-fill.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  position: absolute;\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation; }\n  [data-whatinput='mouse'] .slider-handle {\n    outline: 0; }\n  .slider-handle:hover {\n    background-color: #14679e; }\n  .slider-handle.is-dragging {\n    -webkit-transition: all 0s linear;\n    transition: all 0s linear; }\n\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed; }\n\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  -webkit-transform: scale(1, -1);\n      -ms-transform: scale(1, -1);\n          transform: scale(1, -1); }\n  .slider.vertical .slider-fill {\n    top: 0;\n    width: 0.5rem;\n    max-height: 100%; }\n  .slider.vertical .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 1.4rem;\n    height: 1.4rem;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n\n.sticky-container {\n  position: relative; }\n\n.sticky {\n  position: relative;\n  z-index: 0;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0); }\n\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5; }\n  .sticky.is-stuck.is-at-top {\n    top: 0; }\n  .sticky.is-stuck.is-at-bottom {\n    bottom: 0; }\n\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto; }\n  .sticky.is-anchored.is-at-bottom {\n    bottom: 0; }\n\nbody.is-reveal-open {\n  overflow: hidden; }\n\nhtml.is-reveal-open,\nhtml.is-reveal-open body {\n  min-height: 100%;\n  overflow: hidden;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(10, 10, 10, 0.45);\n  overflow-y: scroll; }\n\n.reveal {\n  z-index: 1006;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #cacaca;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto; }\n  [data-whatinput='mouse'] .reveal {\n    outline: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      min-height: 0; } }\n  .reveal .column, .reveal .columns,\n  .reveal .columns {\n    min-width: 0; }\n  .reveal > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal {\n      width: 600px;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal .reveal {\n      right: auto;\n      left: auto;\n      margin: 0 auto; } }\n  .reveal.collapse {\n    padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    .reveal.tiny {\n      width: 30%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.small {\n      width: 50%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    .reveal.large {\n      width: 90%;\n      max-width: 75rem; } }\n  .reveal.full {\n    top: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    height: 100vh;\n    min-height: 100vh;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0; }\n  @media screen and (max-width: 39.9375em) {\n    .reveal {\n      top: 0;\n      left: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      height: 100vh;\n      min-height: 100vh;\n      margin-left: 0;\n      border: 0;\n      border-radius: 0; } }\n  .reveal.without-overlay {\n    position: fixed; }\n\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0; }\n\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #cacaca;\n  -webkit-transition: all 0.25s ease-out;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer; }\n  input + .switch-paddle {\n    margin: 0; }\n  .switch-paddle::after {\n    position: absolute;\n    top: 0.25rem;\n    left: 0.25rem;\n    display: block;\n    width: 1.5rem;\n    height: 1.5rem;\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n    border-radius: 0;\n    background: #fefefe;\n    -webkit-transition: all 0.25s ease-out;\n    transition: all 0.25s ease-out;\n    content: ''; }\n  input:checked ~ .switch-paddle {\n    background: #1779ba; }\n    input:checked ~ .switch-paddle::after {\n      left: 2.25rem; }\n  [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n    outline: 0; }\n\n.switch-active, .switch-inactive {\n  position: absolute;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%); }\n\n.switch-active {\n  left: 8%;\n  display: none; }\n  input:checked + label > .switch-active {\n    display: block; }\n\n.switch-inactive {\n  right: 15%; }\n  input:checked + label > .switch-inactive {\n    display: none; }\n\n.switch.tiny {\n  height: 1.5rem; }\n  .switch.tiny .switch-paddle {\n    width: 3rem;\n    height: 1.5rem;\n    font-size: 0.625rem; }\n  .switch.tiny .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1rem;\n    height: 1rem; }\n  .switch.tiny input:checked ~ .switch-paddle::after {\n    left: 1.75rem; }\n\n.switch.small {\n  height: 1.75rem; }\n  .switch.small .switch-paddle {\n    width: 3.5rem;\n    height: 1.75rem;\n    font-size: 0.75rem; }\n  .switch.small .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1.25rem;\n    height: 1.25rem; }\n  .switch.small input:checked ~ .switch-paddle::after {\n    left: 2rem; }\n\n.switch.large {\n  height: 2.5rem; }\n  .switch.large .switch-paddle {\n    width: 5rem;\n    height: 2.5rem;\n    font-size: 1rem; }\n  .switch.large .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 2rem;\n    height: 2rem; }\n  .switch.large input:checked ~ .switch-paddle::after {\n    left: 2.75rem; }\n\ntable {\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0; }\n  table thead,\n  table tbody,\n  table tfoot {\n    border: 1px solid #f1f1f1;\n    background-color: #fefefe; }\n  table caption {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold; }\n  table thead {\n    background: #f8f8f8;\n    color: #0a0a0a; }\n  table tfoot {\n    background: #f1f1f1;\n    color: #0a0a0a; }\n  table thead tr,\n  table tfoot tr {\n    background: transparent; }\n  table thead th,\n  table thead td,\n  table tfoot th,\n  table tfoot td {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold;\n    text-align: left; }\n  table tbody th,\n  table tbody td {\n    padding: 0.5rem 0.625rem 0.625rem; }\n  table tbody tr:nth-child(even) {\n    border-bottom: 0;\n    background-color: #f1f1f1; }\n  table.unstriped tbody {\n    background-color: #fefefe; }\n    table.unstriped tbody tr {\n      border-bottom: 0;\n      border-bottom: 1px solid #f1f1f1;\n      background-color: #fefefe; }\n\n@media screen and (max-width: 63.9375em) {\n  table.stack thead {\n    display: none; }\n  table.stack tfoot {\n    display: none; }\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block; }\n  table.stack td {\n    border-top: 0; } }\n\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto; }\n\ntable.hover thead tr:hover {\n  background-color: #f3f3f3; }\n\ntable.hover tfoot tr:hover {\n  background-color: #ececec; }\n\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9; }\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec; }\n\n.table-scroll {\n  overflow-x: auto; }\n  .table-scroll table {\n    width: auto; }\n\n.tabs {\n  margin: 0;\n  border: 1px solid #e6e6e6;\n  background: #fefefe;\n  list-style-type: none; }\n  .tabs::before, .tabs::after {\n    display: table;\n    content: ' '; }\n  .tabs::after {\n    clear: both; }\n\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto; }\n\n.tabs.simple > li > a {\n  padding: 0; }\n  .tabs.simple > li > a:hover {\n    background: transparent; }\n\n.tabs.primary {\n  background: #1779ba; }\n  .tabs.primary > li > a {\n    color: #fefefe; }\n    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n      background: #1673b1; }\n\n.tabs-title {\n  float: left; }\n  .tabs-title > a {\n    display: block;\n    padding: 1.25rem 1.5rem;\n    font-size: 0.75rem;\n    line-height: 1;\n    color: #1779ba; }\n    .tabs-title > a:hover {\n      background: #fefefe;\n      color: #1468a0; }\n    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n      background: #e6e6e6;\n      color: #1779ba; }\n\n.tabs-content {\n  border: 1px solid #e6e6e6;\n  border-top: 0;\n  background: #fefefe;\n  color: #0a0a0a;\n  -webkit-transition: all 0.5s ease;\n  transition: all 0.5s ease; }\n\n.tabs-content.vertical {\n  border: 1px solid #e6e6e6;\n  border-left: 0; }\n\n.tabs-panel {\n  display: none;\n  padding: 1rem; }\n  .tabs-panel[aria-hidden=\"false\"] {\n    display: block; }\n\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: solid 4px #fefefe;\n  border-radius: 0;\n  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  line-height: 0; }\n\na.thumbnail {\n  -webkit-transition: -webkit-box-shadow 200ms ease-out;\n  transition: -webkit-box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out;\n  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }\n  a.thumbnail:hover, a.thumbnail:focus {\n    -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n            box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n  a.thumbnail image {\n    -webkit-box-shadow: none;\n            box-shadow: none; }\n\n.title-bar {\n  padding: 0.5rem;\n  background: #0a0a0a;\n  color: #fefefe; }\n  .title-bar::before, .title-bar::after {\n    display: table;\n    content: ' '; }\n  .title-bar::after {\n    clear: both; }\n  .title-bar .menu-icon {\n    margin-left: 0.25rem;\n    margin-right: 0.25rem; }\n\n.title-bar-left {\n  float: left; }\n\n.title-bar-right {\n  float: right;\n  text-align: right; }\n\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold; }\n\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #8a8a8a;\n  font-weight: bold;\n  cursor: help; }\n\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #0a0a0a;\n  font-size: 80%;\n  color: #fefefe; }\n  .tooltip::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent #0a0a0a;\n    position: absolute;\n    bottom: 100%;\n    left: 50%;\n    -webkit-transform: translateX(-50%);\n        -ms-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  .tooltip.top::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #0a0a0a transparent transparent;\n    top: 100%;\n    bottom: auto; }\n  .tooltip.left::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #0a0a0a;\n    top: 50%;\n    bottom: auto;\n    left: 100%;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  .tooltip.right::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #0a0a0a transparent transparent;\n    top: 50%;\n    right: 100%;\n    bottom: auto;\n    left: auto;\n    -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n            transform: translateY(-50%); }\n\n.top-bar {\n  padding: 0.5rem; }\n  .top-bar::before, .top-bar::after {\n    display: table;\n    content: ' '; }\n  .top-bar::after {\n    clear: both; }\n  .top-bar,\n  .top-bar ul {\n    background-color: #e6e6e6; }\n  .top-bar input {\n    max-width: 200px;\n    margin-right: 1rem; }\n  .top-bar .input-group-field {\n    width: 100%;\n    margin-right: 0; }\n  .top-bar input.button {\n    width: auto; }\n  .top-bar .top-bar-left,\n  .top-bar .top-bar-right {\n    width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    .top-bar .top-bar-left,\n    .top-bar .top-bar-right {\n      width: auto; } }\n  @media screen and (max-width: 63.9375em) {\n    .top-bar.stacked-for-medium .top-bar-left,\n    .top-bar.stacked-for-medium .top-bar-right {\n      width: 100%; } }\n  @media screen and (max-width: 74.9375em) {\n    .top-bar.stacked-for-large .top-bar-left,\n    .top-bar.stacked-for-large .top-bar-right {\n      width: 100%; } }\n\n.top-bar-title {\n  display: inline-block;\n  float: left;\n  padding: 0.5rem 1rem 0.5rem 0; }\n  .top-bar-title .menu-icon {\n    bottom: 2px; }\n\n.top-bar-left {\n  float: left; }\n\n.top-bar-right {\n  float: right; }\n\n.hide {\n  display: none !important; }\n\n.invisible {\n  visibility: hidden; }\n\n@media screen and (max-width: 39.9375em) {\n  .hide-for-small-only {\n    display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  .show-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  .hide-for-medium {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em) {\n  .show-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.9375em) {\n  .hide-for-medium-only {\n    display: none !important; } }\n\n@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {\n  .show-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  .hide-for-large {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em) {\n  .show-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.9375em) {\n  .hide-for-large-only {\n    display: none !important; } }\n\n@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {\n  .show-for-large-only {\n    display: none !important; } }\n\n.show-for-sr,\n.show-on-focus {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0); }\n\n.show-on-focus:active, .show-on-focus:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto; }\n\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important; }\n  @media screen and (orientation: landscape) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: block !important; } }\n  @media screen and (orientation: portrait) {\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: none !important; } }\n\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important; }\n  @media screen and (orientation: landscape) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: none !important; } }\n  @media screen and (orientation: portrait) {\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: block !important; } }\n\n.float-left {\n  float: left !important; }\n\n.float-right {\n  float: right !important; }\n\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto; }\n\n.clearfix::before, .clearfix::after {\n  display: table;\n  content: ' '; }\n\n.clearfix::after {\n  clear: both; }\n\n/*# sourceMappingURL=foundation.css.map */\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/foundation.d.ts",
    "content": "// Type definitions for Foundation Sites v6.3.0-rc2\n// Project: http://foundation.zurb.com/\n// Github: https://github.com/zurb/foundation-sites\n//\n// Definitions by: Sam Vloeberghs <https://github.com/samvloeberghs/>\n// Original Definitions: https://github.com/samvloeberghs/foundation-sites-typings\n\ndeclare module FoundationSites {\n\n  // http://foundation.zurb.com/sites/docs/abide.html#javascript-reference\n  interface Abide {\n    requiredChecked(element: JQuery): boolean;\n    findFormError(element: JQuery): JQuery;\n    findLabel(element: JQuery): boolean;\n    addErrorClasses(element: JQuery): void;\n    removeRadioErrorClasses(groupName: string): void;\n    removeErrorClasses(element: JQuery): void;\n    validateInput(element: JQuery): boolean;\n    validateForm(): boolean;\n    validateText(element: JQuery, pattern: string): boolean;\n    validateRadio(groupName: string): boolean;\n    matchValidation(element: JQuery, validators: string, required: boolean): boolean;\n    resetForm(): void;\n    destroy(): void;\n  }\n\n  interface IAbidePatterns {\n    alpha?: RegExp;\n    alpha_numeric?: RegExp;\n    integer?: RegExp;\n    number?: RegExp;\n    card?: RegExp;\n    cvv?: RegExp;\n    email ?: RegExp;\n    url?: RegExp;\n    domain?: RegExp;\n    datetime?: RegExp;\n    date?: RegExp;\n    time?: RegExp;\n    dateISO?: RegExp;\n    month_day_year?: RegExp;\n    day_month_year?: RegExp;\n    color?: RegExp;\n  }\n\n  interface IAbideOptions {\n    validateOn?: string;\n    labelErrorClass?: string;\n    inputErrorClass?: string;\n    formErrorSelector?: string;\n    formErrorClass?: string;\n    liveValidate?: boolean;\n    validators?: any;\n  }\n\n  // http://foundation.zurb.com/sites/docs/accordion.html#javascript-reference\n  interface Accordion {\n    toggle($target: JQuery): void;\n    down($target: JQuery, firstTime: boolean): void;\n    up($target: JQuery): void;\n    destroy(): void;\n  }\n\n  interface IAccordionOptions {\n    slideSpeed?: number\n    multiExpand?: boolean;\n    allowAllClosed?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/accordion-menu.html#javascript-reference\n  interface AccordionMenu {\n    hideAll(): void;\n    toggle($target: JQuery): void;\n    down($target: JQuery, firstTime: boolean): void;\n    up($target: JQuery): void;\n    destroy(): void;\n  }\n\n  interface IAccordionMenuOptions {\n    slideSpeed?: number;\n    multiOpen?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/drilldown-menu.html#javascript-reference\n  interface Drilldown {\n    destroy(): void;\n  }\n\n  interface IDrilldownOptions {\n    backButton?: string;\n    wrapper?: string;\n    parentLink?: boolean;\n    closeOnClick?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/dropdown.html#javascript-reference\n  interface Dropdown {\n    getPositionClass(): string;\n    open(): void;\n    close(): void;\n    toggle(): void;\n    destroy(): void;\n  }\n\n  interface IDropdownOptions {\n    hoverDelay?: number;\n    hover?: boolean;\n    hoverPane?: boolean;\n    vOffset?: number;\n    hOffset?: number;\n    positionClass?: string;\n    trapFocus?: boolean;\n    autoFocus?: boolean;\n    closeOnClick?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/dropdown-menu.html#javascript-reference\n  interface DropdownMenu {\n    destroy(): void;\n  }\n\n  interface IDropdownMenuOptions {\n    disableHover?: boolean;\n    autoclose?: boolean;\n    hoverDelay?: number;\n    clickOpen?: boolean;\n    closingTime?: number;\n    alignment?: string;\n    closeOnClick?: boolean;\n    verticalClass?: string;\n    rightClass?: string;\n    forceFollow?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/equalizer.html#javascript-reference\n  interface Equalizer {\n    getHeights(cb: Function): Array<any>;\n    getHeightsByRow(cb: Function): Array<any>;\n    applyHeight(heights: Array<any>): void;\n    applyHeightByRow(groups: Array<any>): void;\n    destroy(): void;\n  }\n\n  interface IEqualizerOptions {\n    equalizeOnStack?: boolean;\n    equalizeByRow?: boolean;\n    equalizeOn?: string;\n  }\n\n  // http://foundation.zurb.com/sites/docs/interchange.html#javascript-reference\n  interface Interchange {\n    replace(path: string): void;\n    destroy(): void;\n  }\n\n  interface IInterchangeOptions {\n    rules?: Array<any>\n  }\n\n  // http://foundation.zurb.com/sites/docs/magellan.html#javascript-reference\n  interface Magellan {\n    calcPoints(): void;\n    scrollToLoc(location: string): void;\n    reflow(): void;\n    destroy(): void;\n  }\n\n  interface IMagellanOptions {\n    animationDuration?: number;\n    animationEasing?: string;\n    threshold?: number;\n    activeClass?: string;\n    deepLinking?: boolean;\n    barOffset?: number;\n  }\n\n  // http://foundation.zurb.com/sites/docs/offcanvas.html#javascript-reference\n  interface OffCanvas {\n    reveal(isRevealed: boolean): void;\n    open(event: Event, trigger: JQuery): void;\n    close(cb?: Function): void;\n    toggle(event: Event, trigger: JQuery): void;\n    destroy(): void;\n  }\n\n  interface IOffCanvasOptions {\n    closeOnClick?: boolean;\n    transitionTime?: number;\n    position?: string;\n    forceTop?: boolean;\n    isRevealed?: boolean;\n    revealOn?: string;\n    autoFocus?: boolean;\n    revealClass?: string;\n    trapFocus?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/orbit.html#javascript-reference\n  interface Orbit {\n    geoSync(): void;\n    changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void;\n    destroy(): void;\n  }\n\n  interface IOrbitOptions {\n    bullets?: boolean;\n    navButtons?: boolean;\n    animInFromRight?: string;\n    animOutToRight?: string;\n    animInFromLeft?: string;\n    animOutToLeft?: string;\n    autoPlay?: boolean;\n    timerDelay?: number;\n    infiniteWrap?: boolean;\n    swipe?: boolean;\n    pauseOnHover?: boolean;\n    accessible?: boolean;\n    containerClass?: string;\n    slideClass?: string;\n    boxOfBullets?: string;\n    nextClass?: string;\n    prevClass?: string;\n    useMUI?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/reveal.html#javascript-reference\n  interface Reveal {\n    open(): void;\n    toggle(): void;\n    close(): void;\n    destroy(): void;\n  }\n\n  interface IRevealOptions {\n    animationIn?: string;\n    animationOut?: string;\n    showDelay?: number;\n    hideDelay?: number;\n    closeOnClick?: boolean;\n    closeOnEsc?: boolean;\n    multipleOpened?: boolean;\n    vOffset?: number;\n    hOffset?: number;\n    fullScreen?: boolean;\n    btmOffsetPct?: number;\n    overlay?: boolean;\n    resetOnClose?: boolean;\n    deepLink?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/slider.html#javascript-reference\n  interface Slider {\n    destroy(): void;\n  }\n\n  interface ISliderOptions {\n    start?: number;\n    end?: number;\n    step?: number;\n    initialStart ?: number;\n    initialEnd?: number;\n    binding?: boolean;\n    clickSelect?: boolean;\n    vertical?: boolean;\n    draggable?: boolean;\n    disabled?: boolean;\n    doubleSided?: boolean;\n    decimal?: number;\n    moveTime?: number;\n    disabledClass?: string;\n  }\n\n  // http://foundation.zurb.com/sites/docs/sticky.html#javascript-reference\n  interface Sticky {\n    destroy(): void;\n  }\n\n  interface IStickyOptions {\n    container?: string;\n    stickTo?: string;\n    anchor?: string;\n    topAnchor?: string;\n    btmAnchor?: string;\n    marginTop?: number;\n    marginBottom?: number;\n    stickyOn?: string;\n    stickyClass?: string;\n    containerClass?: string;\n    checkEvery?: number;\n  }\n\n  // http://foundation.zurb.com/sites/docs/tabs.html#javascript-reference\n  interface Tabs {\n    selectTab(element: JQuery | string): void;\n    destroy(): void;\n  }\n\n  interface ITabsOptions {\n    autoFocus?: boolean;\n    wrapOnKeys?: boolean;\n    matchHeight?: boolean;\n    linkClass?: string;\n    panelClass?: string;\n  }\n\n  // http://foundation.zurb.com/sites/docs/toggler.html#javascript-reference\n  interface Toggler {\n    toggle(): void;\n    destroy(): void;\n  }\n\n  interface ITogglerOptions {\n    animate?: boolean;\n  }\n\n  // http://foundation.zurb.com/sites/docs/tooltip.html#javascript-reference\n  interface Tooltip {\n    show(): void;\n    hide(): void;\n    toggle(): void;\n    destroy(): void;\n  }\n\n  interface ITooltipOptions {\n    hoverDelay?: number;\n    fadeInDuration?: number;\n    fadeOutDuration?: number;\n    disableHover?: boolean;\n    templateClasses?: string;\n    tooltipClass?: string;\n    triggerClass?: string;\n    showOn?: string;\n    template?: string;\n    tipText?: string;\n    clickOpen?: boolean;\n    positionClass?: string;\n    vOffset?: number;\n    hOffset?: number;\n  }\n\n  // Utilities\n  // ---------\n\n  interface Box {\n    ImNotTouchingYou(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean): boolean;\n    GetDimensions(element: Object): Object;\n    GetOffsets(element: Object, anchor: Object, position: string, vOffset: number, hOffset: number, isOverflow: boolean): Object;\n  }\n\n  interface KeyBoard {\n    parseKey(event: any): string;\n    handleKey(event: any, component: any, functions: any): void;\n    findFocusable($element: Object): Object;\n  }\n\n  interface MediaQuery {\n    get(size: string): string;\n    atLeast(size: string): boolean;\n    queries: Array<string>;\n    current: string;\n  }\n\n  interface Motion {\n    animateIn(element: Object, animation: any, cb: Function): void;\n    animateOut(element: Object, animation: any, cb: Function): void;\n  }\n\n  interface Move {\n    // TODO\n  }\n\n  interface Nest {\n    Feather(menu: any, type: any): void;\n    Burn(menu: any, type: any): void;\n  }\n\n  interface Timer {\n    start(): void;\n    restart(): void;\n    pause(): void;\n  }\n\n  interface Touch {\n    // TODO :extension on jQuery\n  }\n\n  interface Triggers {\n    // TODO :extension on jQuery\n  }\n\n  interface FoundationSitesStatic {\n    version: string;\n\n    rtl(): boolean;\n    plugin(plugin: Object, name: string): void;\n    registerPlugin(plugin: Object): void;\n    unregisterPlugin(plugin: Object): void;\n    reInit(plugins: Array<any>): void;\n    GetYoDigits(length: number, namespace?: string): string;\n    reflow(elem: Object, plugins?: Array<string>|string): void;\n    getFnName(fn: string): string;\n    transitionend(): string;\n\n    util: {\n      throttle(func: (...args: any[]) => any, delay: number): (...args: any[]) => any;\n    };\n\n    Abide: {\n      new(element: JQuery, options?: IAbideOptions): Abide;\n    }\n    Accordion: {\n      new(element: JQuery, options?: IAccordionOptions): Accordion;\n    }\n    AccordionMenu: {\n      new(element: JQuery, options?: IAccordionMenuOptions): AccordionMenu;\n    }\n    Drilldown: {\n      new(element: JQuery, options?: IDrilldownOptions): Drilldown;\n    }\n    Dropdown: {\n      new(element: JQuery, options?: IDropdownOptions): Dropdown;\n    }\n    DropdownMenu: {\n      new(element: JQuery, options?: IDropdownMenuOptions): DropdownMenu;\n    }\n    Equalizer: {\n      new(element: JQuery, options?: IEqualizerOptions): Equalizer;\n    }\n    Interchange: {\n      new(element: JQuery, options?: IInterchangeOptions): Interchange;\n    }\n    Magellan: {\n      new(element: JQuery, options?: IMagellanOptions): Magellan;\n    }\n    OffCanvas: {\n      new(element: JQuery, options?: IOffCanvasOptions): OffCanvas;\n    }\n    Orbit: {\n      new(element: JQuery, options?: IOrbitOptions): Orbit;\n    }\n    Reveal: {\n      new(element: JQuery, options?: IRevealOptions): Reveal;\n    };\n    Slider: {\n      new(element: JQuery, options?: ISliderOptions): Slider;\n    }\n    Sticky: {\n      new(element: JQuery, options?: IStickyOptions): Sticky;\n    }\n    Tabs: {\n      new(element: JQuery, options?: ITabsOptions): Tabs;\n    }\n    Toggler: {\n      new(element: JQuery, options?: ITogglerOptions): Toggler;\n    }\n    Tooltip: {\n      new(element: JQuery, options?: ITooltipOptions): Tooltip;\n    }\n\n    // utils\n    Box: Box;\n    KeyBoard: KeyBoard;\n    MediaQuery: MediaQuery;\n    Motion: Motion;\n    Move: Move;\n    Nest: Nest;\n    Timer: Timer;\n    Touch: Touch;\n    Triggers: Triggers;\n\n  }\n\n}\n\ninterface JQuery {\n  foundation(method?: string|Array<any>, $element?: JQuery): JQuery;\n}\n\ndeclare var Foundation: FoundationSites.FoundationSitesStatic;\n\ndeclare module \"Foundation\" {\n  export = Foundation;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/foundation.js",
    "content": "!function ($) {\n\n  \"use strict\";\n\n  var FOUNDATION_VERSION = '6.3.0';\n\n  // Global Foundation object\n  // This is attached to the window, or used as a module for AMD/Browserify\n  var Foundation = {\n    version: FOUNDATION_VERSION,\n\n    /**\n     * Stores initialized plugins.\n     */\n    _plugins: {},\n\n    /**\n     * Stores generated unique ids for plugin instances\n     */\n    _uuids: [],\n\n    /**\n     * Returns a boolean for RTL support\n     */\n    rtl: function () {\n      return $('html').attr('dir') === 'rtl';\n    },\n    /**\n     * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n     * @param {Object} plugin - The constructor of the plugin.\n     */\n    plugin: function (plugin, name) {\n      // Object key to use when adding to global Foundation object\n      // Examples: Foundation.Reveal, Foundation.OffCanvas\n      var className = name || functionName(plugin);\n      // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n      // Examples: data-reveal, data-off-canvas\n      var attrName = hyphenate(className);\n\n      // Add to the Foundation object and the plugins list (for reflowing)\n      this._plugins[attrName] = this[className] = plugin;\n    },\n    /**\n     * @function\n     * Populates the _uuids array with pointers to each individual plugin instance.\n     * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n     * Also fires the initialization event for each plugin, consolidating repetitive code.\n     * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n     * @param {String} name - the name of the plugin, passed as a camelCased string.\n     * @fires Plugin#init\n     */\n    registerPlugin: function (plugin, name) {\n      var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n      plugin.uuid = this.GetYoDigits(6, pluginName);\n\n      if (!plugin.$element.attr('data-' + pluginName)) {\n        plugin.$element.attr('data-' + pluginName, plugin.uuid);\n      }\n      if (!plugin.$element.data('zfPlugin')) {\n        plugin.$element.data('zfPlugin', plugin);\n      }\n      /**\n       * Fires when the plugin has initialized.\n       * @event Plugin#init\n       */\n      plugin.$element.trigger('init.zf.' + pluginName);\n\n      this._uuids.push(plugin.uuid);\n\n      return;\n    },\n    /**\n     * @function\n     * Removes the plugins uuid from the _uuids array.\n     * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n     * Also fires the destroyed event for the plugin, consolidating repetitive code.\n     * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n     * @fires Plugin#destroyed\n     */\n    unregisterPlugin: function (plugin) {\n      var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n      this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n      plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')\n      /**\n       * Fires when the plugin has been destroyed.\n       * @event Plugin#destroyed\n       */\n      .trigger('destroyed.zf.' + pluginName);\n      for (var prop in plugin) {\n        plugin[prop] = null; //clean up script to prep for garbage collection.\n      }\n      return;\n    },\n\n    /**\n     * @function\n     * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n     * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n     * @default If no argument is passed, reflow all currently active plugins.\n     */\n    reInit: function (plugins) {\n      var isJQ = plugins instanceof $;\n      try {\n        if (isJQ) {\n          plugins.each(function () {\n            $(this).data('zfPlugin')._init();\n          });\n        } else {\n          var type = typeof plugins,\n              _this = this,\n              fns = {\n            'object': function (plgs) {\n              plgs.forEach(function (p) {\n                p = hyphenate(p);\n                $('[data-' + p + ']').foundation('_init');\n              });\n            },\n            'string': function () {\n              plugins = hyphenate(plugins);\n              $('[data-' + plugins + ']').foundation('_init');\n            },\n            'undefined': function () {\n              this['object'](Object.keys(_this._plugins));\n            }\n          };\n          fns[type](plugins);\n        }\n      } catch (err) {\n        console.error(err);\n      } finally {\n        return plugins;\n      }\n    },\n\n    /**\n     * returns a random base-36 uid with namespacing\n     * @function\n     * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n     * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n     * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n     * @returns {String} - unique id\n     */\n    GetYoDigits: function (length, namespace) {\n      length = length || 6;\n      return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');\n    },\n    /**\n     * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n     * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n     * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n     */\n    reflow: function (elem, plugins) {\n\n      // If plugins is undefined, just grab everything\n      if (typeof plugins === 'undefined') {\n        plugins = Object.keys(this._plugins);\n      }\n      // If plugins is a string, convert it to an array with one item\n      else if (typeof plugins === 'string') {\n          plugins = [plugins];\n        }\n\n      var _this = this;\n\n      // Iterate through each plugin\n      $.each(plugins, function (i, name) {\n        // Get the current plugin\n        var plugin = _this._plugins[name];\n\n        // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n        var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');\n\n        // For each plugin found, initialize it\n        $elem.each(function () {\n          var $el = $(this),\n              opts = {};\n          // Don't double-dip on plugins\n          if ($el.data('zfPlugin')) {\n            console.warn(\"Tried to initialize \" + name + \" on an element that already has a Foundation plugin.\");\n            return;\n          }\n\n          if ($el.attr('data-options')) {\n            var thing = $el.attr('data-options').split(';').forEach(function (e, i) {\n              var opt = e.split(':').map(function (el) {\n                return el.trim();\n              });\n              if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n            });\n          }\n          try {\n            $el.data('zfPlugin', new plugin($(this), opts));\n          } catch (er) {\n            console.error(er);\n          } finally {\n            return;\n          }\n        });\n      });\n    },\n    getFnName: functionName,\n    transitionend: function ($elem) {\n      var transitions = {\n        'transition': 'transitionend',\n        'WebkitTransition': 'webkitTransitionEnd',\n        'MozTransition': 'transitionend',\n        'OTransition': 'otransitionend'\n      };\n      var elem = document.createElement('div'),\n          end;\n\n      for (var t in transitions) {\n        if (typeof elem.style[t] !== 'undefined') {\n          end = transitions[t];\n        }\n      }\n      if (end) {\n        return end;\n      } else {\n        end = setTimeout(function () {\n          $elem.triggerHandler('transitionend', [$elem]);\n        }, 1);\n        return 'transitionend';\n      }\n    }\n  };\n\n  Foundation.util = {\n    /**\n     * Function for applying a debounce effect to a function call.\n     * @function\n     * @param {Function} func - Function to be called at end of timeout.\n     * @param {Number} delay - Time in ms to delay the call of `func`.\n     * @returns function\n     */\n    throttle: function (func, delay) {\n      var timer = null;\n\n      return function () {\n        var context = this,\n            args = arguments;\n\n        if (timer === null) {\n          timer = setTimeout(function () {\n            func.apply(context, args);\n            timer = null;\n          }, delay);\n        }\n      };\n    }\n  };\n\n  // TODO: consider not making this a jQuery function\n  // TODO: need way to reflow vs. re-initialize\n  /**\n   * The Foundation jQuery method.\n   * @param {String|Array} method - An action to perform on the current jQuery object.\n   */\n  var foundation = function (method) {\n    var type = typeof method,\n        $meta = $('meta.foundation-mq'),\n        $noJS = $('.no-js');\n\n    if (!$meta.length) {\n      $('<meta class=\"foundation-mq\">').appendTo(document.head);\n    }\n    if ($noJS.length) {\n      $noJS.removeClass('no-js');\n    }\n\n    if (type === 'undefined') {\n      //needs to initialize the Foundation object, or an individual plugin.\n      Foundation.MediaQuery._init();\n      Foundation.reflow(this);\n    } else if (type === 'string') {\n      //an individual method to invoke on a plugin or group of plugins\n      var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n      var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n      if (plugClass !== undefined && plugClass[method] !== undefined) {\n        //make sure both the class and method exist\n        if (this.length === 1) {\n          //if there's only one, call it directly.\n          plugClass[method].apply(plugClass, args);\n        } else {\n          this.each(function (i, el) {\n            //otherwise loop through the jQuery collection and invoke the method on each\n            plugClass[method].apply($(el).data('zfPlugin'), args);\n          });\n        }\n      } else {\n        //error for no class or no method\n        throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n      }\n    } else {\n      //error for invalid argument type\n      throw new TypeError('We\\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');\n    }\n    return this;\n  };\n\n  window.Foundation = Foundation;\n  $.fn.foundation = foundation;\n\n  // Polyfill for requestAnimationFrame\n  (function () {\n    if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n      return new Date().getTime();\n    };\n\n    var vendors = ['webkit', 'moz'];\n    for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n      window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n    }\n    if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n      var lastTime = 0;\n      window.requestAnimationFrame = function (callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function () {\n          callback(lastTime = nextTime);\n        }, nextTime - now);\n      };\n      window.cancelAnimationFrame = clearTimeout;\n    }\n    /**\n     * Polyfill for performance.now, required by rAF\n     */\n    if (!window.performance || !window.performance.now) {\n      window.performance = {\n        start: Date.now(),\n        now: function () {\n          return Date.now() - this.start;\n        }\n      };\n    }\n  })();\n  if (!Function.prototype.bind) {\n    Function.prototype.bind = function (oThis) {\n      if (typeof this !== 'function') {\n        // closest thing possible to the ECMAScript 5\n        // internal IsCallable function\n        throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n      }\n\n      var aArgs = Array.prototype.slice.call(arguments, 1),\n          fToBind = this,\n          fNOP = function () {},\n          fBound = function () {\n        return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n      };\n\n      if (this.prototype) {\n        // native functions don't have a prototype\n        fNOP.prototype = this.prototype;\n      }\n      fBound.prototype = new fNOP();\n\n      return fBound;\n    };\n  }\n  // Polyfill to get the name of a function in IE9\n  function functionName(fn) {\n    if (Function.prototype.name === undefined) {\n      var funcNameRegex = /function\\s([^(]{1,})\\(/;\n      var results = funcNameRegex.exec(fn.toString());\n      return results && results.length > 1 ? results[1].trim() : \"\";\n    } else if (fn.prototype === undefined) {\n      return fn.constructor.name;\n    } else {\n      return fn.prototype.constructor.name;\n    }\n  }\n  function parseValue(str) {\n    if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n    return str;\n  }\n  // Convert PascalCase to kebab-case\n  // Thank you: http://stackoverflow.com/a/8955580\n  function hyphenate(str) {\n    return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n  }\n}(jQuery);\n'use strict';\n\n!function ($) {\n\n  Foundation.Box = {\n    ImNotTouchingYou: ImNotTouchingYou,\n    GetDimensions: GetDimensions,\n    GetOffsets: GetOffsets\n  };\n\n  /**\n   * Compares the dimensions of an element to a container and determines collision events with container.\n   * @function\n   * @param {jQuery} element - jQuery object to test for collisions.\n   * @param {jQuery} parent - jQuery object to use as bounding container.\n   * @param {Boolean} lrOnly - set to true to check left and right values only.\n   * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n   * @default if no parent object passed, detects collisions with `window`.\n   * @returns {Boolean} - true if collision free, false if a collision in any direction.\n   */\n  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {\n    var eleDims = GetDimensions(element),\n        top,\n        bottom,\n        left,\n        right;\n\n    if (parent) {\n      var parDims = GetDimensions(parent);\n\n      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;\n      top = eleDims.offset.top >= parDims.offset.top;\n      left = eleDims.offset.left >= parDims.offset.left;\n      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;\n    } else {\n      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;\n      top = eleDims.offset.top >= eleDims.windowDims.offset.top;\n      left = eleDims.offset.left >= eleDims.windowDims.offset.left;\n      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;\n    }\n\n    var allDirs = [bottom, top, left, right];\n\n    if (lrOnly) {\n      return left === right === true;\n    }\n\n    if (tbOnly) {\n      return top === bottom === true;\n    }\n\n    return allDirs.indexOf(false) === -1;\n  };\n\n  /**\n   * Uses native methods to return an object of dimension values.\n   * @function\n   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n   * @returns {Object} - nested object of integer pixel values\n   * TODO - if element is window, return only those values.\n   */\n  function GetDimensions(elem, test) {\n    elem = elem.length ? elem[0] : elem;\n\n    if (elem === window || elem === document) {\n      throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n    }\n\n    var rect = elem.getBoundingClientRect(),\n        parRect = elem.parentNode.getBoundingClientRect(),\n        winRect = document.body.getBoundingClientRect(),\n        winY = window.pageYOffset,\n        winX = window.pageXOffset;\n\n    return {\n      width: rect.width,\n      height: rect.height,\n      offset: {\n        top: rect.top + winY,\n        left: rect.left + winX\n      },\n      parentDims: {\n        width: parRect.width,\n        height: parRect.height,\n        offset: {\n          top: parRect.top + winY,\n          left: parRect.left + winX\n        }\n      },\n      windowDims: {\n        width: winRect.width,\n        height: winRect.height,\n        offset: {\n          top: winY,\n          left: winX\n        }\n      }\n    };\n  }\n\n  /**\n   * Returns an object of top and left integer pixel values for dynamically rendered elements,\n   * such as: Tooltip, Reveal, and Dropdown\n   * @function\n   * @param {jQuery} element - jQuery object for the element being positioned.\n   * @param {jQuery} anchor - jQuery object for the element's anchor point.\n   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n   * TODO alter/rewrite to work with `em` values as well/instead of pixels\n   */\n  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n    var $eleDims = GetDimensions(element),\n        $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n    switch (position) {\n      case 'top':\n        return {\n          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,\n          top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n        };\n        break;\n      case 'left':\n        return {\n          left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n          top: $anchorDims.offset.top\n        };\n        break;\n      case 'right':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset,\n          top: $anchorDims.offset.top\n        };\n        break;\n      case 'center top':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,\n          top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n        };\n        break;\n      case 'center bottom':\n        return {\n          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      case 'center left':\n        return {\n          left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'center right':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,\n          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'center':\n        return {\n          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,\n          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'reveal':\n        return {\n          left: ($eleDims.windowDims.width - $eleDims.width) / 2,\n          top: $eleDims.windowDims.offset.top + vOffset\n        };\n      case 'reveal full':\n        return {\n          left: $eleDims.windowDims.offset.left,\n          top: $eleDims.windowDims.offset.top\n        };\n        break;\n      case 'left bottom':\n        return {\n          left: $anchorDims.offset.left,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      case 'right bottom':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      default:\n        return {\n          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left + hOffset,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n    }\n  }\n}(jQuery);\n/*******************************************\n *                                         *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n *                                         *\n ******************************************/\n\n'use strict';\n\n!function ($) {\n\n  var keyCodes = {\n    9: 'TAB',\n    13: 'ENTER',\n    27: 'ESCAPE',\n    32: 'SPACE',\n    37: 'ARROW_LEFT',\n    38: 'ARROW_UP',\n    39: 'ARROW_RIGHT',\n    40: 'ARROW_DOWN'\n  };\n\n  var commands = {};\n\n  var Keyboard = {\n    keys: getKeyCodes(keyCodes),\n\n    /**\n     * Parses the (keyboard) event and returns a String that represents its key\n     * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n     * @param {Event} event - the event generated by the event handler\n     * @return String key - String that represents the key pressed\n     */\n    parseKey: function (event) {\n      var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n      // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n      key = key.replace(/\\W+/, '');\n\n      if (event.shiftKey) key = 'SHIFT_' + key;\n      if (event.ctrlKey) key = 'CTRL_' + key;\n      if (event.altKey) key = 'ALT_' + key;\n\n      // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n      key = key.replace(/_$/, '');\n\n      return key;\n    },\n\n\n    /**\n     * Handles the given (keyboard) event\n     * @param {Event} event - the event generated by the event handler\n     * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n     * @param {Objects} functions - collection of functions that are to be executed\n     */\n    handleKey: function (event, component, functions) {\n      var commandList = commands[component],\n          keyCode = this.parseKey(event),\n          cmds,\n          command,\n          fn;\n\n      if (!commandList) return console.warn('Component not defined!');\n\n      if (typeof commandList.ltr === 'undefined') {\n        // this component does not differentiate between ltr and rtl\n        cmds = commandList; // use plain list\n      } else {\n        // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n        if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n      }\n      command = cmds[keyCode];\n\n      fn = functions[command];\n      if (fn && typeof fn === 'function') {\n        // execute function  if exists\n        var returnValue = fn.apply();\n        if (functions.handled || typeof functions.handled === 'function') {\n          // execute function when event was handled\n          functions.handled(returnValue);\n        }\n      } else {\n        if (functions.unhandled || typeof functions.unhandled === 'function') {\n          // execute function when event was not handled\n          functions.unhandled();\n        }\n      }\n    },\n\n\n    /**\n     * Finds all focusable elements within the given `$element`\n     * @param {jQuery} $element - jQuery object to search within\n     * @return {jQuery} $focusable - all focusable elements within `$element`\n     */\n    findFocusable: function ($element) {\n      if (!$element) {\n        return false;\n      }\n      return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n        if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {\n          return false;\n        } //only have visible elements and those that have a tabindex greater or equal 0\n        return true;\n      });\n    },\n\n\n    /**\n     * Returns the component name name\n     * @param {Object} component - Foundation component, e.g. Slider or Reveal\n     * @return String componentName\n     */\n\n    register: function (componentName, cmds) {\n      commands[componentName] = cmds;\n    },\n\n\n    /**\n     * Traps the focus in the given element.\n     * @param  {jQuery} $element  jQuery object to trap the foucs into.\n     */\n    trapFocus: function ($element) {\n      var $focusable = Foundation.Keyboard.findFocusable($element),\n          $firstFocusable = $focusable.eq(0),\n          $lastFocusable = $focusable.eq(-1);\n\n      $element.on('keydown.zf.trapfocus', function (event) {\n        if (event.target === $lastFocusable[0] && Foundation.Keyboard.parseKey(event) === 'TAB') {\n          event.preventDefault();\n          $firstFocusable.focus();\n        } else if (event.target === $firstFocusable[0] && Foundation.Keyboard.parseKey(event) === 'SHIFT_TAB') {\n          event.preventDefault();\n          $lastFocusable.focus();\n        }\n      });\n    },\n\n    /**\n     * Releases the trapped focus from the given element.\n     * @param  {jQuery} $element  jQuery object to release the focus for.\n     */\n    releaseFocus: function ($element) {\n      $element.off('keydown.zf.trapfocus');\n    }\n  };\n\n  /*\n   * Constants for easier comparing.\n   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n   */\n  function getKeyCodes(kcs) {\n    var k = {};\n    for (var kc in kcs) {\n      k[kcs[kc]] = kcs[kc];\n    }return k;\n  }\n\n  Foundation.Keyboard = Keyboard;\n}(jQuery);\n'use strict';\n\n!function ($) {\n\n  // Default set of media queries\n  var defaultQueries = {\n    'default': 'only screen',\n    landscape: 'only screen and (orientation: landscape)',\n    portrait: 'only screen and (orientation: portrait)',\n    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'\n  };\n\n  var MediaQuery = {\n    queries: [],\n\n    current: '',\n\n    /**\n     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n     * @function\n     * @private\n     */\n    _init: function () {\n      var self = this;\n      var extractedStyles = $('.foundation-mq').css('font-family');\n      var namedQueries;\n\n      namedQueries = parseStyleToObject(extractedStyles);\n\n      for (var key in namedQueries) {\n        if (namedQueries.hasOwnProperty(key)) {\n          self.queries.push({\n            name: key,\n            value: 'only screen and (min-width: ' + namedQueries[key] + ')'\n          });\n        }\n      }\n\n      this.current = this._getCurrentSize();\n\n      this._watcher();\n    },\n\n\n    /**\n     * Checks if the screen is at least as wide as a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to check.\n     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n     */\n    atLeast: function (size) {\n      var query = this.get(size);\n\n      if (query) {\n        return window.matchMedia(query).matches;\n      }\n\n      return false;\n    },\n\n\n    /**\n     * Checks if the screen matches to a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n     * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n     */\n    is: function (size) {\n      size = size.trim().split(' ');\n      if (size.length > 1 && size[1] === 'only') {\n        if (size[0] === this._getCurrentSize()) return true;\n      } else {\n        return this.atLeast(size[0]);\n      }\n      return false;\n    },\n\n\n    /**\n     * Gets the media query of a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to get.\n     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n     */\n    get: function (size) {\n      for (var i in this.queries) {\n        if (this.queries.hasOwnProperty(i)) {\n          var query = this.queries[i];\n          if (size === query.name) return query.value;\n        }\n      }\n\n      return null;\n    },\n\n\n    /**\n     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n     * @function\n     * @private\n     * @returns {String} Name of the current breakpoint.\n     */\n    _getCurrentSize: function () {\n      var matched;\n\n      for (var i = 0; i < this.queries.length; i++) {\n        var query = this.queries[i];\n\n        if (window.matchMedia(query.value).matches) {\n          matched = query;\n        }\n      }\n\n      if (typeof matched === 'object') {\n        return matched.name;\n      } else {\n        return matched;\n      }\n    },\n\n\n    /**\n     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n     * @function\n     * @private\n     */\n    _watcher: function () {\n      var _this = this;\n\n      $(window).on('resize.zf.mediaquery', function () {\n        var newSize = _this._getCurrentSize(),\n            currentSize = _this.current;\n\n        if (newSize !== currentSize) {\n          // Change the current media query\n          _this.current = newSize;\n\n          // Broadcast the media query change on the window\n          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n        }\n      });\n    }\n  };\n\n  Foundation.MediaQuery = MediaQuery;\n\n  // matchMedia() polyfill - Test a CSS media type/query in JS.\n  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license\n  window.matchMedia || (window.matchMedia = function () {\n    'use strict';\n\n    // For browsers that support matchMedium api such as IE 9 and webkit\n\n    var styleMedia = window.styleMedia || window.media;\n\n    // For those that don't support matchMedium\n    if (!styleMedia) {\n      var style = document.createElement('style'),\n          script = document.getElementsByTagName('script')[0],\n          info = null;\n\n      style.type = 'text/css';\n      style.id = 'matchmediajs-test';\n\n      script && script.parentNode && script.parentNode.insertBefore(style, script);\n\n      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n\n      styleMedia = {\n        matchMedium: function (media) {\n          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n          if (style.styleSheet) {\n            style.styleSheet.cssText = text;\n          } else {\n            style.textContent = text;\n          }\n\n          // Test if media query is true or false\n          return info.width === '1px';\n        }\n      };\n    }\n\n    return function (media) {\n      return {\n        matches: styleMedia.matchMedium(media || 'all'),\n        media: media || 'all'\n      };\n    };\n  }());\n\n  // Thank you: https://github.com/sindresorhus/query-string\n  function parseStyleToObject(str) {\n    var styleObject = {};\n\n    if (typeof str !== 'string') {\n      return styleObject;\n    }\n\n    str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n    if (!str) {\n      return styleObject;\n    }\n\n    styleObject = str.split('&').reduce(function (ret, param) {\n      var parts = param.replace(/\\+/g, ' ').split('=');\n      var key = parts[0];\n      var val = parts[1];\n      key = decodeURIComponent(key);\n\n      // missing `=` should be `null`:\n      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n      val = val === undefined ? null : decodeURIComponent(val);\n\n      if (!ret.hasOwnProperty(key)) {\n        ret[key] = val;\n      } else if (Array.isArray(ret[key])) {\n        ret[key].push(val);\n      } else {\n        ret[key] = [ret[key], val];\n      }\n      return ret;\n    }, {});\n\n    return styleObject;\n  }\n\n  Foundation.MediaQuery = MediaQuery;\n}(jQuery);\n'use strict';\n\n!function ($) {\n\n  /**\n   * Motion module.\n   * @module foundation.motion\n   */\n\n  var initClasses = ['mui-enter', 'mui-leave'];\n  var activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\n  var Motion = {\n    animateIn: function (element, animation, cb) {\n      animate(true, element, animation, cb);\n    },\n\n    animateOut: function (element, animation, cb) {\n      animate(false, element, animation, cb);\n    }\n  };\n\n  function Move(duration, elem, fn) {\n    var anim,\n        prog,\n        start = null;\n    // console.log('called');\n\n    if (duration === 0) {\n      fn.apply(elem);\n      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n      return;\n    }\n\n    function move(ts) {\n      if (!start) start = ts;\n      // console.log(start, ts);\n      prog = ts - start;\n      fn.apply(elem);\n\n      if (prog < duration) {\n        anim = window.requestAnimationFrame(move, elem);\n      } else {\n        window.cancelAnimationFrame(anim);\n        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n      }\n    }\n    anim = window.requestAnimationFrame(move);\n  }\n\n  /**\n   * Animates an element in or out using a CSS transition class.\n   * @function\n   * @private\n   * @param {Boolean} isIn - Defines if the animation is in or out.\n   * @param {Object} element - jQuery or HTML object to animate.\n   * @param {String} animation - CSS class to use.\n   * @param {Function} cb - Callback to run when animation is finished.\n   */\n  function animate(isIn, element, animation, cb) {\n    element = $(element).eq(0);\n\n    if (!element.length) return;\n\n    var initClass = isIn ? initClasses[0] : initClasses[1];\n    var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n    // Set up the animation\n    reset();\n\n    element.addClass(animation).css('transition', 'none');\n\n    requestAnimationFrame(function () {\n      element.addClass(initClass);\n      if (isIn) element.show();\n    });\n\n    // Start the animation\n    requestAnimationFrame(function () {\n      element[0].offsetWidth;\n      element.css('transition', '').addClass(activeClass);\n    });\n\n    // Clean up the animation when it finishes\n    element.one(Foundation.transitionend(element), finish);\n\n    // Hides the element (for out animations), resets the element, and runs a callback\n    function finish() {\n      if (!isIn) element.hide();\n      reset();\n      if (cb) cb.apply(element);\n    }\n\n    // Resets transitions and removes motion-specific classes\n    function reset() {\n      element[0].style.transitionDuration = 0;\n      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);\n    }\n  }\n\n  Foundation.Move = Move;\n  Foundation.Motion = Motion;\n}(jQuery);\n'use strict';\n\n!function ($) {\n\n  var Nest = {\n    Feather: function (menu) {\n      var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n\n      menu.attr('role', 'menubar');\n\n      var items = menu.find('li').attr({ 'role': 'menuitem' }),\n          subMenuClass = 'is-' + type + '-submenu',\n          subItemClass = subMenuClass + '-item',\n          hasSubClass = 'is-' + type + '-submenu-parent';\n\n      items.each(function () {\n        var $item = $(this),\n            $sub = $item.children('ul');\n\n        if ($sub.length) {\n          $item.addClass(hasSubClass).attr({\n            'aria-haspopup': true,\n            'aria-label': $item.children('a:first').text()\n          });\n          // Note:  Drilldowns behave differently in how they hide, and so need\n          // additional attributes.  We should look if this possibly over-generalized\n          // utility (Nest) is appropriate when we rework menus in 6.4\n          if (type === 'drilldown') {\n            $item.attr({ 'aria-expanded': false });\n          }\n\n          $sub.addClass('submenu ' + subMenuClass).attr({\n            'data-submenu': '',\n            'role': 'menu'\n          });\n          if (type === 'drilldown') {\n            $sub.attr({ 'aria-hidden': true });\n          }\n        }\n\n        if ($item.parent('[data-submenu]').length) {\n          $item.addClass('is-submenu-item ' + subItemClass);\n        }\n      });\n\n      return;\n    },\n    Burn: function (menu, type) {\n      var //items = menu.find('li'),\n      subMenuClass = 'is-' + type + '-submenu',\n          subItemClass = subMenuClass + '-item',\n          hasSubClass = 'is-' + type + '-submenu-parent';\n\n      menu.find('>li, .menu, .menu > li').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');\n\n      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')\n      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')\n      //           .removeAttr('data-submenu'));\n      // items.each(function(){\n      //   var $item = $(this),\n      //       $sub = $item.children('ul');\n      //   if($item.parent('[data-submenu]').length){\n      //     $item.removeClass('is-submenu-item ' + subItemClass);\n      //   }\n      //   if($sub.length){\n      //     $item.removeClass('has-submenu');\n      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');\n      //   }\n      // });\n    }\n  };\n\n  Foundation.Nest = Nest;\n}(jQuery);\n'use strict';\n\n!function ($) {\n\n  function Timer(elem, options, cb) {\n    var _this = this,\n        duration = options.duration,\n        //options is an object for easily adding features later.\n    nameSpace = Object.keys(elem.data())[0] || 'timer',\n        remain = -1,\n        start,\n        timer;\n\n    this.isPaused = false;\n\n    this.restart = function () {\n      remain = -1;\n      clearTimeout(timer);\n      this.start();\n    };\n\n    this.start = function () {\n      this.isPaused = false;\n      // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n      clearTimeout(timer);\n      remain = remain <= 0 ? duration : remain;\n      elem.data('paused', false);\n      start = Date.now();\n      timer = setTimeout(function () {\n        if (options.infinite) {\n          _this.restart(); //rerun the timer.\n        }\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      }, remain);\n      elem.trigger('timerstart.zf.' + nameSpace);\n    };\n\n    this.pause = function () {\n      this.isPaused = true;\n      //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n      clearTimeout(timer);\n      elem.data('paused', true);\n      var end = Date.now();\n      remain = remain - (end - start);\n      elem.trigger('timerpaused.zf.' + nameSpace);\n    };\n  }\n\n  /**\n   * Runs a callback function when images are fully loaded.\n   * @param {Object} images - Image(s) to check if loaded.\n   * @param {Func} callback - Function to execute when image is fully loaded.\n   */\n  function onImagesLoaded(images, callback) {\n    var self = this,\n        unloaded = images.length;\n\n    if (unloaded === 0) {\n      callback();\n    }\n\n    images.each(function () {\n      // Check if image is loaded\n      if (this.complete || this.readyState === 4 || this.readyState === 'complete') {\n        singleImageLoaded();\n      }\n      // Force load the image\n      else {\n          // fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/\n          var src = $(this).attr('src');\n          $(this).attr('src', src + '?' + new Date().getTime());\n          $(this).one('load', function () {\n            singleImageLoaded();\n          });\n        }\n    });\n\n    function singleImageLoaded() {\n      unloaded--;\n      if (unloaded === 0) {\n        callback();\n      }\n    }\n  }\n\n  Foundation.Timer = Timer;\n  Foundation.onImagesLoaded = onImagesLoaded;\n}(jQuery);\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n(function ($) {\n\n\t$.spotSwipe = {\n\t\tversion: '1.0.0',\n\t\tenabled: 'ontouchstart' in document.documentElement,\n\t\tpreventDefault: false,\n\t\tmoveThreshold: 75,\n\t\ttimeThreshold: 200\n\t};\n\n\tvar startPosX,\n\t    startPosY,\n\t    startTime,\n\t    elapsedTime,\n\t    isMoving = false;\n\n\tfunction onTouchEnd() {\n\t\t//  alert(this);\n\t\tthis.removeEventListener('touchmove', onTouchMove);\n\t\tthis.removeEventListener('touchend', onTouchEnd);\n\t\tisMoving = false;\n\t}\n\n\tfunction onTouchMove(e) {\n\t\tif ($.spotSwipe.preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMoving) {\n\t\t\tvar x = e.touches[0].pageX;\n\t\t\tvar y = e.touches[0].pageY;\n\t\t\tvar dx = startPosX - x;\n\t\t\tvar dy = startPosY - y;\n\t\t\tvar dir;\n\t\t\telapsedTime = new Date().getTime() - startTime;\n\t\t\tif (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n\t\t\t\tdir = dx > 0 ? 'left' : 'right';\n\t\t\t}\n\t\t\t// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n\t\t\t//   dir = dy > 0 ? 'down' : 'up';\n\t\t\t// }\n\t\t\tif (dir) {\n\t\t\t\te.preventDefault();\n\t\t\t\tonTouchEnd.call(this);\n\t\t\t\t$(this).trigger('swipe', dir).trigger('swipe' + dir);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onTouchStart(e) {\n\t\tif (e.touches.length == 1) {\n\t\t\tstartPosX = e.touches[0].pageX;\n\t\t\tstartPosY = e.touches[0].pageY;\n\t\t\tisMoving = true;\n\t\t\tstartTime = new Date().getTime();\n\t\t\tthis.addEventListener('touchmove', onTouchMove, false);\n\t\t\tthis.addEventListener('touchend', onTouchEnd, false);\n\t\t}\n\t}\n\n\tfunction init() {\n\t\tthis.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n\t}\n\n\tfunction teardown() {\n\t\tthis.removeEventListener('touchstart', onTouchStart);\n\t}\n\n\t$.event.special.swipe = { setup: init };\n\n\t$.each(['left', 'up', 'down', 'right'], function () {\n\t\t$.event.special['swipe' + this] = { setup: function () {\n\t\t\t\t$(this).on('swipe', $.noop);\n\t\t\t} };\n\t});\n})(jQuery);\n/****************************************************\n * Method for adding psuedo drag events to elements *\n ***************************************************/\n!function ($) {\n\t$.fn.addTouch = function () {\n\t\tthis.each(function (i, el) {\n\t\t\t$(el).bind('touchstart touchmove touchend touchcancel', function () {\n\t\t\t\t//we pass the original event object because the jQuery event\n\t\t\t\t//object is normalized to w3c specs and does not provide the TouchList\n\t\t\t\thandleTouch(event);\n\t\t\t});\n\t\t});\n\n\t\tvar handleTouch = function (event) {\n\t\t\tvar touches = event.changedTouches,\n\t\t\t    first = touches[0],\n\t\t\t    eventTypes = {\n\t\t\t\ttouchstart: 'mousedown',\n\t\t\t\ttouchmove: 'mousemove',\n\t\t\t\ttouchend: 'mouseup'\n\t\t\t},\n\t\t\t    type = eventTypes[event.type],\n\t\t\t    simulatedEvent;\n\n\t\t\tif ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n\t\t\t\tsimulatedEvent = new window.MouseEvent(type, {\n\t\t\t\t\t'bubbles': true,\n\t\t\t\t\t'cancelable': true,\n\t\t\t\t\t'screenX': first.screenX,\n\t\t\t\t\t'screenY': first.screenY,\n\t\t\t\t\t'clientX': first.clientX,\n\t\t\t\t\t'clientY': first.clientY\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsimulatedEvent = document.createEvent('MouseEvent');\n\t\t\t\tsimulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);\n\t\t\t}\n\t\t\tfirst.target.dispatchEvent(simulatedEvent);\n\t\t};\n\t};\n}(jQuery);\n\n//**********************************\n//**From the jQuery Mobile Library**\n//**need to recreate functionality**\n//**and try to improve if possible**\n//**********************************\n\n/* Removing the jQuery function ****\n************************************\n\n(function( $, window, undefined ) {\n\n\tvar $document = $( document ),\n\t\t// supportTouch = $.mobile.support.touch,\n\t\ttouchStartEvent = 'touchstart'//supportTouch ? \"touchstart\" : \"mousedown\",\n\t\ttouchStopEvent = 'touchend'//supportTouch ? \"touchend\" : \"mouseup\",\n\t\ttouchMoveEvent = 'touchmove'//supportTouch ? \"touchmove\" : \"mousemove\";\n\n\t// setup new event shortcuts\n\t$.each( ( \"touchstart touchmove touchend \" +\n\t\t\"swipe swipeleft swiperight\" ).split( \" \" ), function( i, name ) {\n\n\t\t$.fn[ name ] = function( fn ) {\n\t\t\treturn fn ? this.bind( name, fn ) : this.trigger( name );\n\t\t};\n\n\t\t// jQuery < 1.8\n\t\tif ( $.attrFn ) {\n\t\t\t$.attrFn[ name ] = true;\n\t\t}\n\t});\n\n\tfunction triggerCustomEvent( obj, eventType, event, bubble ) {\n\t\tvar originalType = event.type;\n\t\tevent.type = eventType;\n\t\tif ( bubble ) {\n\t\t\t$.event.trigger( event, undefined, obj );\n\t\t} else {\n\t\t\t$.event.dispatch.call( obj, event );\n\t\t}\n\t\tevent.type = originalType;\n\t}\n\n\t// also handles taphold\n\n\t// Also handles swipeleft, swiperight\n\t$.event.special.swipe = {\n\n\t\t// More than this horizontal displacement, and we will suppress scrolling.\n\t\tscrollSupressionThreshold: 30,\n\n\t\t// More time than this, and it isn't a swipe.\n\t\tdurationThreshold: 1000,\n\n\t\t// Swipe horizontal displacement must be more than this.\n\t\thorizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\t// Swipe vertical displacement must be less than this.\n\t\tverticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\tgetLocation: function ( event ) {\n\t\t\tvar winPageX = window.pageXOffset,\n\t\t\t\twinPageY = window.pageYOffset,\n\t\t\t\tx = event.clientX,\n\t\t\t\ty = event.clientY;\n\n\t\t\tif ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||\n\t\t\t\tevent.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {\n\n\t\t\t\t// iOS4 clientX/clientY have the value that should have been\n\t\t\t\t// in pageX/pageY. While pageX/page/ have the value 0\n\t\t\t\tx = x - winPageX;\n\t\t\t\ty = y - winPageY;\n\t\t\t} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {\n\n\t\t\t\t// Some Android browsers have totally bogus values for clientX/Y\n\t\t\t\t// when scrolling/zooming a page. Detectable since clientX/clientY\n\t\t\t\t// should never be smaller than pageX/pageY minus page scroll\n\t\t\t\tx = event.pageX - winPageX;\n\t\t\t\ty = event.pageY - winPageY;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: x,\n\t\t\t\ty: y\n\t\t\t};\n\t\t},\n\n\t\tstart: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ],\n\t\t\t\t\t\torigin: $( event.target )\n\t\t\t\t\t};\n\t\t},\n\n\t\tstop: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ]\n\t\t\t\t\t};\n\t\t},\n\n\t\thandleSwipe: function( start, stop, thisObject, origTarget ) {\n\t\t\tif ( stop.time - start.time < $.event.special.swipe.durationThreshold &&\n\t\t\t\tMath.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&\n\t\t\t\tMath.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {\n\t\t\t\tvar direction = start.coords[0] > stop.coords[ 0 ] ? \"swipeleft\" : \"swiperight\";\n\n\t\t\t\ttriggerCustomEvent( thisObject, \"swipe\", $.Event( \"swipe\", { target: origTarget, swipestart: start, swipestop: stop }), true );\n\t\t\t\ttriggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\n\t\t},\n\n\t\t// This serves as a flag to ensure that at most one swipe event event is\n\t\t// in work at any given time\n\t\teventInProgress: false,\n\n\t\tsetup: function() {\n\t\t\tvar events,\n\t\t\t\tthisObject = this,\n\t\t\t\t$this = $( thisObject ),\n\t\t\t\tcontext = {};\n\n\t\t\t// Retrieve the events data for this element and add the swipe context\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( !events ) {\n\t\t\t\tevents = { length: 0 };\n\t\t\t\t$.data( this, \"mobile-events\", events );\n\t\t\t}\n\t\t\tevents.length++;\n\t\t\tevents.swipe = context;\n\n\t\t\tcontext.start = function( event ) {\n\n\t\t\t\t// Bail if we're already working on a swipe event\n\t\t\t\tif ( $.event.special.swipe.eventInProgress ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$.event.special.swipe.eventInProgress = true;\n\n\t\t\t\tvar stop,\n\t\t\t\t\tstart = $.event.special.swipe.start( event ),\n\t\t\t\t\torigTarget = event.target,\n\t\t\t\t\temitted = false;\n\n\t\t\t\tcontext.move = function( event ) {\n\t\t\t\t\tif ( !start || event.isDefaultPrevented() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstop = $.event.special.swipe.stop( event );\n\t\t\t\t\tif ( !emitted ) {\n\t\t\t\t\t\temitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );\n\t\t\t\t\t\tif ( emitted ) {\n\n\t\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// prevent scrolling\n\t\t\t\t\tif ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tcontext.stop = function() {\n\t\t\t\t\t\temitted = true;\n\n\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t\t\tcontext.move = null;\n\t\t\t\t};\n\n\t\t\t\t$document.on( touchMoveEvent, context.move )\n\t\t\t\t\t.one( touchStopEvent, context.stop );\n\t\t\t};\n\t\t\t$this.on( touchStartEvent, context.start );\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar events, context;\n\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( events ) {\n\t\t\t\tcontext = events.swipe;\n\t\t\t\tdelete events.swipe;\n\t\t\t\tevents.length--;\n\t\t\t\tif ( events.length === 0 ) {\n\t\t\t\t\t$.removeData( this, \"mobile-events\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( context ) {\n\t\t\t\tif ( context.start ) {\n\t\t\t\t\t$( this ).off( touchStartEvent, context.start );\n\t\t\t\t}\n\t\t\t\tif ( context.move ) {\n\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t}\n\t\t\t\tif ( context.stop ) {\n\t\t\t\t\t$document.off( touchStopEvent, context.stop );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\t$.each({\n\t\tswipeleft: \"swipe.left\",\n\t\tswiperight: \"swipe.right\"\n\t}, function( event, sourceEvent ) {\n\n\t\t$.event.special[ event ] = {\n\t\t\tsetup: function() {\n\t\t\t\t$( this ).bind( sourceEvent, $.noop );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\t$( this ).unbind( sourceEvent );\n\t\t\t}\n\t\t};\n\t});\n})( jQuery, this );\n*/\n'use strict';\n\n!function ($) {\n\n  var MutationObserver = function () {\n    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n    for (var i = 0; i < prefixes.length; i++) {\n      if (prefixes[i] + 'MutationObserver' in window) {\n        return window[prefixes[i] + 'MutationObserver'];\n      }\n    }\n    return false;\n  }();\n\n  var triggers = function (el, type) {\n    el.data(type).split(' ').forEach(function (id) {\n      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);\n    });\n  };\n  // Elements with [data-open] will reveal a plugin that supports it when clicked.\n  $(document).on('click.zf.trigger', '[data-open]', function () {\n    triggers($(this), 'open');\n  });\n\n  // Elements with [data-close] will close a plugin that supports it when clicked.\n  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n  $(document).on('click.zf.trigger', '[data-close]', function () {\n    var id = $(this).data('close');\n    if (id) {\n      triggers($(this), 'close');\n    } else {\n      $(this).trigger('close.zf.trigger');\n    }\n  });\n\n  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n  $(document).on('click.zf.trigger', '[data-toggle]', function () {\n    var id = $(this).data('toggle');\n    if (id) {\n      triggers($(this), 'toggle');\n    } else {\n      $(this).trigger('toggle.zf.trigger');\n    }\n  });\n\n  // Elements with [data-closable] will respond to close.zf.trigger events.\n  $(document).on('close.zf.trigger', '[data-closable]', function (e) {\n    e.stopPropagation();\n    var animation = $(this).data('closable');\n\n    if (animation !== '') {\n      Foundation.Motion.animateOut($(this), animation, function () {\n        $(this).trigger('closed.zf');\n      });\n    } else {\n      $(this).fadeOut().trigger('closed.zf');\n    }\n  });\n\n  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {\n    var id = $(this).data('toggle-focus');\n    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);\n  });\n\n  /**\n  * Fires once after all other scripts have loaded\n  * @function\n  * @private\n  */\n  $(window).on('load', function () {\n    checkListeners();\n  });\n\n  function checkListeners() {\n    eventsListener();\n    resizeListener();\n    scrollListener();\n    mutateListener();\n    closemeListener();\n  }\n\n  //******** only fires this function once on load, if there's something to watch ********\n  function closemeListener(pluginName) {\n    var yetiBoxes = $('[data-yeti-box]'),\n        plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n    if (pluginName) {\n      if (typeof pluginName === 'string') {\n        plugNames.push(pluginName);\n      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {\n        plugNames.concat(pluginName);\n      } else {\n        console.error('Plugin names must be strings');\n      }\n    }\n    if (yetiBoxes.length) {\n      var listeners = plugNames.map(function (name) {\n        return 'closeme.zf.' + name;\n      }).join(' ');\n\n      $(window).off(listeners).on(listeners, function (e, pluginId) {\n        var plugin = e.namespace.split('.')[0];\n        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box=\"' + pluginId + '\"]');\n\n        plugins.each(function () {\n          var _this = $(this);\n\n          _this.triggerHandler('close.zf.trigger', [_this]);\n        });\n      });\n    }\n  }\n\n  function resizeListener(debounce) {\n    var timer = void 0,\n        $nodes = $('[data-resize]');\n    if ($nodes.length) {\n      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {\n        if (timer) {\n          clearTimeout(timer);\n        }\n\n        timer = setTimeout(function () {\n\n          if (!MutationObserver) {\n            //fallback for IE 9\n            $nodes.each(function () {\n              $(this).triggerHandler('resizeme.zf.trigger');\n            });\n          }\n          //trigger all listening elements and signal a resize event\n          $nodes.attr('data-events', \"resize\");\n        }, debounce || 10); //default time to emit resize event\n      });\n    }\n  }\n\n  function scrollListener(debounce) {\n    var timer = void 0,\n        $nodes = $('[data-scroll]');\n    if ($nodes.length) {\n      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {\n        if (timer) {\n          clearTimeout(timer);\n        }\n\n        timer = setTimeout(function () {\n\n          if (!MutationObserver) {\n            //fallback for IE 9\n            $nodes.each(function () {\n              $(this).triggerHandler('scrollme.zf.trigger');\n            });\n          }\n          //trigger all listening elements and signal a scroll event\n          $nodes.attr('data-events', \"scroll\");\n        }, debounce || 10); //default time to emit scroll event\n      });\n    }\n  }\n\n  function mutateListener(debounce) {\n    var $nodes = $('[data-mutate]');\n    if ($nodes.length && MutationObserver) {\n      //trigger all listening elements and signal a mutate event\n      //no IE 9 or 10\n      $nodes.each(function () {\n        $(this).triggerHandler('mutateme.zf.trigger');\n      });\n    }\n  }\n\n  function eventsListener() {\n    if (!MutationObserver) {\n      return false;\n    }\n    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');\n\n    //element callback\n    var listeningElementsMutation = function (mutationRecordsList) {\n      var $target = $(mutationRecordsList[0].target);\n\n      //trigger the event handler for the element depending on type\n      switch (mutationRecordsList[0].type) {\n\n        case \"attributes\":\n          if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n            $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n          }\n          if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n            $target.triggerHandler('resizeme.zf.trigger', [$target]);\n          }\n          if (mutationRecordsList[0].attributeName === \"style\") {\n            $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n            $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n          }\n          break;\n\n        case \"childList\":\n          $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n          $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n          break;\n\n        default:\n          return false;\n        //nothing\n      }\n    };\n\n    if (nodes.length) {\n      //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n      for (var i = 0; i <= nodes.length - 1; i++) {\n        var elementObserver = new MutationObserver(listeningElementsMutation);\n        elementObserver.observe(nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n      }\n    }\n  }\n\n  // ------------------------------------\n\n  // [PH]\n  // Foundation.CheckWatchers = checkWatchers;\n  Foundation.IHearYou = checkListeners;\n  // Foundation.ISeeYou = scrollListener;\n  // Foundation.IFeelYou = closemeListener;\n}(jQuery);\n\n// function domMutationObserver(debounce) {\n//   // !!! This is coming soon and needs more work; not active  !!! //\n//   var timer,\n//   nodes = document.querySelectorAll('[data-mutate]');\n//   //\n//   if (nodes.length) {\n//     // var MutationObserver = (function () {\n//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n//     //   for (var i=0; i < prefixes.length; i++) {\n//     //     if (prefixes[i] + 'MutationObserver' in window) {\n//     //       return window[prefixes[i] + 'MutationObserver'];\n//     //     }\n//     //   }\n//     //   return false;\n//     // }());\n//\n//\n//     //for the body, we need to listen for all changes effecting the style and class attributes\n//     var bodyObserver = new MutationObserver(bodyMutation);\n//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:[\"style\", \"class\"]});\n//\n//\n//     //body callback\n//     function bodyMutation(mutate) {\n//       //trigger all listening elements and signal a mutation event\n//       if (timer) { clearTimeout(timer); }\n//\n//       timer = setTimeout(function() {\n//         bodyObserver.disconnect();\n//         $('[data-mutate]').attr('data-events',\"mutate\");\n//       }, debounce || 150);\n//     }\n//   }\n// }\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Abide module.\n   * @module foundation.abide\n   */\n\n  var Abide = function () {\n    /**\n     * Creates a new instance of Abide.\n     * @class\n     * @fires Abide#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Abide(element) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      _classCallCheck(this, Abide);\n\n      this.$element = element;\n      this.options = $.extend({}, Abide.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Abide');\n    }\n\n    /**\n     * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n     * @private\n     */\n\n\n    _createClass(Abide, [{\n      key: '_init',\n      value: function _init() {\n        this.$inputs = this.$element.find('input, textarea, select');\n\n        this._events();\n      }\n\n      /**\n       * Initializes events for Abide.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        this.$element.off('.abide').on('reset.zf.abide', function () {\n          _this2.resetForm();\n        }).on('submit.zf.abide', function () {\n          return _this2.validateForm();\n        });\n\n        if (this.options.validateOn === 'fieldChange') {\n          this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n\n        if (this.options.liveValidate) {\n          this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n\n        if (this.options.validateOnBlur) {\n          this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n      }\n\n      /**\n       * Calls necessary functions to update Abide upon DOM change\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        this._init();\n      }\n\n      /**\n       * Checks whether or not a form element has the required attribute and if it's checked or not\n       * @param {Object} element - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'requiredCheck',\n      value: function requiredCheck($el) {\n        if (!$el.attr('required')) return true;\n\n        var isGood = true;\n\n        switch ($el[0].type) {\n          case 'checkbox':\n            isGood = $el[0].checked;\n            break;\n\n          case 'select':\n          case 'select-one':\n          case 'select-multiple':\n            var opt = $el.find('option:selected');\n            if (!opt.length || !opt.val()) isGood = false;\n            break;\n\n          default:\n            if (!$el.val() || !$el.val().length) isGood = false;\n        }\n\n        return isGood;\n      }\n\n      /**\n       * Based on $el, get the first element with selector in this order:\n       * 1. The element's direct sibling('s).\n       * 3. The element's parent's children.\n       *\n       * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n       *\n       * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n       * @returns {Object} jQuery object with the selector.\n       */\n\n    }, {\n      key: 'findFormError',\n      value: function findFormError($el) {\n        var $error = $el.siblings(this.options.formErrorSelector);\n\n        if (!$error.length) {\n          $error = $el.parent().find(this.options.formErrorSelector);\n        }\n\n        return $error;\n      }\n\n      /**\n       * Get the first element in this order:\n       * 2. The <label> with the attribute `[for=\"someInputId\"]`\n       * 3. The `.closest()` <label>\n       *\n       * @param {Object} $el - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'findLabel',\n      value: function findLabel($el) {\n        var id = $el[0].id;\n        var $label = this.$element.find('label[for=\"' + id + '\"]');\n\n        if (!$label.length) {\n          return $el.closest('label');\n        }\n\n        return $label;\n      }\n\n      /**\n       * Get the set of labels associated with a set of radio els in this order\n       * 2. The <label> with the attribute `[for=\"someInputId\"]`\n       * 3. The `.closest()` <label>\n       *\n       * @param {Object} $el - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'findRadioLabels',\n      value: function findRadioLabels($els) {\n        var _this3 = this;\n\n        var labels = $els.map(function (i, el) {\n          var id = el.id;\n          var $label = _this3.$element.find('label[for=\"' + id + '\"]');\n\n          if (!$label.length) {\n            $label = $(el).closest('label');\n          }\n          return $label[0];\n        });\n\n        return $(labels);\n      }\n\n      /**\n       * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n       * @param {Object} $el - jQuery object to add the class to\n       */\n\n    }, {\n      key: 'addErrorClasses',\n      value: function addErrorClasses($el) {\n        var $label = this.findLabel($el);\n        var $formError = this.findFormError($el);\n\n        if ($label.length) {\n          $label.addClass(this.options.labelErrorClass);\n        }\n\n        if ($formError.length) {\n          $formError.addClass(this.options.formErrorClass);\n        }\n\n        $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');\n      }\n\n      /**\n       * Remove CSS error classes etc from an entire radio button group\n       * @param {String} groupName - A string that specifies the name of a radio button group\n       *\n       */\n\n    }, {\n      key: 'removeRadioErrorClasses',\n      value: function removeRadioErrorClasses(groupName) {\n        var $els = this.$element.find(':radio[name=\"' + groupName + '\"]');\n        var $labels = this.findRadioLabels($els);\n        var $formErrors = this.findFormError($els);\n\n        if ($labels.length) {\n          $labels.removeClass(this.options.labelErrorClass);\n        }\n\n        if ($formErrors.length) {\n          $formErrors.removeClass(this.options.formErrorClass);\n        }\n\n        $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n      }\n\n      /**\n       * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n       * @param {Object} $el - jQuery object to remove the class from\n       */\n\n    }, {\n      key: 'removeErrorClasses',\n      value: function removeErrorClasses($el) {\n        // radios need to clear all of the els\n        if ($el[0].type == 'radio') {\n          return this.removeRadioErrorClasses($el.attr('name'));\n        }\n\n        var $label = this.findLabel($el);\n        var $formError = this.findFormError($el);\n\n        if ($label.length) {\n          $label.removeClass(this.options.labelErrorClass);\n        }\n\n        if ($formError.length) {\n          $formError.removeClass(this.options.formErrorClass);\n        }\n\n        $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n      }\n\n      /**\n       * Goes through a form to find inputs and proceeds to validate them in ways specific to their type\n       * @fires Abide#invalid\n       * @fires Abide#valid\n       * @param {Object} element - jQuery object to validate, should be an HTML input\n       * @returns {Boolean} goodToGo - If the input is valid or not.\n       */\n\n    }, {\n      key: 'validateInput',\n      value: function validateInput($el) {\n        var _this4 = this;\n\n        var clearRequire = this.requiredCheck($el),\n            validated = false,\n            customValidator = true,\n            validator = $el.attr('data-validator'),\n            equalTo = true;\n\n        // don't validate ignored inputs or hidden inputs\n        if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]')) {\n          return true;\n        }\n\n        switch ($el[0].type) {\n          case 'radio':\n            validated = this.validateRadio($el.attr('name'));\n            break;\n\n          case 'checkbox':\n            validated = clearRequire;\n            break;\n\n          case 'select':\n          case 'select-one':\n          case 'select-multiple':\n            validated = clearRequire;\n            break;\n\n          default:\n            validated = this.validateText($el);\n        }\n\n        if (validator) {\n          customValidator = this.matchValidation($el, validator, $el.attr('required'));\n        }\n\n        if ($el.attr('data-equalto')) {\n          equalTo = this.options.validators.equalTo($el);\n        }\n\n        var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;\n        var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n\n        if (goodToGo) {\n          // Re-validate inputs that depend on this one with equalto\n          var dependentElements = this.$element.find('[data-equalto=\"' + $el.attr('id') + '\"]');\n          if (dependentElements.length) {\n            (function () {\n              var _this = _this4;\n              dependentElements.each(function () {\n                if ($(this).val()) {\n                  _this.validateInput($(this));\n                }\n              });\n            })();\n          }\n        }\n\n        this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);\n\n        /**\n         * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n         * Trigger includes the DOM element of the input.\n         * @event Abide#valid\n         * @event Abide#invalid\n         */\n        $el.trigger(message, [$el]);\n\n        return goodToGo;\n      }\n\n      /**\n       * Goes through a form and if there are any invalid inputs, it will display the form error element\n       * @returns {Boolean} noError - true if no errors were detected...\n       * @fires Abide#formvalid\n       * @fires Abide#forminvalid\n       */\n\n    }, {\n      key: 'validateForm',\n      value: function validateForm() {\n        var acc = [];\n        var _this = this;\n\n        this.$inputs.each(function () {\n          acc.push(_this.validateInput($(this)));\n        });\n\n        var noError = acc.indexOf(false) === -1;\n\n        this.$element.find('[data-abide-error]').css('display', noError ? 'none' : 'block');\n\n        /**\n         * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n         * Trigger includes the element of the form.\n         * @event Abide#formvalid\n         * @event Abide#forminvalid\n         */\n        this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n\n        return noError;\n      }\n\n      /**\n       * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.\n       * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n       * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n       * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n       */\n\n    }, {\n      key: 'validateText',\n      value: function validateText($el, pattern) {\n        // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n        pattern = pattern || $el.attr('pattern') || $el.attr('type');\n        var inputText = $el.val();\n        var valid = false;\n\n        if (inputText.length) {\n          // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n          if (this.options.patterns.hasOwnProperty(pattern)) {\n            valid = this.options.patterns[pattern].test(inputText);\n          }\n          // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n          else if (pattern !== $el.attr('type')) {\n              valid = new RegExp(pattern).test(inputText);\n            } else {\n              valid = true;\n            }\n        }\n        // An empty field is valid if it's not required\n        else if (!$el.prop('required')) {\n            valid = true;\n          }\n\n        return valid;\n      }\n\n      /**\n       * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.\n       * @param {String} groupName - A string that specifies the name of a radio button group\n       * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n       */\n\n    }, {\n      key: 'validateRadio',\n      value: function validateRadio(groupName) {\n        // If at least one radio in the group has the `required` attribute, the group is considered required\n        // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n        var $group = this.$element.find(':radio[name=\"' + groupName + '\"]');\n        var valid = false,\n            required = false;\n\n        // For the group to be required, at least one radio needs to be required\n        $group.each(function (i, e) {\n          if ($(e).attr('required')) {\n            required = true;\n          }\n        });\n        if (!required) valid = true;\n\n        if (!valid) {\n          // For the group to be valid, at least one radio needs to be checked\n          $group.each(function (i, e) {\n            if ($(e).prop('checked')) {\n              valid = true;\n            }\n          });\n        };\n\n        return valid;\n      }\n\n      /**\n       * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator=\"foo bar baz\"` in a space separated listed.\n       * @param {Object} $el - jQuery input element.\n       * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n       * @param {Boolean} required - self explanatory?\n       * @returns {Boolean} - true if validations passed.\n       */\n\n    }, {\n      key: 'matchValidation',\n      value: function matchValidation($el, validators, required) {\n        var _this5 = this;\n\n        required = required ? true : false;\n\n        var clear = validators.split(' ').map(function (v) {\n          return _this5.options.validators[v]($el, required, $el.parent());\n        });\n        return clear.indexOf(false) === -1;\n      }\n\n      /**\n       * Resets form inputs and styles\n       * @fires Abide#formreset\n       */\n\n    }, {\n      key: 'resetForm',\n      value: function resetForm() {\n        var $form = this.$element,\n            opts = this.options;\n\n        $('.' + opts.labelErrorClass, $form).not('small').removeClass(opts.labelErrorClass);\n        $('.' + opts.inputErrorClass, $form).not('small').removeClass(opts.inputErrorClass);\n        $(opts.formErrorSelector + '.' + opts.formErrorClass).removeClass(opts.formErrorClass);\n        $form.find('[data-abide-error]').css('display', 'none');\n        $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');\n        $(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');\n        $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');\n        /**\n         * Fires when the form has been reset.\n         * @event Abide#formreset\n         */\n        $form.trigger('formreset.zf.abide', [$form]);\n      }\n\n      /**\n       * Destroys an instance of Abide.\n       * Removes error styles and classes from elements, without resetting their values.\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        var _this = this;\n        this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');\n\n        this.$inputs.off('.abide').each(function () {\n          _this.removeErrorClasses($(this));\n        });\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Abide;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Abide.defaults = {\n    /**\n     * The default event to validate inputs. Checkboxes and radios validate immediately.\n     * Remove or change this value for manual validation.\n     * @option\n     * @example 'fieldChange'\n     */\n    validateOn: 'fieldChange',\n\n    /**\n     * Class to be applied to input labels on failed validation.\n     * @option\n     * @example 'is-invalid-label'\n     */\n    labelErrorClass: 'is-invalid-label',\n\n    /**\n     * Class to be applied to inputs on failed validation.\n     * @option\n     * @example 'is-invalid-input'\n     */\n    inputErrorClass: 'is-invalid-input',\n\n    /**\n     * Class selector to use to target Form Errors for show/hide.\n     * @option\n     * @example '.form-error'\n     */\n    formErrorSelector: '.form-error',\n\n    /**\n     * Class added to Form Errors on failed validation.\n     * @option\n     * @example 'is-visible'\n     */\n    formErrorClass: 'is-visible',\n\n    /**\n     * Set to true to validate text inputs on any value change.\n     * @option\n     * @example false\n     */\n    liveValidate: false,\n\n    /**\n     * Set to true to validate inputs on blur.\n     * @option\n     * @example false\n     */\n    validateOnBlur: false,\n\n    patterns: {\n      alpha: /^[a-zA-Z]+$/,\n      alpha_numeric: /^[a-zA-Z0-9]+$/,\n      integer: /^[-+]?\\d+$/,\n      number: /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n\n      // amex, visa, diners\n      card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/,\n      cvv: /^([0-9]){3,4}$/,\n\n      // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n      email: /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,\n\n      url: /^(https?|ftp|file|ssh):\\/\\/(((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/,\n      // abc.de\n      domain: /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n\n      datetime: /^([0-2][0-9]{3})\\-([0-1][0-9])\\-([0-3][0-9])T([0-5][0-9])\\:([0-5][0-9])\\:([0-5][0-9])(Z|([\\-\\+]([0-1][0-9])\\:00))$/,\n      // YYYY-MM-DD\n      date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,\n      // HH:MM:SS\n      time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n      dateISO: /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n      // MM/DD/YYYY\n      month_day_year: /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n      // DD/MM/YYYY\n      day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n\n      // #FFF or #FFFFFF\n      color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/\n    },\n\n    /**\n     * Optional validation functions to be used. `equalTo` being the only default included function.\n     * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n     * el : The jQuery element to validate.\n     * required : Boolean value of the required attribute be present or not.\n     * parent : The direct parent of the input.\n     * @option\n     */\n    validators: {\n      equalTo: function (el, required, parent) {\n        return $('#' + el.attr('data-equalto')).val() === el.val();\n      }\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(Abide, 'Abide');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Accordion module.\n   * @module foundation.accordion\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   */\n\n  var Accordion = function () {\n    /**\n     * Creates a new instance of an accordion.\n     * @class\n     * @fires Accordion#init\n     * @param {jQuery} element - jQuery object to make into an accordion.\n     * @param {Object} options - a plain object with settings to override the default options.\n     */\n    function Accordion(element, options) {\n      _classCallCheck(this, Accordion);\n\n      this.$element = element;\n      this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Accordion');\n      Foundation.Keyboard.register('Accordion', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_DOWN': 'next',\n        'ARROW_UP': 'previous'\n      });\n    }\n\n    /**\n     * Initializes the accordion by animating the preset active pane(s).\n     * @private\n     */\n\n\n    _createClass(Accordion, [{\n      key: '_init',\n      value: function _init() {\n        this.$element.attr('role', 'tablist');\n        this.$tabs = this.$element.children('[data-accordion-item]');\n\n        this.$tabs.each(function (idx, el) {\n          var $el = $(el),\n              $content = $el.children('[data-tab-content]'),\n              id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),\n              linkId = el.id || id + '-label';\n\n          $el.find('a:first').attr({\n            'aria-controls': id,\n            'role': 'tab',\n            'id': linkId,\n            'aria-expanded': false,\n            'aria-selected': false\n          });\n\n          $content.attr({ 'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id });\n        });\n        var $initActive = this.$element.find('.is-active').children('[data-tab-content]');\n        if ($initActive.length) {\n          this.down($initActive, true);\n        }\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the accordion.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this.$tabs.each(function () {\n          var $elem = $(this);\n          var $tabContent = $elem.children('[data-tab-content]');\n          if ($tabContent.length) {\n            $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {\n              e.preventDefault();\n              _this.toggle($tabContent);\n            }).on('keydown.zf.accordion', function (e) {\n              Foundation.Keyboard.handleKey(e, 'Accordion', {\n                toggle: function () {\n                  _this.toggle($tabContent);\n                },\n                next: function () {\n                  var $a = $elem.next().find('a').focus();\n                  if (!_this.options.multiExpand) {\n                    $a.trigger('click.zf.accordion');\n                  }\n                },\n                previous: function () {\n                  var $a = $elem.prev().find('a').focus();\n                  if (!_this.options.multiExpand) {\n                    $a.trigger('click.zf.accordion');\n                  }\n                },\n                handled: function () {\n                  e.preventDefault();\n                  e.stopPropagation();\n                }\n              });\n            });\n          }\n        });\n      }\n\n      /**\n       * Toggles the selected content pane's open/close state.\n       * @param {jQuery} $target - jQuery object of the pane to toggle (`.accordion-content`).\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle($target) {\n        if ($target.parent().hasClass('is-active')) {\n          this.up($target);\n        } else {\n          this.down($target);\n        }\n      }\n\n      /**\n       * Opens the accordion tab defined by `$target`.\n       * @param {jQuery} $target - Accordion pane to open (`.accordion-content`).\n       * @param {Boolean} firstTime - flag to determine if reflow should happen.\n       * @fires Accordion#down\n       * @function\n       */\n\n    }, {\n      key: 'down',\n      value: function down($target, firstTime) {\n        var _this2 = this;\n\n        $target.attr('aria-hidden', false).parent('[data-tab-content]').addBack().parent().addClass('is-active');\n\n        if (!this.options.multiExpand && !firstTime) {\n          var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');\n          if ($currentActive.length) {\n            this.up($currentActive.not($target));\n          }\n        }\n\n        $target.slideDown(this.options.slideSpeed, function () {\n          /**\n           * Fires when the tab is done opening.\n           * @event Accordion#down\n           */\n          _this2.$element.trigger('down.zf.accordion', [$target]);\n        });\n\n        $('#' + $target.attr('aria-labelledby')).attr({\n          'aria-expanded': true,\n          'aria-selected': true\n        });\n      }\n\n      /**\n       * Closes the tab defined by `$target`.\n       * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).\n       * @fires Accordion#up\n       * @function\n       */\n\n    }, {\n      key: 'up',\n      value: function up($target) {\n        var $aunts = $target.parent().siblings(),\n            _this = this;\n\n        if (!this.options.allowAllClosed && !$aunts.hasClass('is-active') || !$target.parent().hasClass('is-active')) {\n          return;\n        }\n\n        // Foundation.Move(this.options.slideSpeed, $target, function(){\n        $target.slideUp(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the tab is done collapsing up.\n           * @event Accordion#up\n           */\n          _this.$element.trigger('up.zf.accordion', [$target]);\n        });\n        // });\n\n        $target.attr('aria-hidden', true).parent().removeClass('is-active');\n\n        $('#' + $target.attr('aria-labelledby')).attr({\n          'aria-expanded': false,\n          'aria-selected': false\n        });\n      }\n\n      /**\n       * Destroys an instance of an accordion.\n       * @fires Accordion#destroyed\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');\n        this.$element.find('a').off('.zf.accordion');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Accordion;\n  }();\n\n  Accordion.defaults = {\n    /**\n     * Amount of time to animate the opening of an accordion pane.\n     * @option\n     * @example 250\n     */\n    slideSpeed: 250,\n    /**\n     * Allow the accordion to have multiple open panes.\n     * @option\n     * @example false\n     */\n    multiExpand: false,\n    /**\n     * Allow the accordion to close all panes.\n     * @option\n     * @example false\n     */\n    allowAllClosed: false\n  };\n\n  // Window exports\n  Foundation.plugin(Accordion, 'Accordion');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * AccordionMenu module.\n   * @module foundation.accordionMenu\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.nest\n   */\n\n  var AccordionMenu = function () {\n    /**\n     * Creates a new instance of an accordion menu.\n     * @class\n     * @fires AccordionMenu#init\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function AccordionMenu(element, options) {\n      _classCallCheck(this, AccordionMenu);\n\n      this.$element = element;\n      this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'accordion');\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'AccordionMenu');\n      Foundation.Keyboard.register('AccordionMenu', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_RIGHT': 'open',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'close',\n        'ESCAPE': 'closeAll'\n      });\n    }\n\n    /**\n     * Initializes the accordion menu by hiding all nested menus.\n     * @private\n     */\n\n\n    _createClass(AccordionMenu, [{\n      key: '_init',\n      value: function _init() {\n        this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');\n        this.$element.attr({\n          'role': 'menu',\n          'aria-multiselectable': this.options.multiOpen\n        });\n\n        this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');\n        this.$menuLinks.each(function () {\n          var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),\n              $elem = $(this),\n              $sub = $elem.children('[data-submenu]'),\n              subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),\n              isActive = $sub.hasClass('is-active');\n          $elem.attr({\n            'aria-controls': subId,\n            'aria-expanded': isActive,\n            'role': 'menuitem',\n            'id': linkId\n          });\n          $sub.attr({\n            'aria-labelledby': linkId,\n            'aria-hidden': !isActive,\n            'role': 'menu',\n            'id': subId\n          });\n        });\n        var initPanes = this.$element.find('.is-active');\n        if (initPanes.length) {\n          var _this = this;\n          initPanes.each(function () {\n            _this.down($(this));\n          });\n        }\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the menu.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this.$element.find('li').each(function () {\n          var $submenu = $(this).children('[data-submenu]');\n\n          if ($submenu.length) {\n            $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {\n              e.preventDefault();\n\n              _this.toggle($submenu);\n            });\n          }\n        }).on('keydown.zf.accordionmenu', function (e) {\n          var $element = $(this),\n              $elements = $element.parent('ul').children('li'),\n              $prevElement,\n              $nextElement,\n              $target = $element.children('[data-submenu]');\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();\n              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();\n\n              if ($(this).children('[data-submenu]:visible').length) {\n                // has open sub menu\n                $nextElement = $element.find('li:first-child').find('a').first();\n              }\n              if ($(this).is(':first-child')) {\n                // is first element of sub menu\n                $prevElement = $element.parents('li').first().find('a').first();\n              } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) {\n                // if previous element has open sub menu\n                $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n              }\n              if ($(this).is(':last-child')) {\n                // is last element of sub menu\n                $nextElement = $element.parents('li').first().next('li').find('a').first();\n              }\n\n              return;\n            }\n          });\n\n          Foundation.Keyboard.handleKey(e, 'AccordionMenu', {\n            open: function () {\n              if ($target.is(':hidden')) {\n                _this.down($target);\n                $target.find('li').first().find('a').first().focus();\n              }\n            },\n            close: function () {\n              if ($target.length && !$target.is(':hidden')) {\n                // close active sub of this item\n                _this.up($target);\n              } else if ($element.parent('[data-submenu]').length) {\n                // close currently open sub\n                _this.up($element.parent('[data-submenu]'));\n                $element.parents('li').first().find('a').first().focus();\n              }\n            },\n            up: function () {\n              $prevElement.focus();\n              return true;\n            },\n            down: function () {\n              $nextElement.focus();\n              return true;\n            },\n            toggle: function () {\n              if ($element.children('[data-submenu]').length) {\n                _this.toggle($element.children('[data-submenu]'));\n              }\n            },\n            closeAll: function () {\n              _this.hideAll();\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n              e.stopImmediatePropagation();\n            }\n          });\n        }); //.attr('tabindex', 0);\n      }\n\n      /**\n       * Closes all panes of the menu.\n       * @function\n       */\n\n    }, {\n      key: 'hideAll',\n      value: function hideAll() {\n        this.up(this.$element.find('[data-submenu]'));\n      }\n\n      /**\n       * Opens all panes of the menu.\n       * @function\n       */\n\n    }, {\n      key: 'showAll',\n      value: function showAll() {\n        this.down(this.$element.find('[data-submenu]'));\n      }\n\n      /**\n       * Toggles the open/close state of a submenu.\n       * @function\n       * @param {jQuery} $target - the submenu to toggle\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle($target) {\n        if (!$target.is(':animated')) {\n          if (!$target.is(':hidden')) {\n            this.up($target);\n          } else {\n            this.down($target);\n          }\n        }\n      }\n\n      /**\n       * Opens the sub-menu defined by `$target`.\n       * @param {jQuery} $target - Sub-menu to open.\n       * @fires AccordionMenu#down\n       */\n\n    }, {\n      key: 'down',\n      value: function down($target) {\n        var _this = this;\n\n        if (!this.options.multiOpen) {\n          this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));\n        }\n\n        $target.addClass('is-active').attr({ 'aria-hidden': false }).parent('.is-accordion-submenu-parent').attr({ 'aria-expanded': true });\n\n        //Foundation.Move(this.options.slideSpeed, $target, function() {\n        $target.slideDown(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the menu is done opening.\n           * @event AccordionMenu#down\n           */\n          _this.$element.trigger('down.zf.accordionMenu', [$target]);\n        });\n        //});\n      }\n\n      /**\n       * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n       * @param {jQuery} $target - Sub-menu to close.\n       * @fires AccordionMenu#up\n       */\n\n    }, {\n      key: 'up',\n      value: function up($target) {\n        var _this = this;\n        //Foundation.Move(this.options.slideSpeed, $target, function(){\n        $target.slideUp(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the menu is done collapsing up.\n           * @event AccordionMenu#up\n           */\n          _this.$element.trigger('up.zf.accordionMenu', [$target]);\n        });\n        //});\n\n        var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);\n\n        $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n      }\n\n      /**\n       * Destroys an instance of accordion menu.\n       * @fires AccordionMenu#destroyed\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n        this.$element.find('a').off('click.zf.accordionMenu');\n\n        Foundation.Nest.Burn(this.$element, 'accordion');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return AccordionMenu;\n  }();\n\n  AccordionMenu.defaults = {\n    /**\n     * Amount of time to animate the opening of a submenu in ms.\n     * @option\n     * @example 250\n     */\n    slideSpeed: 250,\n    /**\n     * Allow the menu to have multiple open panes.\n     * @option\n     * @example true\n     */\n    multiOpen: true\n  };\n\n  // Window exports\n  Foundation.plugin(AccordionMenu, 'AccordionMenu');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Drilldown module.\n   * @module foundation.drilldown\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.nest\n   */\n\n  var Drilldown = function () {\n    /**\n     * Creates a new instance of a drilldown menu.\n     * @class\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Drilldown(element, options) {\n      _classCallCheck(this, Drilldown);\n\n      this.$element = element;\n      this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'drilldown');\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Drilldown');\n      Foundation.Keyboard.register('Drilldown', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close',\n        'TAB': 'down',\n        'SHIFT_TAB': 'up'\n      });\n    }\n\n    /**\n     * Initializes the drilldown by creating jQuery collections of elements\n     * @private\n     */\n\n\n    _createClass(Drilldown, [{\n      key: '_init',\n      value: function _init() {\n        this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n        this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');\n        this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');\n        this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || Foundation.GetYoDigits(6, 'drilldown'));\n\n        this._prepareMenu();\n        this._registerEvents();\n\n        this._keyboardEvents();\n      }\n\n      /**\n       * prepares drilldown menu by setting attributes to links and elements\n       * sets a min height to prevent content jumping\n       * wraps the element if not already wrapped\n       * @private\n       * @function\n       */\n\n    }, {\n      key: '_prepareMenu',\n      value: function _prepareMenu() {\n        var _this = this;\n        // if(!this.options.holdOpen){\n        //   this._menuLinkEvents();\n        // }\n        this.$submenuAnchors.each(function () {\n          var $link = $(this);\n          var $sub = $link.parent();\n          if (_this.options.parentLink) {\n            $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class=\"is-submenu-parent-item is-submenu-item is-drilldown-submenu-item\" role=\"menu-item\"></li>');\n          }\n          $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n          $link.children('[data-submenu]').attr({\n            'aria-hidden': true,\n            'tabindex': 0,\n            'role': 'menu'\n          });\n          _this._events($link);\n        });\n        this.$submenus.each(function () {\n          var $menu = $(this),\n              $back = $menu.find('.js-drilldown-back');\n          if (!$back.length) {\n            switch (_this.options.backButtonPosition) {\n              case \"bottom\":\n                $menu.append(_this.options.backButton);\n                break;\n              case \"top\":\n                $menu.prepend(_this.options.backButton);\n                break;\n              default:\n                console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n            }\n          }\n          _this._back($menu);\n        });\n\n        if (!this.options.autoHeight) {\n          this.$submenus.addClass('drilldown-submenu-cover-previous');\n        }\n\n        if (!this.$element.parent().hasClass('is-drilldown')) {\n          this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');\n          if (this.options.animateHeight) this.$wrapper.addClass('animate-height');\n          this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());\n        }\n      }\n    }, {\n      key: '_resize',\n      value: function _resize() {\n        this.$wrapper.css({ 'max-width': 'none', 'min-height': 'none' });\n        // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n        this.$wrapper.css(this._getMaxDims());\n      }\n\n      /**\n       * Adds event handlers to elements in the menu.\n       * @function\n       * @private\n       * @param {jQuery} $elem - the current menu item to add handlers to.\n       */\n\n    }, {\n      key: '_events',\n      value: function _events($elem) {\n        var _this = this;\n\n        $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n          if ($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {\n            e.stopImmediatePropagation();\n            e.preventDefault();\n          }\n\n          // if(e.target !== e.currentTarget.firstElementChild){\n          //   return false;\n          // }\n          _this._show($elem.parent('li'));\n\n          if (_this.options.closeOnClick) {\n            var $body = $('body');\n            $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) {\n              if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {\n                return;\n              }\n              e.preventDefault();\n              _this._hideAll();\n              $body.off('.zf.drilldown');\n            });\n          }\n        });\n        this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n      }\n\n      /**\n       * Adds event handlers to the menu element.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_registerEvents',\n      value: function _registerEvents() {\n        if (this.options.scrollTop) {\n          this._bindHandler = this._scrollTop.bind(this);\n          this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown', this._bindHandler);\n        }\n      }\n\n      /**\n       * Scroll to Top of Element or data-scroll-top-element\n       * @function\n       * @fires Drilldown#scrollme\n       */\n\n    }, {\n      key: '_scrollTop',\n      value: function _scrollTop() {\n        var _this = this;\n        var $scrollTopElement = _this.options.scrollTopElement != '' ? $(_this.options.scrollTopElement) : _this.$element,\n            scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset);\n        $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing, function () {\n          /**\n            * Fires after the menu has scrolled\n            * @event Drilldown#scrollme\n            */\n          if (this === $('html')[0]) _this.$element.trigger('scrollme.zf.drilldown');\n        });\n      }\n\n      /**\n       * Adds keydown event listener to `li`'s in the menu.\n       * @private\n       */\n\n    }, {\n      key: '_keyboardEvents',\n      value: function _keyboardEvents() {\n        var _this = this;\n\n        this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) {\n          var $element = $(this),\n              $elements = $element.parent('li').parent('ul').children('li').children('a'),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(Math.max(0, i - 1));\n              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n              return;\n            }\n          });\n\n          Foundation.Keyboard.handleKey(e, 'Drilldown', {\n            next: function () {\n              if ($element.is(_this.$submenuAnchors)) {\n                _this._show($element.parent('li'));\n                $element.parent('li').one(Foundation.transitionend($element), function () {\n                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n                });\n                return true;\n              }\n            },\n            previous: function () {\n              _this._hide($element.parent('li').parent('ul'));\n              $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {\n                setTimeout(function () {\n                  $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n                }, 1);\n              });\n              return true;\n            },\n            up: function () {\n              $prevElement.focus();\n              return true;\n            },\n            down: function () {\n              $nextElement.focus();\n              return true;\n            },\n            close: function () {\n              _this._back();\n              //_this.$menuItems.first().focus(); // focus to first element\n            },\n            open: function () {\n              if (!$element.is(_this.$menuItems)) {\n                // not menu item means back button\n                _this._hide($element.parent('li').parent('ul'));\n                $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {\n                  setTimeout(function () {\n                    $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n                  }, 1);\n                });\n                return true;\n              } else if ($element.is(_this.$submenuAnchors)) {\n                _this._show($element.parent('li'));\n                $element.parent('li').one(Foundation.transitionend($element), function () {\n                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n                });\n                return true;\n              }\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n              e.stopImmediatePropagation();\n            }\n          });\n        }); // end keyboardAccess\n      }\n\n      /**\n       * Closes all open elements, and returns to root menu.\n       * @function\n       * @fires Drilldown#closed\n       */\n\n    }, {\n      key: '_hideAll',\n      value: function _hideAll() {\n        var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.parent().closest('ul').data('calcHeight') });\n        $elem.one(Foundation.transitionend($elem), function (e) {\n          $elem.removeClass('is-active is-closing');\n        });\n        /**\n         * Fires when the menu is fully closed.\n         * @event Drilldown#closed\n         */\n        this.$element.trigger('closed.zf.drilldown');\n      }\n\n      /**\n       * Adds event listener for each `back` button, and closes open menus.\n       * @function\n       * @fires Drilldown#back\n       * @param {jQuery} $elem - the current sub-menu to add `back` event.\n       */\n\n    }, {\n      key: '_back',\n      value: function _back($elem) {\n        var _this = this;\n        $elem.off('click.zf.drilldown');\n        $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {\n          e.stopImmediatePropagation();\n          // console.log('mouseup on back');\n          _this._hide($elem);\n\n          // If there is a parent submenu, call show\n          var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n          if (parentSubMenu.length) {\n            _this._show(parentSubMenu);\n          }\n        });\n      }\n\n      /**\n       * Adds event listener to menu items w/o submenus to close open menus on click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_menuLinkEvents',\n      value: function _menuLinkEvents() {\n        var _this = this;\n        this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n          // e.stopImmediatePropagation();\n          setTimeout(function () {\n            _this._hideAll();\n          }, 0);\n        });\n      }\n\n      /**\n       * Opens a submenu.\n       * @function\n       * @fires Drilldown#open\n       * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n       */\n\n    }, {\n      key: '_show',\n      value: function _show($elem) {\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.children('[data-submenu]').data('calcHeight') });\n        $elem.attr('aria-expanded', true);\n        $elem.children('[data-submenu]').addClass('is-active').attr('aria-hidden', false);\n        /**\n         * Fires when the submenu has opened.\n         * @event Drilldown#open\n         */\n        this.$element.trigger('open.zf.drilldown', [$elem]);\n      }\n    }, {\n      key: '_hide',\n\n\n      /**\n       * Hides a submenu\n       * @function\n       * @fires Drilldown#hide\n       * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n       */\n      value: function _hide($elem) {\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.parent().closest('ul').data('calcHeight') });\n        var _this = this;\n        $elem.parent('li').attr('aria-expanded', false);\n        $elem.attr('aria-hidden', true).addClass('is-closing');\n        $elem.addClass('is-closing').one(Foundation.transitionend($elem), function () {\n          $elem.removeClass('is-active is-closing');\n          $elem.blur();\n        });\n        /**\n         * Fires when the submenu has closed.\n         * @event Drilldown#hide\n         */\n        $elem.trigger('hide.zf.drilldown', [$elem]);\n      }\n\n      /**\n       * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n       * Prevents content jumping.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_getMaxDims',\n      value: function _getMaxDims() {\n        var maxHeight = 0,\n            result = {},\n            _this = this;\n        this.$submenus.add(this.$element).each(function () {\n          var numOfElems = $(this).children('li').length;\n          var height = Foundation.Box.GetDimensions(this).height;\n          maxHeight = height > maxHeight ? height : maxHeight;\n          if (_this.options.autoHeight) {\n            $(this).data('calcHeight', height);\n            if (!$(this).hasClass('is-drilldown-submenu')) result['height'] = height;\n          }\n        });\n\n        if (!this.options.autoHeight) result['min-height'] = maxHeight + 'px';\n\n        result['max-width'] = this.$element[0].getBoundingClientRect().width + 'px';\n\n        return result;\n      }\n\n      /**\n       * Destroys the Drilldown Menu\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n        this._hideAll();\n        this.$element.off('mutateme.zf.trigger');\n        Foundation.Nest.Burn(this.$element, 'drilldown');\n        this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n        this.$submenuAnchors.each(function () {\n          $(this).off('.zf.drilldown');\n        });\n\n        this.$submenus.removeClass('drilldown-submenu-cover-previous');\n\n        this.$element.find('a').each(function () {\n          var $link = $(this);\n          $link.removeAttr('tabindex');\n          if ($link.data('savedHref')) {\n            $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n          } else {\n            return;\n          }\n        });\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Drilldown;\n  }();\n\n  Drilldown.defaults = {\n    /**\n     * Markup used for JS generated back button. Prepended  or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n     * @option\n     * @example '<\\li><\\a>Back<\\/a><\\/li>'\n     */\n    backButton: '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>',\n    /**\n     * Position the back button either at the top or bottom of drilldown submenus.\n     * @option\n     * @example bottom\n     */\n    backButtonPosition: 'top',\n    /**\n     * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n     * @option\n     * @example '<\\div class=\"is-drilldown\"><\\/div>'\n     */\n    wrapper: '<div></div>',\n    /**\n     * Adds the parent link to the submenu.\n     * @option\n     * @example false\n     */\n    parentLink: false,\n    /**\n     * Allow the menu to return to root list on body click.\n     * @option\n     * @example false\n     */\n    closeOnClick: false,\n    /**\n     * Allow the menu to auto adjust height.\n     * @option\n     * @example false\n     */\n    autoHeight: false,\n    /**\n     * Animate the auto adjust height.\n     * @option\n     * @example false\n     */\n    animateHeight: false,\n    /**\n     * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n     * @option\n     * @example false\n     */\n    scrollTop: false,\n    /**\n     * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n     * @option\n     * @example ''\n     */\n    scrollTopElement: '',\n    /**\n     * ScrollTop offset\n     * @option\n     * @example 100\n     */\n    scrollTopOffset: 0,\n    /**\n     * Scroll animation duration\n     * @option\n     * @example 500\n     */\n    animationDuration: 500,\n    /**\n     * Scroll animation easing\n     * @option\n     * @example 'swing'\n     */\n    animationEasing: 'swing'\n    // holdOpen: false\n  };\n\n  // Window exports\n  Foundation.plugin(Drilldown, 'Drilldown');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Dropdown module.\n   * @module foundation.dropdown\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.triggers\n   */\n\n  var Dropdown = function () {\n    /**\n     * Creates a new instance of a dropdown.\n     * @class\n     * @param {jQuery} element - jQuery object to make into a dropdown.\n     *        Object should be of the dropdown panel, rather than its anchor.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Dropdown(element, options) {\n      _classCallCheck(this, Dropdown);\n\n      this.$element = element;\n      this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n      this._init();\n\n      Foundation.registerPlugin(this, 'Dropdown');\n      Foundation.Keyboard.register('Dropdown', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Dropdown, [{\n      key: '_init',\n      value: function _init() {\n        var $id = this.$element.attr('id');\n\n        this.$anchor = $('[data-toggle=\"' + $id + '\"]').length ? $('[data-toggle=\"' + $id + '\"]') : $('[data-open=\"' + $id + '\"]');\n        this.$anchor.attr({\n          'aria-controls': $id,\n          'data-is-focus': false,\n          'data-yeti-box': $id,\n          'aria-haspopup': true,\n          'aria-expanded': false\n\n        });\n\n        if (this.options.parentClass) {\n          this.$parent = this.$element.parents('.' + this.options.parentClass);\n        } else {\n          this.$parent = null;\n        }\n        this.options.positionClass = this.getPositionClass();\n        this.counter = 4;\n        this.usedPositions = [];\n        this.$element.attr({\n          'aria-hidden': 'true',\n          'data-yeti-box': $id,\n          'data-resize': $id,\n          'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')\n        });\n        this._events();\n      }\n\n      /**\n       * Helper function to determine current orientation of dropdown pane.\n       * @function\n       * @returns {String} position - string value of a position class.\n       */\n\n    }, {\n      key: 'getPositionClass',\n      value: function getPositionClass() {\n        var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);\n        verticalPosition = verticalPosition ? verticalPosition[0] : '';\n        var horizontalPosition = /float-(\\S+)/.exec(this.$anchor[0].className);\n        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';\n        var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;\n\n        return position;\n      }\n\n      /**\n       * Adjusts the dropdown panes orientation by adding/removing positioning classes.\n       * @function\n       * @private\n       * @param {String} position - position class to remove.\n       */\n\n    }, {\n      key: '_reposition',\n      value: function _reposition(position) {\n        this.usedPositions.push(position ? position : 'bottom');\n        //default, try switching to opposite side\n        if (!position && this.usedPositions.indexOf('top') < 0) {\n          this.$element.addClass('top');\n        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {\n          this.$element.removeClass(position);\n        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {\n          this.$element.removeClass(position).addClass('right');\n        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {\n          this.$element.removeClass(position).addClass('left');\n        }\n\n        //if default change didn't work, try bottom or left first\n        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.$element.addClass('left');\n          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.$element.removeClass(position).addClass('left');\n          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.$element.removeClass(position);\n          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.$element.removeClass(position);\n          }\n          //if nothing cleared, set to bottom\n          else {\n              this.$element.removeClass(position);\n            }\n        this.classChanged = true;\n        this.counter--;\n      }\n\n      /**\n       * Sets the position and orientation of the dropdown pane, checks for collisions.\n       * Recursively calls itself if a collision is detected, with a new position class.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_setPosition',\n      value: function _setPosition() {\n        if (this.$anchor.attr('aria-expanded') === 'false') {\n          return false;\n        }\n        var position = this.getPositionClass(),\n            $eleDims = Foundation.Box.GetDimensions(this.$element),\n            $anchorDims = Foundation.Box.GetDimensions(this.$anchor),\n            _this = this,\n            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',\n            param = direction === 'top' ? 'height' : 'width',\n            offset = param === 'height' ? this.options.vOffset : this.options.hOffset;\n\n        if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent)) {\n          var newWidth = $eleDims.windowDims.width,\n              parentHOffset = 0;\n          if (this.$parent) {\n            var $parentDims = Foundation.Box.GetDimensions(this.$parent),\n                parentHOffset = $parentDims.offset.left;\n            if ($parentDims.width < newWidth) {\n              newWidth = $parentDims.width;\n            }\n          }\n\n          this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset + parentHOffset, true)).css({\n            'width': newWidth - this.options.hOffset * 2,\n            'height': 'auto'\n          });\n          this.classChanged = true;\n          return false;\n        }\n\n        this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));\n\n        while (!Foundation.Box.ImNotTouchingYou(this.$element, this.$parent, true) && this.counter) {\n          this._reposition(position);\n          this._setPosition();\n        }\n      }\n\n      /**\n       * Adds event listeners to the element utilizing the triggers utility library.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        this.$element.on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': this.close.bind(this),\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'resizeme.zf.trigger': this._setPosition.bind(this)\n        });\n\n        if (this.options.hover) {\n          this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n            var bodyData = $('body').data();\n            if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {\n              clearTimeout(_this.timeout);\n              _this.timeout = setTimeout(function () {\n                _this.open();\n                _this.$anchor.data('hover', true);\n              }, _this.options.hoverDelay);\n            }\n          }).on('mouseleave.zf.dropdown', function () {\n            clearTimeout(_this.timeout);\n            _this.timeout = setTimeout(function () {\n              _this.close();\n              _this.$anchor.data('hover', false);\n            }, _this.options.hoverDelay);\n          });\n          if (this.options.hoverPane) {\n            this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n              clearTimeout(_this.timeout);\n            }).on('mouseleave.zf.dropdown', function () {\n              clearTimeout(_this.timeout);\n              _this.timeout = setTimeout(function () {\n                _this.close();\n                _this.$anchor.data('hover', false);\n              }, _this.options.hoverDelay);\n            });\n          }\n        }\n        this.$anchor.add(this.$element).on('keydown.zf.dropdown', function (e) {\n\n          var $target = $(this),\n              visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);\n\n          Foundation.Keyboard.handleKey(e, 'Dropdown', {\n            open: function () {\n              if ($target.is(_this.$anchor)) {\n                _this.open();\n                _this.$element.attr('tabindex', -1).focus();\n                e.preventDefault();\n              }\n            },\n            close: function () {\n              _this.close();\n              _this.$anchor.focus();\n            }\n          });\n        });\n      }\n\n      /**\n       * Adds an event handler to the body to close any dropdowns on a click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBodyHandler',\n      value: function _addBodyHandler() {\n        var $body = $(document.body).not(this.$element),\n            _this = this;\n        $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {\n          if (_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {\n            return;\n          }\n          if (_this.$element.find(e.target).length) {\n            return;\n          }\n          _this.close();\n          $body.off('click.zf.dropdown');\n        });\n      }\n\n      /**\n       * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n       * @function\n       * @fires Dropdown#closeme\n       * @fires Dropdown#show\n       */\n\n    }, {\n      key: 'open',\n      value: function open() {\n        // var _this = this;\n        /**\n         * Fires to close other open dropdowns\n         * @event Dropdown#closeme\n         */\n        this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n        this.$anchor.addClass('hover').attr({ 'aria-expanded': true });\n        // this.$element/*.show()*/;\n        this._setPosition();\n        this.$element.addClass('is-open').attr({ 'aria-hidden': false });\n\n        if (this.options.autoFocus) {\n          var $focusable = Foundation.Keyboard.findFocusable(this.$element);\n          if ($focusable.length) {\n            $focusable.eq(0).focus();\n          }\n        }\n\n        if (this.options.closeOnClick) {\n          this._addBodyHandler();\n        }\n\n        if (this.options.trapFocus) {\n          Foundation.Keyboard.trapFocus(this.$element);\n        }\n\n        /**\n         * Fires once the dropdown is visible.\n         * @event Dropdown#show\n         */\n        this.$element.trigger('show.zf.dropdown', [this.$element]);\n      }\n\n      /**\n       * Closes the open dropdown pane.\n       * @function\n       * @fires Dropdown#hide\n       */\n\n    }, {\n      key: 'close',\n      value: function close() {\n        if (!this.$element.hasClass('is-open')) {\n          return false;\n        }\n        this.$element.removeClass('is-open').attr({ 'aria-hidden': true });\n\n        this.$anchor.removeClass('hover').attr('aria-expanded', false);\n\n        if (this.classChanged) {\n          var curPositionClass = this.getPositionClass();\n          if (curPositionClass) {\n            this.$element.removeClass(curPositionClass);\n          }\n          this.$element.addClass(this.options.positionClass)\n          /*.hide()*/.css({ height: '', width: '' });\n          this.classChanged = false;\n          this.counter = 4;\n          this.usedPositions.length = 0;\n        }\n        this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n        if (this.options.trapFocus) {\n          Foundation.Keyboard.releaseFocus(this.$element);\n        }\n      }\n\n      /**\n       * Toggles the dropdown pane's visibility.\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.$element.hasClass('is-open')) {\n          if (this.$anchor.data('hover')) return;\n          this.close();\n        } else {\n          this.open();\n        }\n      }\n\n      /**\n       * Destroys the dropdown.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.trigger').hide();\n        this.$anchor.off('.zf.dropdown');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Dropdown;\n  }();\n\n  Dropdown.defaults = {\n    /**\n     * Class that designates bounding container of Dropdown (Default: window)\n     * @option\n     * @example 'dropdown-parent'\n     */\n    parentClass: null,\n    /**\n     * Amount of time to delay opening a submenu on hover event.\n     * @option\n     * @example 250\n     */\n    hoverDelay: 250,\n    /**\n     * Allow submenus to open on hover events\n     * @option\n     * @example false\n     */\n    hover: false,\n    /**\n     * Don't close dropdown when hovering over dropdown pane\n     * @option\n     * @example true\n     */\n    hoverPane: false,\n    /**\n     * Number of pixels between the dropdown pane and the triggering element on open.\n     * @option\n     * @example 1\n     */\n    vOffset: 1,\n    /**\n     * Number of pixels between the dropdown pane and the triggering element on open.\n     * @option\n     * @example 1\n     */\n    hOffset: 1,\n    /**\n     * Class applied to adjust open position. JS will test and fill this in.\n     * @option\n     * @example 'top'\n     */\n    positionClass: '',\n    /**\n     * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n     * @option\n     * @example false\n     */\n    trapFocus: false,\n    /**\n     * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n     * @option\n     * @example true\n     */\n    autoFocus: false,\n    /**\n     * Allows a click on the body to close the dropdown.\n     * @option\n     * @example false\n     */\n    closeOnClick: false\n  };\n\n  // Window exports\n  Foundation.plugin(Dropdown, 'Dropdown');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * DropdownMenu module.\n   * @module foundation.dropdown-menu\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.nest\n   */\n\n  var DropdownMenu = function () {\n    /**\n     * Creates a new instance of DropdownMenu.\n     * @class\n     * @fires DropdownMenu#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function DropdownMenu(element, options) {\n      _classCallCheck(this, DropdownMenu);\n\n      this.$element = element;\n      this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'dropdown');\n      this._init();\n\n      Foundation.registerPlugin(this, 'DropdownMenu');\n      Foundation.Keyboard.register('DropdownMenu', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin, and calls _prepareMenu\n     * @private\n     * @function\n     */\n\n\n    _createClass(DropdownMenu, [{\n      key: '_init',\n      value: function _init() {\n        var subs = this.$element.find('li.is-dropdown-submenu-parent');\n        this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n\n        this.$menuItems = this.$element.find('[role=\"menuitem\"]');\n        this.$tabs = this.$element.children('[role=\"menuitem\"]');\n        this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n        if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {\n          this.options.alignment = 'right';\n          subs.addClass('opens-left');\n        } else {\n          subs.addClass('opens-right');\n        }\n        this.changed = false;\n        this._events();\n      }\n    }, {\n      key: '_isVertical',\n      value: function _isVertical() {\n        return this.$tabs.css('display') === 'block';\n      }\n\n      /**\n       * Adds event listeners to elements within the menu\n       * @private\n       * @function\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this,\n            hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',\n            parClass = 'is-dropdown-submenu-parent';\n\n        // used for onClick and in the keyboard handlers\n        var handleClickFn = function (e) {\n          var $elem = $(e.target).parentsUntil('ul', '.' + parClass),\n              hasSub = $elem.hasClass(parClass),\n              hasClicked = $elem.attr('data-is-click') === 'true',\n              $sub = $elem.children('.is-dropdown-submenu');\n\n          if (hasSub) {\n            if (hasClicked) {\n              if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {\n                return;\n              } else {\n                e.stopImmediatePropagation();\n                e.preventDefault();\n                _this._hide($elem);\n              }\n            } else {\n              e.preventDefault();\n              e.stopImmediatePropagation();\n              _this._show($sub);\n              $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);\n            }\n          }\n        };\n\n        if (this.options.clickOpen || hasTouch) {\n          this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);\n        }\n\n        // Handle Leaf element Clicks\n        if (_this.options.closeOnClickInside) {\n          this.$menuItems.on('click.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n            if (!hasSub) {\n              _this._hide();\n            }\n          });\n        }\n\n        if (!this.options.disableHover) {\n          this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n\n            if (hasSub) {\n              clearTimeout($elem.data('_delay'));\n              $elem.data('_delay', setTimeout(function () {\n                _this._show($elem.children('.is-dropdown-submenu'));\n              }, _this.options.hoverDelay));\n            }\n          }).on('mouseleave.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n            if (hasSub && _this.options.autoclose) {\n              if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {\n                return false;\n              }\n\n              clearTimeout($elem.data('_delay'));\n              $elem.data('_delay', setTimeout(function () {\n                _this._hide($elem);\n              }, _this.options.closingTime));\n            }\n          });\n        }\n        this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {\n          var $element = $(e.target).parentsUntil('ul', '[role=\"menuitem\"]'),\n              isTab = _this.$tabs.index($element) > -1,\n              $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(i - 1);\n              $nextElement = $elements.eq(i + 1);\n              return;\n            }\n          });\n\n          var nextSibling = function () {\n            if (!$element.is(':last-child')) {\n              $nextElement.children('a:first').focus();\n              e.preventDefault();\n            }\n          },\n              prevSibling = function () {\n            $prevElement.children('a:first').focus();\n            e.preventDefault();\n          },\n              openSub = function () {\n            var $sub = $element.children('ul.is-dropdown-submenu');\n            if ($sub.length) {\n              _this._show($sub);\n              $element.find('li > a:first').focus();\n              e.preventDefault();\n            } else {\n              return;\n            }\n          },\n              closeSub = function () {\n            //if ($element.is(':first-child')) {\n            var close = $element.parent('ul').parent('li');\n            close.children('a:first').focus();\n            _this._hide(close);\n            e.preventDefault();\n            //}\n          };\n          var functions = {\n            open: openSub,\n            close: function () {\n              _this._hide(_this.$element);\n              _this.$menuItems.find('a:first').focus(); // focus to first element\n              e.preventDefault();\n            },\n            handled: function () {\n              e.stopImmediatePropagation();\n            }\n          };\n\n          if (isTab) {\n            if (_this._isVertical()) {\n              // vertical menu\n              if (Foundation.rtl()) {\n                // right aligned\n                $.extend(functions, {\n                  down: nextSibling,\n                  up: prevSibling,\n                  next: closeSub,\n                  previous: openSub\n                });\n              } else {\n                // left aligned\n                $.extend(functions, {\n                  down: nextSibling,\n                  up: prevSibling,\n                  next: openSub,\n                  previous: closeSub\n                });\n              }\n            } else {\n              // horizontal menu\n              if (Foundation.rtl()) {\n                // right aligned\n                $.extend(functions, {\n                  next: prevSibling,\n                  previous: nextSibling,\n                  down: openSub,\n                  up: closeSub\n                });\n              } else {\n                // left aligned\n                $.extend(functions, {\n                  next: nextSibling,\n                  previous: prevSibling,\n                  down: openSub,\n                  up: closeSub\n                });\n              }\n            }\n          } else {\n            // not tabs -> one sub\n            if (Foundation.rtl()) {\n              // right aligned\n              $.extend(functions, {\n                next: closeSub,\n                previous: openSub,\n                down: nextSibling,\n                up: prevSibling\n              });\n            } else {\n              // left aligned\n              $.extend(functions, {\n                next: openSub,\n                previous: closeSub,\n                down: nextSibling,\n                up: prevSibling\n              });\n            }\n          }\n          Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);\n        });\n      }\n\n      /**\n       * Adds an event handler to the body to close any dropdowns on a click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBodyHandler',\n      value: function _addBodyHandler() {\n        var $body = $(document.body),\n            _this = this;\n        $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {\n          var $link = _this.$element.find(e.target);\n          if ($link.length) {\n            return;\n          }\n\n          _this._hide();\n          $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');\n        });\n      }\n\n      /**\n       * Opens a dropdown pane, and checks for collisions first.\n       * @param {jQuery} $sub - ul element that is a submenu to show\n       * @function\n       * @private\n       * @fires DropdownMenu#show\n       */\n\n    }, {\n      key: '_show',\n      value: function _show($sub) {\n        var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {\n          return $(el).find($sub).length > 0;\n        }));\n        var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n        this._hide($sibs, idx);\n        $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');\n        var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n        if (!clear) {\n          var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n              $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n          $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);\n          clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n          if (!clear) {\n            $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');\n          }\n          this.changed = true;\n        }\n        $sub.css('visibility', '');\n        if (this.options.closeOnClick) {\n          this._addBodyHandler();\n        }\n        /**\n         * Fires when the new dropdown pane is visible.\n         * @event DropdownMenu#show\n         */\n        this.$element.trigger('show.zf.dropdownmenu', [$sub]);\n      }\n\n      /**\n       * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n       * @function\n       * @param {jQuery} $elem - element with a submenu to hide\n       * @param {Number} idx - index of the $tabs collection to hide\n       * @private\n       */\n\n    }, {\n      key: '_hide',\n      value: function _hide($elem, idx) {\n        var $toClose;\n        if ($elem && $elem.length) {\n          $toClose = $elem;\n        } else if (idx !== undefined) {\n          $toClose = this.$tabs.not(function (i, el) {\n            return i === idx;\n          });\n        } else {\n          $toClose = this.$element;\n        }\n        var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n        if (somethingToClose) {\n          $toClose.find('li.is-active').add($toClose).attr({\n            'data-is-click': false\n          }).removeClass('is-active');\n\n          $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n          if (this.changed || $toClose.find('opens-inner').length) {\n            var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n            $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);\n            this.changed = false;\n          }\n          /**\n           * Fires when the open menus are closed.\n           * @event DropdownMenu#hide\n           */\n          this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);\n        }\n      }\n\n      /**\n       * Destroys the plugin.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n        $(document.body).off('.zf.dropdownmenu');\n        Foundation.Nest.Burn(this.$element, 'dropdown');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return DropdownMenu;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  DropdownMenu.defaults = {\n    /**\n     * Disallows hover events from opening submenus\n     * @option\n     * @example false\n     */\n    disableHover: false,\n    /**\n     * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n     * @option\n     * @example true\n     */\n    autoclose: true,\n    /**\n     * Amount of time to delay opening a submenu on hover event.\n     * @option\n     * @example 50\n     */\n    hoverDelay: 50,\n    /**\n     * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n     * @option\n     * @example true\n     */\n    clickOpen: false,\n    /**\n     * Amount of time to delay closing a submenu on a mouseleave event.\n     * @option\n     * @example 500\n     */\n\n    closingTime: 500,\n    /**\n     * Position of the menu relative to what direction the submenus should open. Handled by JS.\n     * @option\n     * @example 'left'\n     */\n    alignment: 'left',\n    /**\n     * Allow clicks on the body to close any open submenus.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n    /**\n     * Allow clicks on leaf anchor links to close any open submenus.\n     * @option\n     * @example true\n     */\n    closeOnClickInside: true,\n    /**\n     * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n     * @option\n     * @example 'vertical'\n     */\n    verticalClass: 'vertical',\n    /**\n     * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n     * @option\n     * @example 'align-right'\n     */\n    rightClass: 'align-right',\n    /**\n     * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n     * @option\n     * @example false\n     */\n    forceFollow: true\n  };\n\n  // Window exports\n  Foundation.plugin(DropdownMenu, 'DropdownMenu');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Equalizer module.\n   * @module foundation.equalizer\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.timerAndImageLoader if equalizer contains images\n   */\n\n  var Equalizer = function () {\n    /**\n     * Creates a new instance of Equalizer.\n     * @class\n     * @fires Equalizer#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Equalizer(element, options) {\n      _classCallCheck(this, Equalizer);\n\n      this.$element = element;\n      this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Equalizer');\n    }\n\n    /**\n     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n\n\n    _createClass(Equalizer, [{\n      key: '_init',\n      value: function _init() {\n        var eqId = this.$element.attr('data-equalizer') || '';\n        var $watched = this.$element.find('[data-equalizer-watch=\"' + eqId + '\"]');\n\n        this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');\n        this.$element.attr('data-resize', eqId || Foundation.GetYoDigits(6, 'eq'));\n        this.$element.attr('data-mutate', eqId || Foundation.GetYoDigits(6, 'eq'));\n\n        this.hasNested = this.$element.find('[data-equalizer]').length > 0;\n        this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;\n        this.isOn = false;\n        this._bindHandler = {\n          onResizeMeBound: this._onResizeMe.bind(this),\n          onPostEqualizedBound: this._onPostEqualized.bind(this)\n        };\n\n        var imgs = this.$element.find('img');\n        var tooSmall;\n        if (this.options.equalizeOn) {\n          tooSmall = this._checkMQ();\n          $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));\n        } else {\n          this._events();\n        }\n        if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {\n          if (imgs.length) {\n            Foundation.onImagesLoaded(imgs, this._reflow.bind(this));\n          } else {\n            this._reflow();\n          }\n        }\n      }\n\n      /**\n       * Removes event listeners if the breakpoint is too small.\n       * @private\n       */\n\n    }, {\n      key: '_pauseEvents',\n      value: function _pauseEvents() {\n        this.isOn = false;\n        this.$element.off({\n          '.zf.equalizer': this._bindHandler.onPostEqualizedBound,\n          'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,\n          'mutateme.zf.trigger': this._bindHandler.onResizeMeBound\n        });\n      }\n\n      /**\n       * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n       * @private\n       */\n\n    }, {\n      key: '_onResizeMe',\n      value: function _onResizeMe(e) {\n        this._reflow();\n      }\n\n      /**\n       * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n       * @private\n       */\n\n    }, {\n      key: '_onPostEqualized',\n      value: function _onPostEqualized(e) {\n        if (e.target !== this.$element[0]) {\n          this._reflow();\n        }\n      }\n\n      /**\n       * Initializes events for Equalizer.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        this._pauseEvents();\n        if (this.hasNested) {\n          this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);\n        } else {\n          this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);\n          this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);\n        }\n        this.isOn = true;\n      }\n\n      /**\n       * Checks the current breakpoint to the minimum required size.\n       * @private\n       */\n\n    }, {\n      key: '_checkMQ',\n      value: function _checkMQ() {\n        var tooSmall = !Foundation.MediaQuery.is(this.options.equalizeOn);\n        if (tooSmall) {\n          if (this.isOn) {\n            this._pauseEvents();\n            this.$watched.css('height', 'auto');\n          }\n        } else {\n          if (!this.isOn) {\n            this._events();\n          }\n        }\n        return tooSmall;\n      }\n\n      /**\n       * A noop version for the plugin\n       * @private\n       */\n\n    }, {\n      key: '_killswitch',\n      value: function _killswitch() {\n        return;\n      }\n\n      /**\n       * Calls necessary functions to update Equalizer upon DOM change\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        if (!this.options.equalizeOnStack) {\n          if (this._isStacked()) {\n            this.$watched.css('height', 'auto');\n            return false;\n          }\n        }\n        if (this.options.equalizeByRow) {\n          this.getHeightsByRow(this.applyHeightByRow.bind(this));\n        } else {\n          this.getHeights(this.applyHeight.bind(this));\n        }\n      }\n\n      /**\n       * Manually determines if the first 2 elements are *NOT* stacked.\n       * @private\n       */\n\n    }, {\n      key: '_isStacked',\n      value: function _isStacked() {\n        if (!this.$watched[0] || !this.$watched[1]) {\n          return true;\n        }\n        return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n      }\n\n      /**\n       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n       * @param {Function} cb - A non-optional callback to return the heights array to.\n       * @returns {Array} heights - An array of heights of children within Equalizer container\n       */\n\n    }, {\n      key: 'getHeights',\n      value: function getHeights(cb) {\n        var heights = [];\n        for (var i = 0, len = this.$watched.length; i < len; i++) {\n          this.$watched[i].style.height = 'auto';\n          heights.push(this.$watched[i].offsetHeight);\n        }\n        cb(heights);\n      }\n\n      /**\n       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n       * @param {Function} cb - A non-optional callback to return the heights array to.\n       * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n       */\n\n    }, {\n      key: 'getHeightsByRow',\n      value: function getHeightsByRow(cb) {\n        var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,\n            groups = [],\n            group = 0;\n        //group by Row\n        groups[group] = [];\n        for (var i = 0, len = this.$watched.length; i < len; i++) {\n          this.$watched[i].style.height = 'auto';\n          //maybe could use this.$watched[i].offsetTop\n          var elOffsetTop = $(this.$watched[i]).offset().top;\n          if (elOffsetTop != lastElTopOffset) {\n            group++;\n            groups[group] = [];\n            lastElTopOffset = elOffsetTop;\n          }\n          groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);\n        }\n\n        for (var j = 0, ln = groups.length; j < ln; j++) {\n          var heights = $(groups[j]).map(function () {\n            return this[1];\n          }).get();\n          var max = Math.max.apply(null, heights);\n          groups[j].push(max);\n        }\n        cb(groups);\n      }\n\n      /**\n       * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n       * @param {array} heights - An array of heights of children within Equalizer container\n       * @fires Equalizer#preequalized\n       * @fires Equalizer#postequalized\n       */\n\n    }, {\n      key: 'applyHeight',\n      value: function applyHeight(heights) {\n        var max = Math.max.apply(null, heights);\n        /**\n         * Fires before the heights are applied\n         * @event Equalizer#preequalized\n         */\n        this.$element.trigger('preequalized.zf.equalizer');\n\n        this.$watched.css('height', max);\n\n        /**\n         * Fires when the heights have been applied\n         * @event Equalizer#postequalized\n         */\n        this.$element.trigger('postequalized.zf.equalizer');\n      }\n\n      /**\n       * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n       * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n       * @fires Equalizer#preequalized\n       * @fires Equalizer#preequalizedrow\n       * @fires Equalizer#postequalizedrow\n       * @fires Equalizer#postequalized\n       */\n\n    }, {\n      key: 'applyHeightByRow',\n      value: function applyHeightByRow(groups) {\n        /**\n         * Fires before the heights are applied\n         */\n        this.$element.trigger('preequalized.zf.equalizer');\n        for (var i = 0, len = groups.length; i < len; i++) {\n          var groupsILength = groups[i].length,\n              max = groups[i][groupsILength - 1];\n          if (groupsILength <= 2) {\n            $(groups[i][0][0]).css({ 'height': 'auto' });\n            continue;\n          }\n          /**\n            * Fires before the heights per row are applied\n            * @event Equalizer#preequalizedrow\n            */\n          this.$element.trigger('preequalizedrow.zf.equalizer');\n          for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {\n            $(groups[i][j][0]).css({ 'height': max });\n          }\n          /**\n            * Fires when the heights per row have been applied\n            * @event Equalizer#postequalizedrow\n            */\n          this.$element.trigger('postequalizedrow.zf.equalizer');\n        }\n        /**\n         * Fires when the heights have been applied\n         */\n        this.$element.trigger('postequalized.zf.equalizer');\n      }\n\n      /**\n       * Destroys an instance of Equalizer.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this._pauseEvents();\n        this.$watched.css('height', 'auto');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Equalizer;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Equalizer.defaults = {\n    /**\n     * Enable height equalization when stacked on smaller screens.\n     * @option\n     * @example true\n     */\n    equalizeOnStack: false,\n    /**\n     * Enable height equalization row by row.\n     * @option\n     * @example false\n     */\n    equalizeByRow: false,\n    /**\n     * String representing the minimum breakpoint size the plugin should equalize heights on.\n     * @option\n     * @example 'medium'\n     */\n    equalizeOn: ''\n  };\n\n  // Window exports\n  Foundation.plugin(Equalizer, 'Equalizer');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Interchange module.\n   * @module foundation.interchange\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.timerAndImageLoader\n   */\n\n  var Interchange = function () {\n    /**\n     * Creates a new instance of Interchange.\n     * @class\n     * @fires Interchange#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Interchange(element, options) {\n      _classCallCheck(this, Interchange);\n\n      this.$element = element;\n      this.options = $.extend({}, Interchange.defaults, options);\n      this.rules = [];\n      this.currentPath = '';\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'Interchange');\n    }\n\n    /**\n     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Interchange, [{\n      key: '_init',\n      value: function _init() {\n        this._addBreakpoints();\n        this._generateRules();\n        this._reflow();\n      }\n\n      /**\n       * Initializes events for Interchange.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        $(window).on('resize.zf.interchange', Foundation.util.throttle(function () {\n          _this2._reflow();\n        }, 50));\n      }\n\n      /**\n       * Calls necessary functions to update Interchange upon DOM change\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        var match;\n\n        // Iterate through each rule, but only save the last match\n        for (var i in this.rules) {\n          if (this.rules.hasOwnProperty(i)) {\n            var rule = this.rules[i];\n            if (window.matchMedia(rule.query).matches) {\n              match = rule;\n            }\n          }\n        }\n\n        if (match) {\n          this.replace(match.path);\n        }\n      }\n\n      /**\n       * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBreakpoints',\n      value: function _addBreakpoints() {\n        for (var i in Foundation.MediaQuery.queries) {\n          if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {\n            var query = Foundation.MediaQuery.queries[i];\n            Interchange.SPECIAL_QUERIES[query.name] = query.value;\n          }\n        }\n      }\n\n      /**\n       * Checks the Interchange element for the provided media query + content pairings\n       * @function\n       * @private\n       * @param {Object} element - jQuery object that is an Interchange instance\n       * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n       */\n\n    }, {\n      key: '_generateRules',\n      value: function _generateRules(element) {\n        var rulesList = [];\n        var rules;\n\n        if (this.options.rules) {\n          rules = this.options.rules;\n        } else {\n          rules = this.$element.data('interchange').match(/\\[.*?\\]/g);\n        }\n\n        for (var i in rules) {\n          if (rules.hasOwnProperty(i)) {\n            var rule = rules[i].slice(1, -1).split(', ');\n            var path = rule.slice(0, -1).join('');\n            var query = rule[rule.length - 1];\n\n            if (Interchange.SPECIAL_QUERIES[query]) {\n              query = Interchange.SPECIAL_QUERIES[query];\n            }\n\n            rulesList.push({\n              path: path,\n              query: query\n            });\n          }\n        }\n\n        this.rules = rulesList;\n      }\n\n      /**\n       * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n       * @function\n       * @param {String} path - Path to the image or HTML partial.\n       * @fires Interchange#replaced\n       */\n\n    }, {\n      key: 'replace',\n      value: function replace(path) {\n        if (this.currentPath === path) return;\n\n        var _this = this,\n            trigger = 'replaced.zf.interchange';\n\n        // Replacing images\n        if (this.$element[0].nodeName === 'IMG') {\n          this.$element.attr('src', path).on('load', function () {\n            _this.currentPath = path;\n          }).trigger(trigger);\n        }\n        // Replacing background images\n        else if (path.match(/\\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {\n            this.$element.css({ 'background-image': 'url(' + path + ')' }).trigger(trigger);\n          }\n          // Replacing HTML\n          else {\n              $.get(path, function (response) {\n                _this.$element.html(response).trigger(trigger);\n                $(response).foundation();\n                _this.currentPath = path;\n              });\n            }\n\n        /**\n         * Fires when content in an Interchange element is done being loaded.\n         * @event Interchange#replaced\n         */\n        // this.$element.trigger('replaced.zf.interchange');\n      }\n\n      /**\n       * Destroys an instance of interchange.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        //TODO this.\n      }\n    }]);\n\n    return Interchange;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Interchange.defaults = {\n    /**\n     * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n     * @option\n     */\n    rules: null\n  };\n\n  Interchange.SPECIAL_QUERIES = {\n    'landscape': 'screen and (orientation: landscape)',\n    'portrait': 'screen and (orientation: portrait)',\n    'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n  };\n\n  // Window exports\n  Foundation.plugin(Interchange, 'Interchange');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Magellan module.\n   * @module foundation.magellan\n   */\n\n  var Magellan = function () {\n    /**\n     * Creates a new instance of Magellan.\n     * @class\n     * @fires Magellan#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Magellan(element, options) {\n      _classCallCheck(this, Magellan);\n\n      this.$element = element;\n      this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n\n      this._init();\n      this.calcPoints();\n\n      Foundation.registerPlugin(this, 'Magellan');\n    }\n\n    /**\n     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n\n\n    _createClass(Magellan, [{\n      key: '_init',\n      value: function _init() {\n        var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');\n        var _this = this;\n        this.$targets = $('[data-magellan-target]');\n        this.$links = this.$element.find('a');\n        this.$element.attr({\n          'data-resize': id,\n          'data-scroll': id,\n          'id': id\n        });\n        this.$active = $();\n        this.scrollPos = parseInt(window.pageYOffset, 10);\n\n        this._events();\n      }\n\n      /**\n       * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n       * Can be invoked if new elements are added or the size of a location changes.\n       * @function\n       */\n\n    }, {\n      key: 'calcPoints',\n      value: function calcPoints() {\n        var _this = this,\n            body = document.body,\n            html = document.documentElement;\n\n        this.points = [];\n        this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n        this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n        this.$targets.each(function () {\n          var $tar = $(this),\n              pt = Math.round($tar.offset().top - _this.options.threshold);\n          $tar.targetPoint = pt;\n          _this.points.push(pt);\n        });\n      }\n\n      /**\n       * Initializes events for Magellan.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this,\n            $body = $('html, body'),\n            opts = {\n          duration: _this.options.animationDuration,\n          easing: _this.options.animationEasing\n        };\n        $(window).one('load', function () {\n          if (_this.options.deepLinking) {\n            if (location.hash) {\n              _this.scrollToLoc(location.hash);\n            }\n          }\n          _this.calcPoints();\n          _this._updateActive();\n        });\n\n        this.$element.on({\n          'resizeme.zf.trigger': this.reflow.bind(this),\n          'scrollme.zf.trigger': this._updateActive.bind(this)\n        }).on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n          e.preventDefault();\n          var arrival = this.getAttribute('href');\n          _this.scrollToLoc(arrival);\n        });\n        $(window).on('popstate', function (e) {\n          if (_this.options.deepLinking) {\n            _this.scrollToLoc(window.location.hash);\n          }\n        });\n      }\n\n      /**\n       * Function to scroll to a given location on the page.\n       * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n       * @function\n       */\n\n    }, {\n      key: 'scrollToLoc',\n      value: function scrollToLoc(loc) {\n        // Do nothing if target does not exist to prevent errors\n        if (!$(loc).length) {\n          return false;\n        }\n        this._inTransition = true;\n        var _this = this,\n            scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);\n\n        $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing, function () {\n          _this._inTransition = false;_this._updateActive();\n        });\n      }\n\n      /**\n       * Calls necessary functions to update Magellan upon DOM change\n       * @function\n       */\n\n    }, {\n      key: 'reflow',\n      value: function reflow() {\n        this.calcPoints();\n        this._updateActive();\n      }\n\n      /**\n       * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n       * @private\n       * @function\n       * @fires Magellan#update\n       */\n\n    }, {\n      key: '_updateActive',\n      value: function _updateActive() /*evt, elem, scrollPos*/{\n        if (this._inTransition) {\n          return;\n        }\n        var winPos = /*scrollPos ||*/parseInt(window.pageYOffset, 10),\n            curIdx;\n\n        if (winPos + this.winHeight === this.docHeight) {\n          curIdx = this.points.length - 1;\n        } else if (winPos < this.points[0]) {\n          curIdx = undefined;\n        } else {\n          var isDown = this.scrollPos < winPos,\n              _this = this,\n              curVisible = this.points.filter(function (p, i) {\n            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;\n          });\n          curIdx = curVisible.length ? curVisible.length - 1 : 0;\n        }\n\n        this.$active.removeClass(this.options.activeClass);\n        this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(curIdx).data('magellan-target') + '\"]').addClass(this.options.activeClass);\n\n        if (this.options.deepLinking) {\n          var hash = \"\";\n          if (curIdx != undefined) {\n            hash = this.$active[0].getAttribute('href');\n          }\n          if (hash !== window.location.hash) {\n            if (window.history.pushState) {\n              window.history.pushState(null, null, hash);\n            } else {\n              window.location.hash = hash;\n            }\n          }\n        }\n\n        this.scrollPos = winPos;\n        /**\n         * Fires when magellan is finished updating to the new active element.\n         * @event Magellan#update\n         */\n        this.$element.trigger('update.zf.magellan', [this.$active]);\n      }\n\n      /**\n       * Destroys an instance of Magellan and resets the url of the window.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.trigger .zf.magellan').find('.' + this.options.activeClass).removeClass(this.options.activeClass);\n\n        if (this.options.deepLinking) {\n          var hash = this.$active[0].getAttribute('href');\n          window.location.hash.replace(hash, '');\n        }\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Magellan;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Magellan.defaults = {\n    /**\n     * Amount of time, in ms, the animated scrolling should take between locations.\n     * @option\n     * @example 500\n     */\n    animationDuration: 500,\n    /**\n     * Animation style to use when scrolling between locations.\n     * @option\n     * @example 'ease-in-out'\n     */\n    animationEasing: 'linear',\n    /**\n     * Number of pixels to use as a marker for location changes.\n     * @option\n     * @example 50\n     */\n    threshold: 50,\n    /**\n     * Class applied to the active locations link on the magellan container.\n     * @option\n     * @example 'active'\n     */\n    activeClass: 'active',\n    /**\n     * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n     * @option\n     * @example true\n     */\n    deepLinking: false,\n    /**\n     * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n     * @option\n     * @example 25\n     */\n    barOffset: 0\n  };\n\n  // Window exports\n  Foundation.plugin(Magellan, 'Magellan');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * OffCanvas module.\n   * @module foundation.offcanvas\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.triggers\n   * @requires foundation.util.motion\n   */\n\n  var OffCanvas = function () {\n    /**\n     * Creates a new instance of an off-canvas wrapper.\n     * @class\n     * @fires OffCanvas#init\n     * @param {Object} element - jQuery object to initialize.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function OffCanvas(element, options) {\n      _classCallCheck(this, OffCanvas);\n\n      this.$element = element;\n      this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n      this.$lastTrigger = $();\n      this.$triggers = $();\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'OffCanvas');\n      Foundation.Keyboard.register('OffCanvas', {\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n     * @function\n     * @private\n     */\n\n\n    _createClass(OffCanvas, [{\n      key: '_init',\n      value: function _init() {\n        var id = this.$element.attr('id');\n\n        this.$element.attr('aria-hidden', 'true');\n\n        this.$element.addClass('is-transition-' + this.options.transition);\n\n        // Find triggers that affect this element and add aria-expanded to them\n        this.$triggers = $(document).find('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-expanded', 'false').attr('aria-controls', id);\n\n        // Add an overlay over the content if necessary\n        if (this.options.contentOverlay === true) {\n          var overlay = document.createElement('div');\n          var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n          overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n          this.$overlay = $(overlay);\n          if (overlayPosition === 'is-overlay-fixed') {\n            $('body').append(this.$overlay);\n          } else {\n            this.$element.siblings('[data-off-canvas-content]').append(this.$overlay);\n          }\n        }\n\n        this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);\n\n        if (this.options.isRevealed === true) {\n          this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];\n          this._setMQChecker();\n        }\n        if (!this.options.transitionTime === true) {\n          this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas]')[0]).transitionDuration) * 1000;\n        }\n      }\n\n      /**\n       * Adds event handlers to the off-canvas wrapper and the exit overlay.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this.$element.off('.zf.trigger .zf.offcanvas').on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': this.close.bind(this),\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n        });\n\n        if (this.options.closeOnClick === true) {\n          var $target = this.options.contentOverlay ? this.$overlay : $('[data-off-canvas-content]');\n          $target.on({ 'click.zf.offcanvas': this.close.bind(this) });\n        }\n      }\n\n      /**\n       * Applies event listener for elements that will reveal at certain breakpoints.\n       * @private\n       */\n\n    }, {\n      key: '_setMQChecker',\n      value: function _setMQChecker() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n            _this.reveal(true);\n          } else {\n            _this.reveal(false);\n          }\n        }).one('load.zf.offcanvas', function () {\n          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n            _this.reveal(true);\n          }\n        });\n      }\n\n      /**\n       * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n       * @param {Boolean} isRevealed - true if element should be revealed.\n       * @function\n       */\n\n    }, {\n      key: 'reveal',\n      value: function reveal(isRevealed) {\n        var $closer = this.$element.find('[data-close]');\n        if (isRevealed) {\n          this.close();\n          this.isRevealed = true;\n          this.$element.attr('aria-hidden', 'false');\n          this.$element.off('open.zf.trigger toggle.zf.trigger');\n          if ($closer.length) {\n            $closer.hide();\n          }\n        } else {\n          this.isRevealed = false;\n          this.$element.attr('aria-hidden', 'true');\n          this.$element.on({\n            'open.zf.trigger': this.open.bind(this),\n            'toggle.zf.trigger': this.toggle.bind(this)\n          });\n          if ($closer.length) {\n            $closer.show();\n          }\n        }\n      }\n\n      /**\n       * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n       * @private\n       */\n\n    }, {\n      key: '_stopScrolling',\n      value: function _stopScrolling(event) {\n        return false;\n      }\n\n      /**\n       * Opens the off-canvas menu.\n       * @function\n       * @param {Object} event - Event object passed from listener.\n       * @param {jQuery} trigger - element that triggered the off-canvas to open.\n       * @fires OffCanvas#opened\n       */\n\n    }, {\n      key: 'open',\n      value: function open(event, trigger) {\n        if (this.$element.hasClass('is-open') || this.isRevealed) {\n          return;\n        }\n        var _this = this;\n\n        if (trigger) {\n          this.$lastTrigger = trigger;\n        }\n\n        if (this.options.forceTo === 'top') {\n          window.scrollTo(0, 0);\n        } else if (this.options.forceTo === 'bottom') {\n          window.scrollTo(0, document.body.scrollHeight);\n        }\n\n        /**\n         * Fires when the off-canvas menu opens.\n         * @event OffCanvas#opened\n         */\n        _this.$element.addClass('is-open');\n\n        this.$triggers.attr('aria-expanded', 'true');\n        this.$element.attr('aria-hidden', 'false').trigger('opened.zf.offcanvas');\n\n        // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n        if (this.options.contentScroll === false) {\n          $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n        }\n\n        if (this.options.contentOverlay === true) {\n          this.$overlay.addClass('is-visible');\n        }\n\n        if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n          this.$overlay.addClass('is-closable');\n        }\n\n        if (this.options.autoFocus === true) {\n          this.$element.one(Foundation.transitionend(this.$element), function () {\n            _this.$element.find('a, button').eq(0).focus();\n          });\n        }\n\n        if (this.options.trapFocus === true) {\n          this.$element.siblings('[data-off-canvas-content]').attr('tabindex', '-1');\n          Foundation.Keyboard.trapFocus(this.$element);\n        }\n      }\n\n      /**\n       * Closes the off-canvas menu.\n       * @function\n       * @param {Function} cb - optional cb to fire after closure.\n       * @fires OffCanvas#closed\n       */\n\n    }, {\n      key: 'close',\n      value: function close(cb) {\n        if (!this.$element.hasClass('is-open') || this.isRevealed) {\n          return;\n        }\n\n        var _this = this;\n\n        _this.$element.removeClass('is-open');\n\n        this.$element.attr('aria-hidden', 'true')\n        /**\n         * Fires when the off-canvas menu opens.\n         * @event OffCanvas#closed\n         */\n        .trigger('closed.zf.offcanvas');\n\n        // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n        if (this.options.contentScroll === false) {\n          $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n        }\n\n        if (this.options.contentOverlay === true) {\n          this.$overlay.removeClass('is-visible');\n        }\n\n        if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n          this.$overlay.removeClass('is-closable');\n        }\n\n        this.$triggers.attr('aria-expanded', 'false');\n\n        if (this.options.trapFocus === true) {\n          this.$element.siblings('[data-off-canvas-content]').removeAttr('tabindex');\n          Foundation.Keyboard.releaseFocus(this.$element);\n        }\n      }\n\n      /**\n       * Toggles the off-canvas menu open or closed.\n       * @function\n       * @param {Object} event - Event object passed from listener.\n       * @param {jQuery} trigger - element that triggered the off-canvas to open.\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle(event, trigger) {\n        if (this.$element.hasClass('is-open')) {\n          this.close(event, trigger);\n        } else {\n          this.open(event, trigger);\n        }\n      }\n\n      /**\n       * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_handleKeyboard',\n      value: function _handleKeyboard(e) {\n        var _this2 = this;\n\n        Foundation.Keyboard.handleKey(e, 'OffCanvas', {\n          close: function () {\n            _this2.close();\n            _this2.$lastTrigger.focus();\n            return true;\n          },\n          handled: function () {\n            e.stopPropagation();\n            e.preventDefault();\n          }\n        });\n      }\n\n      /**\n       * Destroys the offcanvas plugin.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.close();\n        this.$element.off('.zf.trigger .zf.offcanvas');\n        this.$overlay.off('.zf.offcanvas');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return OffCanvas;\n  }();\n\n  OffCanvas.defaults = {\n    /**\n     * Allow the user to click outside of the menu to close it.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n\n    /**\n     * Adds an overlay on top of `[data-off-canvas-content]`.\n     * @option\n     * @example true\n     */\n    contentOverlay: true,\n\n    /**\n     * Enable/disable scrolling of the main content when an off canvas panel is open.\n     * @option\n     * @example true\n     */\n    contentScroll: true,\n\n    /**\n     * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n     * @option\n     * @example 500\n     */\n    transitionTime: 0,\n\n    /**\n     * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n     * @option\n     * @example push\n     */\n    transition: 'push',\n\n    /**\n     * Force the page to scroll to top or bottom on open.\n     * @option\n     * @example top\n     */\n    forceTo: null,\n\n    /**\n     * Allow the offcanvas to remain open for certain breakpoints.\n     * @option\n     * @example false\n     */\n    isRevealed: false,\n\n    /**\n     * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n     * @option\n     * @example reveal-for-large\n     */\n    revealOn: null,\n\n    /**\n     * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n     * @option\n     * @example true\n     */\n    autoFocus: true,\n\n    /**\n     * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n     * @option\n     * TODO improve the regex testing for this.\n     * @example reveal-for-large\n     */\n    revealClass: 'reveal-for-',\n\n    /**\n     * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n     * @option\n     * @example true\n     */\n    trapFocus: false\n  };\n\n  // Window exports\n  Foundation.plugin(OffCanvas, 'OffCanvas');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Orbit module.\n   * @module foundation.orbit\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.timerAndImageLoader\n   * @requires foundation.util.touch\n   */\n\n  var Orbit = function () {\n    /**\n    * Creates a new instance of an orbit carousel.\n    * @class\n    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n    * @param {Object} options - Overrides to the default plugin settings.\n    */\n    function Orbit(element, options) {\n      _classCallCheck(this, Orbit);\n\n      this.$element = element;\n      this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Orbit');\n      Foundation.Keyboard.register('Orbit', {\n        'ltr': {\n          'ARROW_RIGHT': 'next',\n          'ARROW_LEFT': 'previous'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'next',\n          'ARROW_RIGHT': 'previous'\n        }\n      });\n    }\n\n    /**\n    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n    * @function\n    * @private\n    */\n\n\n    _createClass(Orbit, [{\n      key: '_init',\n      value: function _init() {\n        // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n        this._reset();\n\n        this.$wrapper = this.$element.find('.' + this.options.containerClass);\n        this.$slides = this.$element.find('.' + this.options.slideClass);\n\n        var $images = this.$element.find('img'),\n            initActive = this.$slides.filter('.is-active'),\n            id = this.$element[0].id || Foundation.GetYoDigits(6, 'orbit');\n\n        this.$element.attr({\n          'data-resize': id,\n          'id': id\n        });\n\n        if (!initActive.length) {\n          this.$slides.eq(0).addClass('is-active');\n        }\n\n        if (!this.options.useMUI) {\n          this.$slides.addClass('no-motionui');\n        }\n\n        if ($images.length) {\n          Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));\n        } else {\n          this._prepareForOrbit(); //hehe\n        }\n\n        if (this.options.bullets) {\n          this._loadBullets();\n        }\n\n        this._events();\n\n        if (this.options.autoPlay && this.$slides.length > 1) {\n          this.geoSync();\n        }\n\n        if (this.options.accessible) {\n          // allow wrapper to be focusable to enable arrow navigation\n          this.$wrapper.attr('tabindex', 0);\n        }\n      }\n\n      /**\n      * Creates a jQuery collection of bullets, if they are being used.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_loadBullets',\n      value: function _loadBullets() {\n        this.$bullets = this.$element.find('.' + this.options.boxOfBullets).find('button');\n      }\n\n      /**\n      * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n      * @function\n      */\n\n    }, {\n      key: 'geoSync',\n      value: function geoSync() {\n        var _this = this;\n        this.timer = new Foundation.Timer(this.$element, {\n          duration: this.options.timerDelay,\n          infinite: false\n        }, function () {\n          _this.changeSlide(true);\n        });\n        this.timer.start();\n      }\n\n      /**\n      * Sets wrapper and slide heights for the orbit.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_prepareForOrbit',\n      value: function _prepareForOrbit() {\n        var _this = this;\n        this._setWrapperHeight();\n      }\n\n      /**\n      * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n      * @function\n      * @private\n      * @param {Function} cb - a callback function to fire when complete.\n      */\n\n    }, {\n      key: '_setWrapperHeight',\n      value: function _setWrapperHeight(cb) {\n        //rewrite this to `for` loop\n        var max = 0,\n            temp,\n            counter = 0,\n            _this = this;\n\n        this.$slides.each(function () {\n          temp = this.getBoundingClientRect().height;\n          $(this).attr('data-slide', counter);\n\n          if (_this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {\n            //if not the active slide, set css position and display property\n            $(this).css({ 'position': 'relative', 'display': 'none' });\n          }\n          max = temp > max ? temp : max;\n          counter++;\n        });\n\n        if (counter === this.$slides.length) {\n          this.$wrapper.css({ 'height': max }); //only change the wrapper height property once.\n          if (cb) {\n            cb(max);\n          } //fire callback with max height dimension.\n        }\n      }\n\n      /**\n      * Sets the max-height of each slide.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_setSlideHeight',\n      value: function _setSlideHeight(height) {\n        this.$slides.each(function () {\n          $(this).css('max-height', height);\n        });\n      }\n\n      /**\n      * Adds event listeners to basically everything within the element.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        //***************************************\n        //**Now using custom event - thanks to:**\n        //**      Yohai Ararat of Toronto      **\n        //***************************************\n        //\n        this.$element.off('.resizeme.zf.trigger').on({\n          'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n        });\n        if (this.$slides.length > 1) {\n\n          if (this.options.swipe) {\n            this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide(true);\n            }).on('swiperight.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide(false);\n            });\n          }\n          //***************************************\n\n          if (this.options.autoPlay) {\n            this.$slides.on('click.zf.orbit', function () {\n              _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n              _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n            });\n\n            if (this.options.pauseOnHover) {\n              this.$element.on('mouseenter.zf.orbit', function () {\n                _this.timer.pause();\n              }).on('mouseleave.zf.orbit', function () {\n                if (!_this.$element.data('clickedOn')) {\n                  _this.timer.start();\n                }\n              });\n            }\n          }\n\n          if (this.options.navButtons) {\n            var $controls = this.$element.find('.' + this.options.nextClass + ', .' + this.options.prevClass);\n            $controls.attr('tabindex', 0)\n            //also need to handle enter/return and spacebar key presses\n            .on('click.zf.orbit touchend.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide($(this).hasClass(_this.options.nextClass));\n            });\n          }\n\n          if (this.options.bullets) {\n            this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {\n              if (/is-active/g.test(this.className)) {\n                return false;\n              } //if this is active, kick out of function.\n              var idx = $(this).data('slide'),\n                  ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n                  $slide = _this.$slides.eq(idx);\n\n              _this.changeSlide(ltr, $slide, idx);\n            });\n          }\n\n          if (this.options.accessible) {\n            this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {\n              // handle keyboard event with keyboard util\n              Foundation.Keyboard.handleKey(e, 'Orbit', {\n                next: function () {\n                  _this.changeSlide(true);\n                },\n                previous: function () {\n                  _this.changeSlide(false);\n                },\n                handled: function () {\n                  // if bullet is focused, make sure focus moves\n                  if ($(e.target).is(_this.$bullets)) {\n                    _this.$bullets.filter('.is-active').focus();\n                  }\n                }\n              });\n            });\n          }\n        }\n      }\n\n      /**\n       * Resets Orbit so it can be reinitialized\n       */\n\n    }, {\n      key: '_reset',\n      value: function _reset() {\n        // Don't do anything if there are no slides (first run)\n        if (typeof this.$slides == 'undefined') {\n          return;\n        }\n\n        if (this.$slides.length > 1) {\n          // Remove old events\n          this.$element.off('.zf.orbit').find('*').off('.zf.orbit');\n\n          // Restart timer if autoPlay is enabled\n          if (this.options.autoPlay) {\n            this.timer.restart();\n          }\n\n          // Reset all sliddes\n          this.$slides.each(function (el) {\n            $(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();\n          });\n\n          // Show the first slide\n          this.$slides.first().addClass('is-active').show();\n\n          // Triggers when the slide has finished animating\n          this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n          // Select first bullet if bullets are present\n          if (this.options.bullets) {\n            this._updateBullets(0);\n          }\n        }\n      }\n\n      /**\n      * Changes the current slide to a new one.\n      * @function\n      * @param {Boolean} isLTR - flag if the slide should move left to right.\n      * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n      * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n      * @fires Orbit#slidechange\n      */\n\n    }, {\n      key: 'changeSlide',\n      value: function changeSlide(isLTR, chosenSlide, idx) {\n        if (!this.$slides) {\n          return;\n        } // Don't freak out if we're in the middle of cleanup\n        var $curSlide = this.$slides.filter('.is-active').eq(0);\n\n        if (/mui/g.test($curSlide[0].className)) {\n          return false;\n        } //if the slide is currently animating, kick out of the function\n\n        var $firstSlide = this.$slides.first(),\n            $lastSlide = this.$slides.last(),\n            dirIn = isLTR ? 'Right' : 'Left',\n            dirOut = isLTR ? 'Left' : 'Right',\n            _this = this,\n            $newSlide;\n\n        if (!chosenSlide) {\n          //most of the time, this will be auto played or clicked from the navButtons.\n          $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n          this.options.infiniteWrap ? $curSlide.next('.' + this.options.slideClass).length ? $curSlide.next('.' + this.options.slideClass) : $firstSlide : $curSlide.next('.' + this.options.slideClass) : //pick next slide if moving left to right\n          this.options.infiniteWrap ? $curSlide.prev('.' + this.options.slideClass).length ? $curSlide.prev('.' + this.options.slideClass) : $lastSlide : $curSlide.prev('.' + this.options.slideClass); //pick prev slide if moving right to left\n        } else {\n          $newSlide = chosenSlide;\n        }\n\n        if ($newSlide.length) {\n          /**\n          * Triggers before the next slide starts animating in and only if a next slide has been found.\n          * @event Orbit#beforeslidechange\n          */\n          this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n\n          if (this.options.bullets) {\n            idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n            this._updateBullets(idx);\n          }\n\n          if (this.options.useMUI && !this.$element.is(':hidden')) {\n            Foundation.Motion.animateIn($newSlide.addClass('is-active').css({ 'position': 'absolute', 'top': 0 }), this.options['animInFrom' + dirIn], function () {\n              $newSlide.css({ 'position': 'relative', 'display': 'block' }).attr('aria-live', 'polite');\n            });\n\n            Foundation.Motion.animateOut($curSlide.removeClass('is-active'), this.options['animOutTo' + dirOut], function () {\n              $curSlide.removeAttr('aria-live');\n              if (_this.options.autoPlay && !_this.timer.isPaused) {\n                _this.timer.restart();\n              }\n              //do stuff?\n            });\n          } else {\n            $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n            $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n            if (this.options.autoPlay && !this.timer.isPaused) {\n              this.timer.restart();\n            }\n          }\n          /**\n          * Triggers when the slide has finished animating in.\n          * @event Orbit#slidechange\n          */\n          this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n        }\n      }\n\n      /**\n      * Updates the active state of the bullets, if displayed.\n      * @function\n      * @private\n      * @param {Number} idx - the index of the current slide.\n      */\n\n    }, {\n      key: '_updateBullets',\n      value: function _updateBullets(idx) {\n        var $oldBullet = this.$element.find('.' + this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),\n            span = $oldBullet.find('span:last').detach(),\n            $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);\n      }\n\n      /**\n      * Destroys the carousel and hides the element.\n      * @function\n      */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Orbit;\n  }();\n\n  Orbit.defaults = {\n    /**\n    * Tells the JS to look for and loadBullets.\n    * @option\n    * @example true\n    */\n    bullets: true,\n    /**\n    * Tells the JS to apply event listeners to nav buttons\n    * @option\n    * @example true\n    */\n    navButtons: true,\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-in-right'\n    */\n    animInFromRight: 'slide-in-right',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-out-right'\n    */\n    animOutToRight: 'slide-out-right',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-in-left'\n    *\n    */\n    animInFromLeft: 'slide-in-left',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-out-left'\n    */\n    animOutToLeft: 'slide-out-left',\n    /**\n    * Allows Orbit to automatically animate on page load.\n    * @option\n    * @example true\n    */\n    autoPlay: true,\n    /**\n    * Amount of time, in ms, between slide transitions\n    * @option\n    * @example 5000\n    */\n    timerDelay: 5000,\n    /**\n    * Allows Orbit to infinitely loop through the slides\n    * @option\n    * @example true\n    */\n    infiniteWrap: true,\n    /**\n    * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n    * @option\n    * @example true\n    */\n    swipe: true,\n    /**\n    * Allows the timing function to pause animation on hover.\n    * @option\n    * @example true\n    */\n    pauseOnHover: true,\n    /**\n    * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n    * @option\n    * @example true\n    */\n    accessible: true,\n    /**\n    * Class applied to the container of Orbit\n    * @option\n    * @example 'orbit-container'\n    */\n    containerClass: 'orbit-container',\n    /**\n    * Class applied to individual slides.\n    * @option\n    * @example 'orbit-slide'\n    */\n    slideClass: 'orbit-slide',\n    /**\n    * Class applied to the bullet container. You're welcome.\n    * @option\n    * @example 'orbit-bullets'\n    */\n    boxOfBullets: 'orbit-bullets',\n    /**\n    * Class applied to the `next` navigation button.\n    * @option\n    * @example 'orbit-next'\n    */\n    nextClass: 'orbit-next',\n    /**\n    * Class applied to the `previous` navigation button.\n    * @option\n    * @example 'orbit-previous'\n    */\n    prevClass: 'orbit-previous',\n    /**\n    * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.\n    * @option\n    * @example true\n    */\n    useMUI: true\n  };\n\n  // Window exports\n  Foundation.plugin(Orbit, 'Orbit');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveMenu module.\n   * @module foundation.responsiveMenu\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.accordionMenu\n   * @requires foundation.util.drilldown\n   * @requires foundation.util.dropdown-menu\n   */\n\n  var ResponsiveMenu = function () {\n    /**\n     * Creates a new instance of a responsive menu.\n     * @class\n     * @fires ResponsiveMenu#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveMenu(element, options) {\n      _classCallCheck(this, ResponsiveMenu);\n\n      this.$element = $(element);\n      this.rules = this.$element.data('responsive-menu');\n      this.currentMq = null;\n      this.currentPlugin = null;\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveMenu');\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveMenu, [{\n      key: '_init',\n      value: function _init() {\n        // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n        if (typeof this.rules === 'string') {\n          var rulesTree = {};\n\n          // Parse rules from \"classes\" pulled from data attribute\n          var rules = this.rules.split(' ');\n\n          // Iterate through every rule found\n          for (var i = 0; i < rules.length; i++) {\n            var rule = rules[i].split('-');\n            var ruleSize = rule.length > 1 ? rule[0] : 'small';\n            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n            if (MenuPlugins[rulePlugin] !== null) {\n              rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n            }\n          }\n\n          this.rules = rulesTree;\n        }\n\n        if (!$.isEmptyObject(this.rules)) {\n          this._checkMediaQueries();\n        }\n        // Add data-mutate since children may need it.\n        this.$element.attr('data-mutate', this.$element.attr('data-mutate') || Foundation.GetYoDigits(6, 'responsive-menu'));\n      }\n\n      /**\n       * Initializes events for the Menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          _this._checkMediaQueries();\n        });\n        // $(window).on('resize.zf.ResponsiveMenu', function() {\n        //   _this._checkMediaQueries();\n        // });\n      }\n\n      /**\n       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_checkMediaQueries',\n      value: function _checkMediaQueries() {\n        var matchedMq,\n            _this = this;\n        // Iterate through each rule and find the last matching rule\n        $.each(this.rules, function (key) {\n          if (Foundation.MediaQuery.atLeast(key)) {\n            matchedMq = key;\n          }\n        });\n\n        // No match? No dice\n        if (!matchedMq) return;\n\n        // Plugin already initialized? We good\n        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n        // Remove existing plugin-specific CSS classes\n        $.each(MenuPlugins, function (key, value) {\n          _this.$element.removeClass(value.cssClass);\n        });\n\n        // Add the CSS class for the new plugin\n        this.$element.addClass(this.rules[matchedMq].cssClass);\n\n        // Create an instance of the new plugin\n        if (this.currentPlugin) this.currentPlugin.destroy();\n        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n      }\n\n      /**\n       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.currentPlugin.destroy();\n        $(window).off('.zf.ResponsiveMenu');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveMenu;\n  }();\n\n  ResponsiveMenu.defaults = {};\n\n  // The plugin matches the plugin classes with these plugin instances.\n  var MenuPlugins = {\n    dropdown: {\n      cssClass: 'dropdown',\n      plugin: Foundation._plugins['dropdown-menu'] || null\n    },\n    drilldown: {\n      cssClass: 'drilldown',\n      plugin: Foundation._plugins['drilldown'] || null\n    },\n    accordion: {\n      cssClass: 'accordion-menu',\n      plugin: Foundation._plugins['accordion-menu'] || null\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveToggle module.\n   * @module foundation.responsiveToggle\n   * @requires foundation.util.mediaQuery\n   */\n\n  var ResponsiveToggle = function () {\n    /**\n     * Creates a new instance of Tab Bar.\n     * @class\n     * @fires ResponsiveToggle#init\n     * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveToggle(element, options) {\n      _classCallCheck(this, ResponsiveToggle);\n\n      this.$element = $(element);\n      this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveToggle');\n    }\n\n    /**\n     * Initializes the tab bar by finding the target element, toggling element, and running update().\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveToggle, [{\n      key: '_init',\n      value: function _init() {\n        var targetID = this.$element.data('responsive-toggle');\n        if (!targetID) {\n          console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n        }\n\n        this.$targetMenu = $('#' + targetID);\n        this.$toggler = this.$element.find('[data-toggle]');\n        this.options = $.extend({}, this.options, this.$targetMenu.data());\n\n        // If they were set, parse the animation classes\n        if (this.options.animate) {\n          var input = this.options.animate.split(' ');\n\n          this.animationIn = input[0];\n          this.animationOut = input[1] || null;\n        }\n\n        this._update();\n      }\n\n      /**\n       * Adds necessary event handlers for the tab bar to work.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this._updateMqHandler = this._update.bind(this);\n\n        $(window).on('changed.zf.mediaquery', this._updateMqHandler);\n\n        this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n      }\n\n      /**\n       * Checks the current media query to determine if the tab bar should be visible or hidden.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_update',\n      value: function _update() {\n        // Mobile\n        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n          this.$element.show();\n          this.$targetMenu.hide();\n        }\n\n        // Desktop\n        else {\n            this.$element.hide();\n            this.$targetMenu.show();\n          }\n      }\n\n      /**\n       * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n       * @function\n       * @fires ResponsiveToggle#toggled\n       */\n\n    }, {\n      key: 'toggleMenu',\n      value: function toggleMenu() {\n        var _this2 = this;\n\n        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n          if (this.options.animate) {\n            if (this.$targetMenu.is(':hidden')) {\n              Foundation.Motion.animateIn(this.$targetMenu, this.animationIn, function () {\n                /**\n                 * Fires when the element attached to the tab bar toggles.\n                 * @event ResponsiveToggle#toggled\n                 */\n                _this2.$element.trigger('toggled.zf.responsiveToggle');\n                _this2.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n              });\n            } else {\n              Foundation.Motion.animateOut(this.$targetMenu, this.animationOut, function () {\n                /**\n                 * Fires when the element attached to the tab bar toggles.\n                 * @event ResponsiveToggle#toggled\n                 */\n                _this2.$element.trigger('toggled.zf.responsiveToggle');\n              });\n            }\n          } else {\n            this.$targetMenu.toggle(0);\n            this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n\n            /**\n             * Fires when the element attached to the tab bar toggles.\n             * @event ResponsiveToggle#toggled\n             */\n            this.$element.trigger('toggled.zf.responsiveToggle');\n          }\n        }\n      }\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.responsiveToggle');\n        this.$toggler.off('.zf.responsiveToggle');\n\n        $(window).off('changed.zf.mediaquery', this._updateMqHandler);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveToggle;\n  }();\n\n  ResponsiveToggle.defaults = {\n    /**\n     * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n     * @option\n     * @example 'medium'\n     */\n    hideFor: 'medium',\n\n    /**\n     * To decide if the toggle should be animated or not.\n     * @option\n     * @example false\n     */\n    animate: false\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Reveal module.\n   * @module foundation.reveal\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.motion if using animations\n   */\n\n  var Reveal = function () {\n    /**\n     * Creates a new instance of Reveal.\n     * @class\n     * @param {jQuery} element - jQuery object to use for the modal.\n     * @param {Object} options - optional parameters.\n     */\n    function Reveal(element, options) {\n      _classCallCheck(this, Reveal);\n\n      this.$element = element;\n      this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n      this._init();\n\n      Foundation.registerPlugin(this, 'Reveal');\n      Foundation.Keyboard.register('Reveal', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the modal by adding the overlay and close buttons, (if selected).\n     * @private\n     */\n\n\n    _createClass(Reveal, [{\n      key: '_init',\n      value: function _init() {\n        this.id = this.$element.attr('id');\n        this.isActive = false;\n        this.cached = { mq: Foundation.MediaQuery.current };\n        this.isMobile = mobileSniff();\n\n        this.$anchor = $('[data-open=\"' + this.id + '\"]').length ? $('[data-open=\"' + this.id + '\"]') : $('[data-toggle=\"' + this.id + '\"]');\n        this.$anchor.attr({\n          'aria-controls': this.id,\n          'aria-haspopup': true,\n          'tabindex': 0\n        });\n\n        if (this.options.fullScreen || this.$element.hasClass('full')) {\n          this.options.fullScreen = true;\n          this.options.overlay = false;\n        }\n        if (this.options.overlay && !this.$overlay) {\n          this.$overlay = this._makeOverlay(this.id);\n        }\n\n        this.$element.attr({\n          'role': 'dialog',\n          'aria-hidden': true,\n          'data-yeti-box': this.id,\n          'data-resize': this.id\n        });\n\n        if (this.$overlay) {\n          this.$element.detach().appendTo(this.$overlay);\n        } else {\n          this.$element.detach().appendTo($(this.options.appendTo));\n          this.$element.addClass('without-overlay');\n        }\n        this._events();\n        if (this.options.deepLink && window.location.hash === '#' + this.id) {\n          $(window).one('load.zf.reveal', this.open.bind(this));\n        }\n      }\n\n      /**\n       * Creates an overlay div to display behind the modal.\n       * @private\n       */\n\n    }, {\n      key: '_makeOverlay',\n      value: function _makeOverlay() {\n        return $('<div></div>').addClass('reveal-overlay').appendTo(this.options.appendTo);\n      }\n\n      /**\n       * Updates position of modal\n       * TODO:  Figure out if we actually need to cache these values or if it doesn't matter\n       * @private\n       */\n\n    }, {\n      key: '_updatePosition',\n      value: function _updatePosition() {\n        var width = this.$element.outerWidth();\n        var outerWidth = $(window).width();\n        var height = this.$element.outerHeight();\n        var outerHeight = $(window).height();\n        var left, top;\n        if (this.options.hOffset === 'auto') {\n          left = parseInt((outerWidth - width) / 2, 10);\n        } else {\n          left = parseInt(this.options.hOffset, 10);\n        }\n        if (this.options.vOffset === 'auto') {\n          if (height > outerHeight) {\n            top = parseInt(Math.min(100, outerHeight / 10), 10);\n          } else {\n            top = parseInt((outerHeight - height) / 4, 10);\n          }\n        } else {\n          top = parseInt(this.options.vOffset, 10);\n        }\n        this.$element.css({ top: top + 'px' });\n        // only worry about left if we don't have an overlay or we havea  horizontal offset,\n        // otherwise we're perfectly in the middle\n        if (!this.$overlay || this.options.hOffset !== 'auto') {\n          this.$element.css({ left: left + 'px' });\n          this.$element.css({ margin: '0px' });\n        }\n      }\n\n      /**\n       * Adds event handlers for the modal.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        var _this = this;\n\n        this.$element.on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': function (event, $element) {\n            if (event.target === _this.$element[0] || $(event.target).parents('[data-closable]')[0] === $element) {\n              // only close reveal when it's explicitly called\n              return _this2.close.apply(_this2);\n            }\n          },\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'resizeme.zf.trigger': function () {\n            _this._updatePosition();\n          }\n        });\n\n        if (this.$anchor.length) {\n          this.$anchor.on('keydown.zf.reveal', function (e) {\n            if (e.which === 13 || e.which === 32) {\n              e.stopPropagation();\n              e.preventDefault();\n              _this.open();\n            }\n          });\n        }\n\n        if (this.options.closeOnClick && this.options.overlay) {\n          this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {\n            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target) || !$.contains(document, e.target)) {\n              return;\n            }\n            _this.close();\n          });\n        }\n        if (this.options.deepLink) {\n          $(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));\n        }\n      }\n\n      /**\n       * Handles modal methods on back/forward button clicks or any other event that triggers popstate.\n       * @private\n       */\n\n    }, {\n      key: '_handleState',\n      value: function _handleState(e) {\n        if (window.location.hash === '#' + this.id && !this.isActive) {\n          this.open();\n        } else {\n          this.close();\n        }\n      }\n\n      /**\n       * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n       * @function\n       * @fires Reveal#closeme\n       * @fires Reveal#open\n       */\n\n    }, {\n      key: 'open',\n      value: function open() {\n        var _this3 = this;\n\n        if (this.options.deepLink) {\n          var hash = '#' + this.id;\n\n          if (window.history.pushState) {\n            window.history.pushState(null, null, hash);\n          } else {\n            window.location.hash = hash;\n          }\n        }\n\n        this.isActive = true;\n\n        // Make elements invisible, but remove display: none so we can get size and positioning\n        this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);\n        if (this.options.overlay) {\n          this.$overlay.css({ 'visibility': 'hidden' }).show();\n        }\n\n        this._updatePosition();\n\n        this.$element.hide().css({ 'visibility': '' });\n\n        if (this.$overlay) {\n          this.$overlay.css({ 'visibility': '' }).hide();\n          if (this.$element.hasClass('fast')) {\n            this.$overlay.addClass('fast');\n          } else if (this.$element.hasClass('slow')) {\n            this.$overlay.addClass('slow');\n          }\n        }\n\n        if (!this.options.multipleOpened) {\n          /**\n           * Fires immediately before the modal opens.\n           * Closes any other modals that are currently open\n           * @event Reveal#closeme\n           */\n          this.$element.trigger('closeme.zf.reveal', this.id);\n        }\n\n        var _this = this;\n\n        function addRevealOpenClasses() {\n          if (_this.isMobile) {\n            if (!_this.originalScrollPos) {\n              _this.originalScrollPos = window.pageYOffset;\n            }\n            $('html, body').addClass('is-reveal-open');\n          } else {\n            $('body').addClass('is-reveal-open');\n          }\n        }\n        // Motion UI method of reveal\n        if (this.options.animationIn) {\n          (function () {\n            var afterAnimation = function () {\n              _this.$element.attr({\n                'aria-hidden': false,\n                'tabindex': -1\n              }).focus();\n              addRevealOpenClasses();\n              Foundation.Keyboard.trapFocus(_this.$element);\n            };\n\n            if (_this3.options.overlay) {\n              Foundation.Motion.animateIn(_this3.$overlay, 'fade-in');\n            }\n            Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function () {\n              if (_this3.$element) {\n                // protect against object having been removed\n                _this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element);\n                afterAnimation();\n              }\n            });\n          })();\n        }\n        // jQuery method of reveal\n        else {\n            if (this.options.overlay) {\n              this.$overlay.show(0);\n            }\n            this.$element.show(this.options.showDelay);\n          }\n\n        // handle accessibility\n        this.$element.attr({\n          'aria-hidden': false,\n          'tabindex': -1\n        }).focus();\n        Foundation.Keyboard.trapFocus(this.$element);\n\n        /**\n         * Fires when the modal has successfully opened.\n         * @event Reveal#open\n         */\n        this.$element.trigger('open.zf.reveal');\n\n        addRevealOpenClasses();\n\n        setTimeout(function () {\n          _this3._extraHandlers();\n        }, 0);\n      }\n\n      /**\n       * Adds extra event handlers for the body and window if necessary.\n       * @private\n       */\n\n    }, {\n      key: '_extraHandlers',\n      value: function _extraHandlers() {\n        var _this = this;\n        if (!this.$element) {\n          return;\n        } // If we're in the middle of cleanup, don't freak out\n        this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);\n\n        if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n          $('body').on('click.zf.reveal', function (e) {\n            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target) || !$.contains(document, e.target)) {\n              return;\n            }\n            _this.close();\n          });\n        }\n\n        if (this.options.closeOnEsc) {\n          $(window).on('keydown.zf.reveal', function (e) {\n            Foundation.Keyboard.handleKey(e, 'Reveal', {\n              close: function () {\n                if (_this.options.closeOnEsc) {\n                  _this.close();\n                  _this.$anchor.focus();\n                }\n              }\n            });\n          });\n        }\n\n        // lock focus within modal while tabbing\n        this.$element.on('keydown.zf.reveal', function (e) {\n          var $target = $(this);\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Reveal', {\n            open: function () {\n              if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {\n                setTimeout(function () {\n                  // set focus back to anchor if close button has been activated\n                  _this.$anchor.focus();\n                }, 1);\n              } else if ($target.is(_this.focusableElements)) {\n                // dont't trigger if acual element has focus (i.e. inputs, links, ...)\n                _this.open();\n              }\n            },\n            close: function () {\n              if (_this.options.closeOnEsc) {\n                _this.close();\n                _this.$anchor.focus();\n              }\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n            }\n          });\n        });\n      }\n\n      /**\n       * Closes the modal.\n       * @function\n       * @fires Reveal#closed\n       */\n\n    }, {\n      key: 'close',\n      value: function close() {\n        if (!this.isActive || !this.$element.is(':visible')) {\n          return false;\n        }\n        var _this = this;\n\n        // Motion UI method of hiding\n        if (this.options.animationOut) {\n          if (this.options.overlay) {\n            Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);\n          } else {\n            finishUp();\n          }\n\n          Foundation.Motion.animateOut(this.$element, this.options.animationOut);\n        }\n        // jQuery method of hiding\n        else {\n            if (this.options.overlay) {\n              this.$overlay.hide(0, finishUp);\n            } else {\n              finishUp();\n            }\n\n            this.$element.hide(this.options.hideDelay);\n          }\n\n        // Conditionals to remove extra event listeners added on open\n        if (this.options.closeOnEsc) {\n          $(window).off('keydown.zf.reveal');\n        }\n\n        if (!this.options.overlay && this.options.closeOnClick) {\n          $('body').off('click.zf.reveal');\n        }\n\n        this.$element.off('keydown.zf.reveal');\n\n        function finishUp() {\n          if (_this.isMobile) {\n            $('html, body').removeClass('is-reveal-open');\n            if (_this.originalScrollPos) {\n              $('body').scrollTop(_this.originalScrollPos);\n              _this.originalScrollPos = null;\n            }\n          } else {\n            $('body').removeClass('is-reveal-open');\n          }\n\n          Foundation.Keyboard.releaseFocus(_this.$element);\n\n          _this.$element.attr('aria-hidden', true);\n\n          /**\n          * Fires when the modal is done closing.\n          * @event Reveal#closed\n          */\n          _this.$element.trigger('closed.zf.reveal');\n        }\n\n        /**\n        * Resets the modal content\n        * This prevents a running video to keep going in the background\n        */\n        if (this.options.resetOnClose) {\n          this.$element.html(this.$element.html());\n        }\n\n        this.isActive = false;\n        if (_this.options.deepLink) {\n          if (window.history.replaceState) {\n            window.history.replaceState('', document.title, window.location.href.replace('#' + this.id, ''));\n          } else {\n            window.location.hash = '';\n          }\n        }\n      }\n\n      /**\n       * Toggles the open/closed state of a modal.\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.isActive) {\n          this.close();\n        } else {\n          this.open();\n        }\n      }\n    }, {\n      key: 'destroy',\n\n\n      /**\n       * Destroys an instance of a modal.\n       * @function\n       */\n      value: function destroy() {\n        if (this.options.overlay) {\n          this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n          this.$overlay.hide().off().remove();\n        }\n        this.$element.hide().off();\n        this.$anchor.off('.zf');\n        $(window).off('.zf.reveal:' + this.id);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Reveal;\n  }();\n\n  Reveal.defaults = {\n    /**\n     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n     * @option\n     * @example 'slide-in-left'\n     */\n    animationIn: '',\n    /**\n     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n     * @option\n     * @example 'slide-out-right'\n     */\n    animationOut: '',\n    /**\n     * Time, in ms, to delay the opening of a modal after a click if no animation used.\n     * @option\n     * @example 10\n     */\n    showDelay: 0,\n    /**\n     * Time, in ms, to delay the closing of a modal after a click if no animation used.\n     * @option\n     * @example 10\n     */\n    hideDelay: 0,\n    /**\n     * Allows a click on the body/overlay to close the modal.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n    /**\n     * Allows the modal to close if the user presses the `ESCAPE` key.\n     * @option\n     * @example true\n     */\n    closeOnEsc: true,\n    /**\n     * If true, allows multiple modals to be displayed at once.\n     * @option\n     * @example false\n     */\n    multipleOpened: false,\n    /**\n     * Distance, in pixels, the modal should push down from the top of the screen.\n     * @option\n     * @example auto\n     */\n    vOffset: 'auto',\n    /**\n     * Distance, in pixels, the modal should push in from the side of the screen.\n     * @option\n     * @example auto\n     */\n    hOffset: 'auto',\n    /**\n     * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n     * @option\n     * @example false\n     */\n    fullScreen: false,\n    /**\n     * Percentage of screen height the modal should push up from the bottom of the view.\n     * @option\n     * @example 10\n     */\n    btmOffsetPct: 10,\n    /**\n     * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n     * @option\n     * @example true\n     */\n    overlay: true,\n    /**\n     * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n     * @option\n     * @example false\n     */\n    resetOnClose: false,\n    /**\n     * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.\n     * @option\n     * @example false\n     */\n    deepLink: false,\n    /**\n    * Allows the modal to append to custom div.\n    * @option\n    * @example false\n    */\n    appendTo: \"body\"\n\n  };\n\n  // Window exports\n  Foundation.plugin(Reveal, 'Reveal');\n\n  function iPhoneSniff() {\n    return (/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)\n    );\n  }\n\n  function androidSniff() {\n    return (/Android/.test(window.navigator.userAgent)\n    );\n  }\n\n  function mobileSniff() {\n    return iPhoneSniff() || androidSniff();\n  }\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Slider module.\n   * @module foundation.slider\n   * @requires foundation.util.motion\n   * @requires foundation.util.triggers\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.touch\n   */\n\n  var Slider = function () {\n    /**\n     * Creates a new instance of a slider control.\n     * @class\n     * @param {jQuery} element - jQuery object to make into a slider control.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Slider(element, options) {\n      _classCallCheck(this, Slider);\n\n      this.$element = element;\n      this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Slider');\n      Foundation.Keyboard.register('Slider', {\n        'ltr': {\n          'ARROW_RIGHT': 'increase',\n          'ARROW_UP': 'increase',\n          'ARROW_DOWN': 'decrease',\n          'ARROW_LEFT': 'decrease',\n          'SHIFT_ARROW_RIGHT': 'increase_fast',\n          'SHIFT_ARROW_UP': 'increase_fast',\n          'SHIFT_ARROW_DOWN': 'decrease_fast',\n          'SHIFT_ARROW_LEFT': 'decrease_fast'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'increase',\n          'ARROW_RIGHT': 'decrease',\n          'SHIFT_ARROW_LEFT': 'increase_fast',\n          'SHIFT_ARROW_RIGHT': 'decrease_fast'\n        }\n      });\n    }\n\n    /**\n     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n     * @function\n     * @private\n     */\n\n\n    _createClass(Slider, [{\n      key: '_init',\n      value: function _init() {\n        this.inputs = this.$element.find('input');\n        this.handles = this.$element.find('[data-slider-handle]');\n\n        this.$handle = this.handles.eq(0);\n        this.$input = this.inputs.length ? this.inputs.eq(0) : $('#' + this.$handle.attr('aria-controls'));\n        this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n        var isDbl = false,\n            _this = this;\n        if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n          this.options.disabled = true;\n          this.$element.addClass(this.options.disabledClass);\n        }\n        if (!this.inputs.length) {\n          this.inputs = $().add(this.$input);\n          this.options.binding = true;\n        }\n\n        this._setInitAttr(0);\n\n        if (this.handles[1]) {\n          this.options.doubleSided = true;\n          this.$handle2 = this.handles.eq(1);\n          this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $('#' + this.$handle2.attr('aria-controls'));\n\n          if (!this.inputs[1]) {\n            this.inputs = this.inputs.add(this.$input2);\n          }\n          isDbl = true;\n\n          // this.$handle.triggerHandler('click.zf.slider');\n          this._setInitAttr(1);\n        }\n\n        // Set handle positions\n        this.setHandles();\n\n        this._events();\n      }\n    }, {\n      key: 'setHandles',\n      value: function setHandles() {\n        var _this2 = this;\n\n        if (this.handles[1]) {\n          this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true, function () {\n            _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val(), true);\n          });\n        } else {\n          this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true);\n        }\n      }\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        this.setHandles();\n      }\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n      */\n\n    }, {\n      key: '_pctOfBar',\n      value: function _pctOfBar(value) {\n        var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start);\n\n        switch (this.options.positionValueFunction) {\n          case \"pow\":\n            pctOfBar = this._logTransform(pctOfBar);\n            break;\n          case \"log\":\n            pctOfBar = this._powTransform(pctOfBar);\n            break;\n        }\n\n        return pctOfBar.toFixed(2);\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n      */\n\n    }, {\n      key: '_value',\n      value: function _value(pctOfBar) {\n        switch (this.options.positionValueFunction) {\n          case \"pow\":\n            pctOfBar = this._powTransform(pctOfBar);\n            break;\n          case \"log\":\n            pctOfBar = this._logTransform(pctOfBar);\n            break;\n        }\n        var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;\n\n        return value;\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n      */\n\n    }, {\n      key: '_logTransform',\n      value: function _logTransform(value) {\n        return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1);\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n      */\n\n    }, {\n      key: '_powTransform',\n      value: function _powTransform(value) {\n        return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1);\n      }\n\n      /**\n       * Sets the position of the selected handle and fill bar.\n       * @function\n       * @private\n       * @param {jQuery} $hndl - the selected handle to move.\n       * @param {Number} location - floating point between the start and end values of the slider bar.\n       * @param {Function} cb - callback function to fire on completion.\n       * @fires Slider#moved\n       * @fires Slider#changed\n       */\n\n    }, {\n      key: '_setHandlePos',\n      value: function _setHandlePos($hndl, location, noInvert, cb) {\n        // don't move if the slider has been disabled since its initialization\n        if (this.$element.hasClass(this.options.disabledClass)) {\n          return;\n        }\n        //might need to alter that slightly for bars that will have odd number selections.\n        location = parseFloat(location); //on input change events, convert string to number...grumble.\n\n        // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n        if (location < this.options.start) {\n          location = this.options.start;\n        } else if (location > this.options.end) {\n          location = this.options.end;\n        }\n\n        var isDbl = this.options.doubleSided;\n\n        if (isDbl) {\n          //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n          if (this.handles.index($hndl) === 0) {\n            var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n            location = location >= h2Val ? h2Val - this.options.step : location;\n          } else {\n            var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n            location = location <= h1Val ? h1Val + this.options.step : location;\n          }\n        }\n\n        //this is for single-handled vertical sliders, it adjusts the value to account for the slider being \"upside-down\"\n        //for click and drag events, it's weird due to the scale(-1, 1) css property\n        if (this.options.vertical && !noInvert) {\n          location = this.options.end - location;\n        }\n\n        var _this = this,\n            vert = this.options.vertical,\n            hOrW = vert ? 'height' : 'width',\n            lOrT = vert ? 'top' : 'left',\n            handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n            elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n        location = parseFloat(location.toFixed(this.options.decimal));\n        // declare empty object for css adjustments, only used with 2 handled-sliders\n        var css = {};\n\n        this._setValues($hndl, location);\n\n        // TODO update to calculate based on values set to respective inputs??\n        if (isDbl) {\n          var isLeftHndl = this.handles.index($hndl) === 0,\n\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n\n          //percentage w/h of the handle compared to the slider bar\n          handlePct = ~~(percent(handleDim, elemDim) * 100);\n          //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n          if (isLeftHndl) {\n            //left or top percentage value to apply to the fill bar.\n            css[lOrT] = movement + '%';\n            //calculate the new min-height/width for the fill bar.\n            dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n            //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n            //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n            if (cb && typeof cb === 'function') {\n              cb();\n            } //this is only needed for the initialization of 2 handled sliders\n          } else {\n            //just caching the value of the left/bottom handle's left/top property\n            var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n            //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n            //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n            dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;\n          }\n          // assign the min-height/width to our css object\n          css['min-' + hOrW] = dim + '%';\n        }\n\n        this.$element.one('finished.zf.animate', function () {\n          /**\n           * Fires when the handle is done moving.\n           * @event Slider#moved\n           */\n          _this.$element.trigger('moved.zf.slider', [$hndl]);\n        });\n\n        //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n        var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;\n\n        Foundation.Move(moveTime, $hndl, function () {\n          // adjusting the left/top property of the handle, based on the percentage calculated above\n          // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n          // fall back to next best guess.\n          if (isNaN(movement)) {\n            $hndl.css(lOrT, pctOfBar * 100 + '%');\n          } else {\n            $hndl.css(lOrT, movement + '%');\n          }\n\n          if (!_this.options.doubleSided) {\n            //if single-handled, a simple method to expand the fill bar\n            _this.$fill.css(hOrW, pctOfBar * 100 + '%');\n          } else {\n            //otherwise, use the css object we created above\n            _this.$fill.css(css);\n          }\n        });\n\n        /**\n         * Fires when the value has not been change for a given time.\n         * @event Slider#changed\n         */\n        clearTimeout(_this.timeout);\n        _this.timeout = setTimeout(function () {\n          _this.$element.trigger('changed.zf.slider', [$hndl]);\n        }, _this.options.changedDelay);\n      }\n\n      /**\n       * Sets the initial attribute for the slider element.\n       * @function\n       * @private\n       * @param {Number} idx - index of the current handle/input to use.\n       */\n\n    }, {\n      key: '_setInitAttr',\n      value: function _setInitAttr(idx) {\n        var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd;\n        var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');\n        this.inputs.eq(idx).attr({\n          'id': id,\n          'max': this.options.end,\n          'min': this.options.start,\n          'step': this.options.step\n        });\n        this.inputs.eq(idx).val(initVal);\n        this.handles.eq(idx).attr({\n          'role': 'slider',\n          'aria-controls': id,\n          'aria-valuemax': this.options.end,\n          'aria-valuemin': this.options.start,\n          'aria-valuenow': initVal,\n          'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n          'tabindex': 0\n        });\n      }\n\n      /**\n       * Sets the input and `aria-valuenow` values for the slider element.\n       * @function\n       * @private\n       * @param {jQuery} $handle - the currently selected handle.\n       * @param {Number} val - floating point of the new value.\n       */\n\n    }, {\n      key: '_setValues',\n      value: function _setValues($handle, val) {\n        var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n        this.inputs.eq(idx).val(val);\n        $handle.attr('aria-valuenow', val);\n      }\n\n      /**\n       * Handles events on the slider element.\n       * Calculates the new location of the current handle.\n       * If there are two handles and the bar was clicked, it determines which handle to move.\n       * @function\n       * @private\n       * @param {Object} e - the `event` object passed from the listener.\n       * @param {jQuery} $handle - the current handle to calculate for, if selected.\n       * @param {Number} val - floating point number for the new value of the slider.\n       * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n       */\n\n    }, {\n      key: '_handleEvent',\n      value: function _handleEvent(e, $handle, val) {\n        var value, hasVal;\n        if (!val) {\n          //click or drag events\n          e.preventDefault();\n          var _this = this,\n              vertical = this.options.vertical,\n              param = vertical ? 'height' : 'width',\n              direction = vertical ? 'top' : 'left',\n              eventOffset = vertical ? e.pageY : e.pageX,\n              halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,\n              barDim = this.$element[0].getBoundingClientRect()[param],\n              windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n          var elemOffset = this.$element.offset()[direction];\n\n          // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n          // best way to guess this is simulated is if clientY == pageY\n          if (e.clientY === e.pageY) {\n            eventOffset = eventOffset + windowScroll;\n          }\n          var eventFromBar = eventOffset - elemOffset;\n          var barXY;\n          if (eventFromBar < 0) {\n            barXY = 0;\n          } else if (eventFromBar > barDim) {\n            barXY = barDim;\n          } else {\n            barXY = eventFromBar;\n          }\n          var offsetPct = percent(barXY, barDim);\n\n          value = this._value(offsetPct);\n\n          // turn everything around for RTL, yay math!\n          if (Foundation.rtl() && !this.options.vertical) {\n            value = this.options.end - value;\n          }\n\n          value = _this._adjustValue(null, value);\n          //boolean flag for the setHandlePos fn, specifically for vertical sliders\n          hasVal = false;\n\n          if (!$handle) {\n            //figure out which handle it is, pass it to the next function.\n            var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n                secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n          }\n        } else {\n          //change event on input\n          value = this._adjustValue(null, val);\n          hasVal = true;\n        }\n\n        this._setHandlePos($handle, value, hasVal);\n      }\n\n      /**\n       * Adjustes value for handle in regard to step value. returns adjusted value\n       * @function\n       * @private\n       * @param {jQuery} $handle - the selected handle.\n       * @param {Number} value - value to adjust. used if $handle is falsy\n       */\n\n    }, {\n      key: '_adjustValue',\n      value: function _adjustValue($handle, value) {\n        var val,\n            step = this.options.step,\n            div = parseFloat(step / 2),\n            left,\n            prev_val,\n            next_val;\n        if (!!$handle) {\n          val = parseFloat($handle.attr('aria-valuenow'));\n        } else {\n          val = value;\n        }\n        left = val % step;\n        prev_val = val - left;\n        next_val = prev_val + step;\n        if (left === 0) {\n          return val;\n        }\n        val = val >= prev_val + div ? next_val : prev_val;\n        return val;\n      }\n\n      /**\n       * Adds event listeners to the slider elements.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this._eventsForHandle(this.$handle);\n        if (this.handles[1]) {\n          this._eventsForHandle(this.$handle2);\n        }\n      }\n\n      /**\n       * Adds event listeners a particular handle\n       * @function\n       * @private\n       * @param {jQuery} $handle - the current handle to apply listeners to.\n       */\n\n    }, {\n      key: '_eventsForHandle',\n      value: function _eventsForHandle($handle) {\n        var _this = this,\n            curHandle,\n            timer;\n\n        this.inputs.off('change.zf.slider').on('change.zf.slider', function (e) {\n          var idx = _this.inputs.index($(this));\n          _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n        });\n\n        if (this.options.clickSelect) {\n          this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {\n            if (_this.$element.data('dragging')) {\n              return false;\n            }\n\n            if (!$(e.target).is('[data-slider-handle]')) {\n              if (_this.options.doubleSided) {\n                _this._handleEvent(e);\n              } else {\n                _this._handleEvent(e, _this.$handle);\n              }\n            }\n          });\n        }\n\n        if (this.options.draggable) {\n          this.handles.addTouch();\n\n          var $body = $('body');\n          $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {\n            $handle.addClass('is-dragging');\n            _this.$fill.addClass('is-dragging'); //\n            _this.$element.data('dragging', true);\n\n            curHandle = $(e.currentTarget);\n\n            $body.on('mousemove.zf.slider', function (e) {\n              e.preventDefault();\n              _this._handleEvent(e, curHandle);\n            }).on('mouseup.zf.slider', function (e) {\n              _this._handleEvent(e, curHandle);\n\n              $handle.removeClass('is-dragging');\n              _this.$fill.removeClass('is-dragging');\n              _this.$element.data('dragging', false);\n\n              $body.off('mousemove.zf.slider mouseup.zf.slider');\n            });\n          })\n          // prevent events triggered by touch\n          .on('selectstart.zf.slider touchmove.zf.slider', function (e) {\n            e.preventDefault();\n          });\n        }\n\n        $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {\n          var _$handle = $(this),\n              idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n              oldValue = parseFloat(_this.inputs.eq(idx).val()),\n              newValue;\n\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Slider', {\n            decrease: function () {\n              newValue = oldValue - _this.options.step;\n            },\n            increase: function () {\n              newValue = oldValue + _this.options.step;\n            },\n            decrease_fast: function () {\n              newValue = oldValue - _this.options.step * 10;\n            },\n            increase_fast: function () {\n              newValue = oldValue + _this.options.step * 10;\n            },\n            handled: function () {\n              // only set handle pos when event was handled specially\n              e.preventDefault();\n              _this._setHandlePos(_$handle, newValue, true);\n            }\n          });\n          /*if (newValue) { // if pressed key has special function, update value\n            e.preventDefault();\n            _this._setHandlePos(_$handle, newValue);\n          }*/\n        });\n      }\n\n      /**\n       * Destroys the slider plugin.\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.handles.off('.zf.slider');\n        this.inputs.off('.zf.slider');\n        this.$element.off('.zf.slider');\n\n        clearTimeout(this.timeout);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Slider;\n  }();\n\n  Slider.defaults = {\n    /**\n     * Minimum value for the slider scale.\n     * @option\n     * @example 0\n     */\n    start: 0,\n    /**\n     * Maximum value for the slider scale.\n     * @option\n     * @example 100\n     */\n    end: 100,\n    /**\n     * Minimum value change per change event.\n     * @option\n     * @example 1\n     */\n    step: 1,\n    /**\n     * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n     * @option\n     * @example 0\n     */\n    initialStart: 0,\n    /**\n     * Value at which the right handle/second input should be set to on initialization.\n     * @option\n     * @example 100\n     */\n    initialEnd: 100,\n    /**\n     * Allows the input to be located outside the container and visible. Set to by the JS\n     * @option\n     * @example false\n     */\n    binding: false,\n    /**\n     * Allows the user to click/tap on the slider bar to select a value.\n     * @option\n     * @example true\n     */\n    clickSelect: true,\n    /**\n     * Set to true and use the `vertical` class to change alignment to vertical.\n     * @option\n     * @example false\n     */\n    vertical: false,\n    /**\n     * Allows the user to drag the slider handle(s) to select a value.\n     * @option\n     * @example true\n     */\n    draggable: true,\n    /**\n     * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n     * @option\n     * @example false\n     */\n    disabled: false,\n    /**\n     * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n     * @option\n     * @example false\n     */\n    doubleSided: false,\n    /**\n     * Potential future feature.\n     */\n    // steps: 100,\n    /**\n     * Number of decimal places the plugin should go to for floating point precision.\n     * @option\n     * @example 2\n     */\n    decimal: 2,\n    /**\n     * Time delay for dragged elements.\n     */\n    // dragDelay: 0,\n    /**\n     * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n     * @option\n     * @example 200\n     */\n    moveTime: 200, //update this if changing the transition time in the sass\n    /**\n     * Class applied to disabled sliders.\n     * @option\n     * @example 'disabled'\n     */\n    disabledClass: 'disabled',\n    /**\n     * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n     * @option\n     * @example false\n     */\n    invertVertical: false,\n    /**\n     * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n     * @option\n     * @example 500\n     */\n    changedDelay: 500,\n    /**\n    * Basevalue for non-linear sliders\n    * @option\n    * @example 5\n    */\n    nonLinearBase: 5,\n    /**\n    * Basevalue for non-linear sliders, possible values are: 'linear', 'pow' & 'log'. Pow and Log use the nonLinearBase setting.\n    * @option\n    * @example 'linear'\n    */\n    positionValueFunction: 'linear'\n  };\n\n  function percent(frac, num) {\n    return frac / num;\n  }\n  function absPosition($handle, dir, clickPos, param) {\n    return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);\n  }\n  function baseLog(base, value) {\n    return Math.log(value) / Math.log(base);\n  }\n\n  // Window exports\n  Foundation.plugin(Slider, 'Slider');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Sticky module.\n   * @module foundation.sticky\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   */\n\n  var Sticky = function () {\n    /**\n     * Creates a new instance of a sticky thing.\n     * @class\n     * @param {jQuery} element - jQuery object to make sticky.\n     * @param {Object} options - options object passed when creating the element programmatically.\n     */\n    function Sticky(element, options) {\n      _classCallCheck(this, Sticky);\n\n      this.$element = element;\n      this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Sticky');\n    }\n\n    /**\n     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n     * @function\n     * @private\n     */\n\n\n    _createClass(Sticky, [{\n      key: '_init',\n      value: function _init() {\n        var $parent = this.$element.parent('[data-sticky-container]'),\n            id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),\n            _this = this;\n\n        if (!$parent.length) {\n          this.wasWrapped = true;\n        }\n        this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);\n        this.$container.addClass(this.options.containerClass);\n\n        this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id });\n\n        this.scrollCount = this.options.checkEvery;\n        this.isStuck = false;\n        $(window).one('load.zf.sticky', function () {\n          //We calculate the container height to have correct values for anchor points offset calculation.\n          _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n          _this.$container.css('height', _this.containerHeight);\n          _this.elemHeight = _this.containerHeight;\n          if (_this.options.anchor !== '') {\n            _this.$anchor = $('#' + _this.options.anchor);\n          } else {\n            _this._parsePoints();\n          }\n\n          _this._setSizes(function () {\n            var scroll = window.pageYOffset;\n            _this._calc(false, scroll);\n            //Unstick the element will ensure that proper classes are set.\n            if (!_this.isStuck) {\n              _this._removeSticky(scroll >= _this.topPoint ? false : true);\n            }\n          });\n          _this._events(id.split('-').reverse().join('-'));\n        });\n      }\n\n      /**\n       * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_parsePoints',\n      value: function _parsePoints() {\n        var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n            btm = this.options.btmAnchor == \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n            pts = [top, btm],\n            breaks = {};\n        for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n          var pt;\n          if (typeof pts[i] === 'number') {\n            pt = pts[i];\n          } else {\n            var place = pts[i].split(':'),\n                anchor = $('#' + place[0]);\n\n            pt = anchor.offset().top;\n            if (place[1] && place[1].toLowerCase() === 'bottom') {\n              pt += anchor[0].getBoundingClientRect().height;\n            }\n          }\n          breaks[i] = pt;\n        }\n\n        this.points = breaks;\n        return;\n      }\n\n      /**\n       * Adds event handlers for the scrolling element.\n       * @private\n       * @param {String} id - psuedo-random id for unique scroll event listener.\n       */\n\n    }, {\n      key: '_events',\n      value: function _events(id) {\n        var _this = this,\n            scrollListener = this.scrollListener = 'scroll.zf.' + id;\n        if (this.isOn) {\n          return;\n        }\n        if (this.canStick) {\n          this.isOn = true;\n          $(window).off(scrollListener).on(scrollListener, function (e) {\n            if (_this.scrollCount === 0) {\n              _this.scrollCount = _this.options.checkEvery;\n              _this._setSizes(function () {\n                _this._calc(false, window.pageYOffset);\n              });\n            } else {\n              _this.scrollCount--;\n              _this._calc(false, window.pageYOffset);\n            }\n          });\n        }\n\n        this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) {\n          _this._setSizes(function () {\n            _this._calc(false);\n            if (_this.canStick) {\n              if (!_this.isOn) {\n                _this._events(id);\n              }\n            } else if (_this.isOn) {\n              _this._pauseListeners(scrollListener);\n            }\n          });\n        });\n      }\n\n      /**\n       * Removes event handlers for scroll and change events on anchor.\n       * @fires Sticky#pause\n       * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n       */\n\n    }, {\n      key: '_pauseListeners',\n      value: function _pauseListeners(scrollListener) {\n        this.isOn = false;\n        $(window).off(scrollListener);\n\n        /**\n         * Fires when the plugin is paused due to resize event shrinking the view.\n         * @event Sticky#pause\n         * @private\n         */\n        this.$element.trigger('pause.zf.sticky');\n      }\n\n      /**\n       * Called on every `scroll` event and on `_init`\n       * fires functions based on booleans and cached values\n       * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n       * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n       */\n\n    }, {\n      key: '_calc',\n      value: function _calc(checkSizes, scroll) {\n        if (checkSizes) {\n          this._setSizes();\n        }\n\n        if (!this.canStick) {\n          if (this.isStuck) {\n            this._removeSticky(true);\n          }\n          return false;\n        }\n\n        if (!scroll) {\n          scroll = window.pageYOffset;\n        }\n\n        if (scroll >= this.topPoint) {\n          if (scroll <= this.bottomPoint) {\n            if (!this.isStuck) {\n              this._setSticky();\n            }\n          } else {\n            if (this.isStuck) {\n              this._removeSticky(false);\n            }\n          }\n        } else {\n          if (this.isStuck) {\n            this._removeSticky(true);\n          }\n        }\n      }\n\n      /**\n       * Causes the $element to become stuck.\n       * Adds `position: fixed;`, and helper classes.\n       * @fires Sticky#stuckto\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_setSticky',\n      value: function _setSticky() {\n        var _this = this,\n            stickTo = this.options.stickTo,\n            mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n            notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n            css = {};\n\n        css[mrgn] = this.options[mrgn] + 'em';\n        css[stickTo] = 0;\n        css[notStuckTo] = 'auto';\n        this.isStuck = true;\n        this.$element.removeClass('is-anchored is-at-' + notStuckTo).addClass('is-stuck is-at-' + stickTo).css(css)\n        /**\n         * Fires when the $element has become `position: fixed;`\n         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n         * @event Sticky#stuckto\n         */\n        .trigger('sticky.zf.stuckto:' + stickTo);\n        this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function () {\n          _this._setSizes();\n        });\n      }\n\n      /**\n       * Causes the $element to become unstuck.\n       * Removes `position: fixed;`, and helper classes.\n       * Adds other helper classes.\n       * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n       * @fires Sticky#unstuckfrom\n       * @private\n       */\n\n    }, {\n      key: '_removeSticky',\n      value: function _removeSticky(isTop) {\n        var stickTo = this.options.stickTo,\n            stickToTop = stickTo === 'top',\n            css = {},\n            anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n            mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n            notStuckTo = stickToTop ? 'bottom' : 'top',\n            topOrBottom = isTop ? 'top' : 'bottom';\n\n        css[mrgn] = 0;\n\n        css['bottom'] = 'auto';\n        if (isTop) {\n          css['top'] = 0;\n        } else {\n          css['top'] = anchorPt;\n        }\n\n        this.isStuck = false;\n        this.$element.removeClass('is-stuck is-at-' + stickTo).addClass('is-anchored is-at-' + topOrBottom).css(css)\n        /**\n         * Fires when the $element has become anchored.\n         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n         * @event Sticky#unstuckfrom\n         */\n        .trigger('sticky.zf.unstuckfrom:' + topOrBottom);\n      }\n\n      /**\n       * Sets the $element and $container sizes for plugin.\n       * Calls `_setBreakPoints`.\n       * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n       * @private\n       */\n\n    }, {\n      key: '_setSizes',\n      value: function _setSizes(cb) {\n        this.canStick = Foundation.MediaQuery.is(this.options.stickyOn);\n        if (!this.canStick) {\n          if (cb && typeof cb === 'function') {\n            cb();\n          }\n        }\n        var _this = this,\n            newElemWidth = this.$container[0].getBoundingClientRect().width,\n            comp = window.getComputedStyle(this.$container[0]),\n            pdngl = parseInt(comp['padding-left'], 10),\n            pdngr = parseInt(comp['padding-right'], 10);\n\n        if (this.$anchor && this.$anchor.length) {\n          this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n        } else {\n          this._parsePoints();\n        }\n\n        this.$element.css({\n          'max-width': newElemWidth - pdngl - pdngr + 'px'\n        });\n\n        var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n        if (this.$element.css(\"display\") == \"none\") {\n          newContainerHeight = 0;\n        }\n        this.containerHeight = newContainerHeight;\n        this.$container.css({\n          height: newContainerHeight\n        });\n        this.elemHeight = newContainerHeight;\n\n        if (!this.isStuck) {\n          if (this.$element.hasClass('is-at-bottom')) {\n            var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n            this.$element.css('top', anchorPt);\n          }\n        }\n\n        this._setBreakPoints(newContainerHeight, function () {\n          if (cb && typeof cb === 'function') {\n            cb();\n          }\n        });\n      }\n\n      /**\n       * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n       * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n       * @param {Function} cb - optional callback function to be called on completion.\n       * @private\n       */\n\n    }, {\n      key: '_setBreakPoints',\n      value: function _setBreakPoints(elemHeight, cb) {\n        if (!this.canStick) {\n          if (cb && typeof cb === 'function') {\n            cb();\n          } else {\n            return false;\n          }\n        }\n        var mTop = emCalc(this.options.marginTop),\n            mBtm = emCalc(this.options.marginBottom),\n            topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n            bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n\n        // topPoint = this.$anchor.offset().top || this.points[0],\n        // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n        winHeight = window.innerHeight;\n\n        if (this.options.stickTo === 'top') {\n          topPoint -= mTop;\n          bottomPoint -= elemHeight + mTop;\n        } else if (this.options.stickTo === 'bottom') {\n          topPoint -= winHeight - (elemHeight + mBtm);\n          bottomPoint -= winHeight - mBtm;\n        } else {\n          //this would be the stickTo: both option... tricky\n        }\n\n        this.topPoint = topPoint;\n        this.bottomPoint = bottomPoint;\n\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      }\n\n      /**\n       * Destroys the current sticky element.\n       * Resets the element to the top position first.\n       * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this._removeSticky(true);\n\n        this.$element.removeClass(this.options.stickyClass + ' is-anchored is-at-top').css({\n          height: '',\n          top: '',\n          bottom: '',\n          'max-width': ''\n        }).off('resizeme.zf.trigger');\n        if (this.$anchor && this.$anchor.length) {\n          this.$anchor.off('change.zf.sticky');\n        }\n        $(window).off(this.scrollListener);\n\n        if (this.wasWrapped) {\n          this.$element.unwrap();\n        } else {\n          this.$container.removeClass(this.options.containerClass).css({\n            height: ''\n          });\n        }\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Sticky;\n  }();\n\n  Sticky.defaults = {\n    /**\n     * Customizable container template. Add your own classes for styling and sizing.\n     * @option\n     * @example '&lt;div data-sticky-container class=\"small-6 columns\"&gt;&lt;/div&gt;'\n     */\n    container: '<div data-sticky-container></div>',\n    /**\n     * Location in the view the element sticks to.\n     * @option\n     * @example 'top'\n     */\n    stickTo: 'top',\n    /**\n     * If anchored to a single element, the id of that element.\n     * @option\n     * @example 'exampleId'\n     */\n    anchor: '',\n    /**\n     * If using more than one element as anchor points, the id of the top anchor.\n     * @option\n     * @example 'exampleId:top'\n     */\n    topAnchor: '',\n    /**\n     * If using more than one element as anchor points, the id of the bottom anchor.\n     * @option\n     * @example 'exampleId:bottom'\n     */\n    btmAnchor: '',\n    /**\n     * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n     * @option\n     * @example 1\n     */\n    marginTop: 1,\n    /**\n     * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n     * @option\n     * @example 1\n     */\n    marginBottom: 1,\n    /**\n     * Breakpoint string that is the minimum screen size an element should become sticky.\n     * @option\n     * @example 'medium'\n     */\n    stickyOn: 'medium',\n    /**\n     * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n     * @option\n     * @example 'sticky'\n     */\n    stickyClass: 'sticky',\n    /**\n     * Class applied to sticky container. Foundation defaults to `sticky-container`.\n     * @option\n     * @example 'sticky-container'\n     */\n    containerClass: 'sticky-container',\n    /**\n     * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n     * @option\n     * @example 50\n     */\n    checkEvery: -1\n  };\n\n  /**\n   * Helper function to calculate em values\n   * @param Number {em} - number of em's to calculate into pixels\n   */\n  function emCalc(em) {\n    return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n  }\n\n  // Window exports\n  Foundation.plugin(Sticky, 'Sticky');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Tabs module.\n   * @module foundation.tabs\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.timerAndImageLoader if tabs contain images\n   */\n\n  var Tabs = function () {\n    /**\n     * Creates a new instance of tabs.\n     * @class\n     * @fires Tabs#init\n     * @param {jQuery} element - jQuery object to make into tabs.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Tabs(element, options) {\n      _classCallCheck(this, Tabs);\n\n      this.$element = element;\n      this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n\n      this._init();\n      Foundation.registerPlugin(this, 'Tabs');\n      Foundation.Keyboard.register('Tabs', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'previous',\n        'ARROW_DOWN': 'next',\n        'ARROW_LEFT': 'previous'\n        // 'TAB': 'next',\n        // 'SHIFT_TAB': 'previous'\n      });\n    }\n\n    /**\n     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n     * @private\n     */\n\n\n    _createClass(Tabs, [{\n      key: '_init',\n      value: function _init() {\n        var _this = this;\n\n        this.$element.attr({ 'role': 'tablist' });\n        this.$tabTitles = this.$element.find('.' + this.options.linkClass);\n        this.$tabContent = $('[data-tabs-content=\"' + this.$element[0].id + '\"]');\n\n        this.$tabTitles.each(function () {\n          var $elem = $(this),\n              $link = $elem.find('a'),\n              isActive = $elem.hasClass('' + _this.options.linkActiveClass),\n              hash = $link[0].hash.slice(1),\n              linkId = $link[0].id ? $link[0].id : hash + '-label',\n              $tabContent = $('#' + hash);\n\n          $elem.attr({ 'role': 'presentation' });\n\n          $link.attr({\n            'role': 'tab',\n            'aria-controls': hash,\n            'aria-selected': isActive,\n            'id': linkId\n          });\n\n          $tabContent.attr({\n            'role': 'tabpanel',\n            'aria-hidden': !isActive,\n            'aria-labelledby': linkId\n          });\n\n          if (isActive && _this.options.autoFocus) {\n            $(window).load(function () {\n              $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, function () {\n                $link.focus();\n              });\n            });\n          }\n\n          //use browser to open a tab, if it exists in this tabset\n          if (_this.options.deepLink) {\n            var anchor = window.location.hash;\n            //need a hash and a relevant anchor in this tabset\n            if (anchor.length) {\n              var $link = $elem.find('[href=\"' + anchor + '\"]');\n              if ($link.length) {\n                _this.selectTab($(anchor));\n\n                //roll up a little to show the titles\n                if (_this.options.deepLinkSmudge) {\n                  $(window).load(function () {\n                    var offset = $elem.offset();\n                    $('html, body').animate({ scrollTop: offset.top }, _this.options.deepLinkSmudgeDelay);\n                  });\n                }\n\n                /**\n                  * Fires when the zplugin has deeplinked at pageload\n                  * @event Tabs#deeplink\n                  */\n                $elem.trigger('deeplink.zf.tabs', [$link, $(anchor)]);\n              }\n            }\n          }\n        });\n\n        if (this.options.matchHeight) {\n          var $images = this.$tabContent.find('img');\n\n          if ($images.length) {\n            Foundation.onImagesLoaded($images, this._setHeight.bind(this));\n          } else {\n            this._setHeight();\n          }\n        }\n\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this._addKeyHandler();\n        this._addClickHandler();\n        this._setHeightMqHandler = null;\n\n        if (this.options.matchHeight) {\n          this._setHeightMqHandler = this._setHeight.bind(this);\n\n          $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n        }\n      }\n\n      /**\n       * Adds click handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_addClickHandler',\n      value: function _addClickHandler() {\n        var _this = this;\n\n        this.$element.off('click.zf.tabs').on('click.zf.tabs', '.' + this.options.linkClass, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          _this._handleTabChange($(this));\n        });\n      }\n\n      /**\n       * Adds keyboard event handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_addKeyHandler',\n      value: function _addKeyHandler() {\n        var _this = this;\n\n        this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {\n          if (e.which === 9) return;\n\n          var $element = $(this),\n              $elements = $element.parent('ul').children('li'),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              if (_this.options.wrapOnKeys) {\n                $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);\n                $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);\n              } else {\n                $prevElement = $elements.eq(Math.max(0, i - 1));\n                $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n              }\n              return;\n            }\n          });\n\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Tabs', {\n            open: function () {\n              $element.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($element);\n            },\n            previous: function () {\n              $prevElement.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($prevElement);\n            },\n            next: function () {\n              $nextElement.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($nextElement);\n            },\n            handled: function () {\n              e.stopPropagation();\n              e.preventDefault();\n            }\n          });\n        });\n      }\n\n      /**\n       * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n       * @param {jQuery} $target - Tab to open.\n       * @fires Tabs#change\n       * @function\n       */\n\n    }, {\n      key: '_handleTabChange',\n      value: function _handleTabChange($target) {\n\n        /**\n         * Check for active class on target. Collapse if exists.\n         */\n        if ($target.hasClass('' + this.options.linkActiveClass)) {\n          if (this.options.activeCollapse) {\n            this._collapseTab($target);\n\n            /**\n             * Fires when the zplugin has successfully collapsed tabs.\n             * @event Tabs#collapse\n             */\n            this.$element.trigger('collapse.zf.tabs', [$target]);\n          }\n          return;\n        }\n\n        var $oldTab = this.$element.find('.' + this.options.linkClass + '.' + this.options.linkActiveClass),\n            $tabLink = $target.find('[role=\"tab\"]'),\n            hash = $tabLink[0].hash,\n            $targetContent = this.$tabContent.find(hash);\n\n        //close old tab\n        this._collapseTab($oldTab);\n\n        //open new tab\n        this._openTab($target);\n\n        //either replace or update browser history\n        if (this.options.deepLink) {\n          var anchor = $target.find('a').attr('href');\n\n          if (this.options.updateHistory) {\n            history.pushState({}, '', anchor);\n          } else {\n            history.replaceState({}, '', anchor);\n          }\n        }\n\n        /**\n         * Fires when the plugin has successfully changed tabs.\n         * @event Tabs#change\n         */\n        this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n        //fire to children a mutation event\n        $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n      }\n\n      /**\n       * Opens the tab `$targetContent` defined by `$target`.\n       * @param {jQuery} $target - Tab to Open.\n       * @function\n       */\n\n    }, {\n      key: '_openTab',\n      value: function _openTab($target) {\n        var $tabLink = $target.find('[role=\"tab\"]'),\n            hash = $tabLink[0].hash,\n            $targetContent = this.$tabContent.find(hash);\n\n        $target.addClass('' + this.options.linkActiveClass);\n\n        $tabLink.attr({ 'aria-selected': 'true' });\n\n        $targetContent.addClass('' + this.options.panelActiveClass).attr({ 'aria-hidden': 'false' });\n      }\n\n      /**\n       * Collapses `$targetContent` defined by `$target`.\n       * @param {jQuery} $target - Tab to Open.\n       * @function\n       */\n\n    }, {\n      key: '_collapseTab',\n      value: function _collapseTab($target) {\n        var $target_anchor = $target.removeClass('' + this.options.linkActiveClass).find('[role=\"tab\"]').attr({ 'aria-selected': 'false' });\n\n        $('#' + $target_anchor.attr('aria-controls')).removeClass('' + this.options.panelActiveClass).attr({ 'aria-hidden': 'true' });\n      }\n\n      /**\n       * Public method for selecting a content pane to display.\n       * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n       * @function\n       */\n\n    }, {\n      key: 'selectTab',\n      value: function selectTab(elem) {\n        var idStr;\n\n        if (typeof elem === 'object') {\n          idStr = elem[0].id;\n        } else {\n          idStr = elem;\n        }\n\n        if (idStr.indexOf('#') < 0) {\n          idStr = '#' + idStr;\n        }\n\n        var $target = this.$tabTitles.find('[href=\"' + idStr + '\"]').parent('.' + this.options.linkClass);\n\n        this._handleTabChange($target);\n      }\n    }, {\n      key: '_setHeight',\n\n      /**\n       * Sets the height of each panel to the height of the tallest panel.\n       * If enabled in options, gets called on media query change.\n       * If loading content via external source, can be called directly or with _reflow.\n       * @function\n       * @private\n       */\n      value: function _setHeight() {\n        var max = 0;\n        this.$tabContent.find('.' + this.options.panelClass).css('height', '').each(function () {\n          var panel = $(this),\n              isActive = panel.hasClass('' + this.options.panelActiveClass);\n\n          if (!isActive) {\n            panel.css({ 'visibility': 'hidden', 'display': 'block' });\n          }\n\n          var temp = this.getBoundingClientRect().height;\n\n          if (!isActive) {\n            panel.css({\n              'visibility': '',\n              'display': ''\n            });\n          }\n\n          max = temp > max ? temp : max;\n        }).css('height', max + 'px');\n      }\n\n      /**\n       * Destroys an instance of an tabs.\n       * @fires Tabs#destroyed\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('.' + this.options.linkClass).off('.zf.tabs').hide().end().find('.' + this.options.panelClass).hide();\n\n        if (this.options.matchHeight) {\n          if (this._setHeightMqHandler != null) {\n            $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n          }\n        }\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Tabs;\n  }();\n\n  Tabs.defaults = {\n    /**\n     * Allows the window to scroll to content of pane specified by hash anchor\n     * @option\n     * @example false\n     */\n    deepLink: false,\n\n    /**\n     * Adjust the deep link scroll to make sure the top of the tab panel is visible\n     * @option\n     * @example false\n     */\n    deepLinkSmudge: false,\n\n    /**\n     * Animation time (ms) for the deep link adjustment\n     * @option\n     * @example 300\n     */\n    deepLinkSmudgeDelay: 300,\n\n    /**\n     * Update the browser history with the open tab\n     * @option\n     * @example false\n     */\n    updateHistory: false,\n\n    /**\n     * Allows the window to scroll to content of active pane on load if set to true.\n     * Not recommended if more than one tab panel per page.\n     * @option\n     * @example false\n     */\n    autoFocus: false,\n\n    /**\n     * Allows keyboard input to 'wrap' around the tab links.\n     * @option\n     * @example true\n     */\n    wrapOnKeys: true,\n\n    /**\n     * Allows the tab content panes to match heights if set to true.\n     * @option\n     * @example false\n     */\n    matchHeight: false,\n\n    /**\n     * Allows active tabs to collapse when clicked.\n     * @option\n     * @example false\n     */\n    activeCollapse: false,\n\n    /**\n     * Class applied to `li`'s in tab link list.\n     * @option\n     * @example 'tabs-title'\n     */\n    linkClass: 'tabs-title',\n\n    /**\n     * Class applied to the active `li` in tab link list.\n     * @option\n     * @example 'is-active'\n     */\n    linkActiveClass: 'is-active',\n\n    /**\n     * Class applied to the content containers.\n     * @option\n     * @example 'tabs-panel'\n     */\n    panelClass: 'tabs-panel',\n\n    /**\n     * Class applied to the active content container.\n     * @option\n     * @example 'is-active'\n     */\n    panelActiveClass: 'is-active'\n  };\n\n  // Window exports\n  Foundation.plugin(Tabs, 'Tabs');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Toggler module.\n   * @module foundation.toggler\n   * @requires foundation.util.motion\n   * @requires foundation.util.triggers\n   */\n\n  var Toggler = function () {\n    /**\n     * Creates a new instance of Toggler.\n     * @class\n     * @fires Toggler#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Toggler(element, options) {\n      _classCallCheck(this, Toggler);\n\n      this.$element = element;\n      this.options = $.extend({}, Toggler.defaults, element.data(), options);\n      this.className = '';\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'Toggler');\n    }\n\n    /**\n     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Toggler, [{\n      key: '_init',\n      value: function _init() {\n        var input;\n        // Parse animation classes if they were set\n        if (this.options.animate) {\n          input = this.options.animate.split(' ');\n\n          this.animationIn = input[0];\n          this.animationOut = input[1] || null;\n        }\n        // Otherwise, parse toggle class\n        else {\n            input = this.$element.data('toggler');\n            // Allow for a . at the beginning of the string\n            this.className = input[0] === '.' ? input.slice(1) : input;\n          }\n\n        // Add ARIA attributes to triggers\n        var id = this.$element[0].id;\n        $('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-controls', id);\n        // If the target is hidden, add aria-hidden\n        this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);\n      }\n\n      /**\n       * Initializes events for the toggle trigger.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n      }\n\n      /**\n       * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n       * @function\n       * @fires Toggler#on\n       * @fires Toggler#off\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n      }\n    }, {\n      key: '_toggleClass',\n      value: function _toggleClass() {\n        this.$element.toggleClass(this.className);\n\n        var isOn = this.$element.hasClass(this.className);\n        if (isOn) {\n          /**\n           * Fires if the target element has the class after a toggle.\n           * @event Toggler#on\n           */\n          this.$element.trigger('on.zf.toggler');\n        } else {\n          /**\n           * Fires if the target element does not have the class after a toggle.\n           * @event Toggler#off\n           */\n          this.$element.trigger('off.zf.toggler');\n        }\n\n        this._updateARIA(isOn);\n        this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n      }\n    }, {\n      key: '_toggleAnimate',\n      value: function _toggleAnimate() {\n        var _this = this;\n\n        if (this.$element.is(':hidden')) {\n          Foundation.Motion.animateIn(this.$element, this.animationIn, function () {\n            _this._updateARIA(true);\n            this.trigger('on.zf.toggler');\n            this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n          });\n        } else {\n          Foundation.Motion.animateOut(this.$element, this.animationOut, function () {\n            _this._updateARIA(false);\n            this.trigger('off.zf.toggler');\n            this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n          });\n        }\n      }\n    }, {\n      key: '_updateARIA',\n      value: function _updateARIA(isOn) {\n        this.$element.attr('aria-expanded', isOn ? true : false);\n      }\n\n      /**\n       * Destroys the instance of Toggler on the element.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.toggler');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Toggler;\n  }();\n\n  Toggler.defaults = {\n    /**\n     * Tells the plugin if the element should animated when toggled.\n     * @option\n     * @example false\n     */\n    animate: false\n  };\n\n  // Window exports\n  Foundation.plugin(Toggler, 'Toggler');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Tooltip module.\n   * @module foundation.tooltip\n   * @requires foundation.util.box\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.triggers\n   */\n\n  var Tooltip = function () {\n    /**\n     * Creates a new instance of a Tooltip.\n     * @class\n     * @fires Tooltip#init\n     * @param {jQuery} element - jQuery object to attach a tooltip to.\n     * @param {Object} options - object to extend the default configuration.\n     */\n    function Tooltip(element, options) {\n      _classCallCheck(this, Tooltip);\n\n      this.$element = element;\n      this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n\n      this.isActive = false;\n      this.isClick = false;\n      this._init();\n\n      Foundation.registerPlugin(this, 'Tooltip');\n    }\n\n    /**\n     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n     * @private\n     */\n\n\n    _createClass(Tooltip, [{\n      key: '_init',\n      value: function _init() {\n        var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');\n\n        this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);\n        this.options.tipText = this.options.tipText || this.$element.attr('title');\n        this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n        if (this.options.allowHtml) {\n          this.template.appendTo(document.body).html(this.options.tipText).hide();\n        } else {\n          this.template.appendTo(document.body).text(this.options.tipText).hide();\n        }\n\n        this.$element.attr({\n          'title': '',\n          'aria-describedby': elemId,\n          'data-yeti-box': elemId,\n          'data-toggle': elemId,\n          'data-resize': elemId\n        }).addClass(this.options.triggerClass);\n\n        //helper variables to track movement on collisions\n        this.usedPositions = [];\n        this.counter = 4;\n        this.classChanged = false;\n\n        this._events();\n      }\n\n      /**\n       * Grabs the current positioning class, if present, and returns the value or an empty string.\n       * @private\n       */\n\n    }, {\n      key: '_getPositionClass',\n      value: function _getPositionClass(element) {\n        if (!element) {\n          return '';\n        }\n        // var position = element.attr('class').match(/top|left|right/g);\n        var position = element[0].className.match(/\\b(top|left|right)\\b/g);\n        position = position ? position[0] : '';\n        return position;\n      }\n    }, {\n      key: '_buildTemplate',\n\n      /**\n       * builds the tooltip element, adds attributes, and returns the template.\n       * @private\n       */\n      value: function _buildTemplate(id) {\n        var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();\n        var $template = $('<div></div>').addClass(templateClasses).attr({\n          'role': 'tooltip',\n          'aria-hidden': true,\n          'data-is-active': false,\n          'data-is-focus': false,\n          'id': id\n        });\n        return $template;\n      }\n\n      /**\n       * Function that gets called if a collision event is detected.\n       * @param {String} position - positioning class to try\n       * @private\n       */\n\n    }, {\n      key: '_reposition',\n      value: function _reposition(position) {\n        this.usedPositions.push(position ? position : 'bottom');\n\n        //default, try switching to opposite side\n        if (!position && this.usedPositions.indexOf('top') < 0) {\n          this.template.addClass('top');\n        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {\n          this.template.removeClass(position);\n        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {\n          this.template.removeClass(position).addClass('right');\n        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {\n          this.template.removeClass(position).addClass('left');\n        }\n\n        //if default change didn't work, try bottom or left first\n        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.template.addClass('left');\n          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.template.removeClass(position).addClass('left');\n          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.template.removeClass(position);\n          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.template.removeClass(position);\n          }\n          //if nothing cleared, set to bottom\n          else {\n              this.template.removeClass(position);\n            }\n        this.classChanged = true;\n        this.counter--;\n      }\n\n      /**\n       * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n       * if the tooltip is larger than the screen width, default to full width - any user selected margin\n       * @private\n       */\n\n    }, {\n      key: '_setPosition',\n      value: function _setPosition() {\n        var position = this._getPositionClass(this.template),\n            $tipDims = Foundation.Box.GetDimensions(this.template),\n            $anchorDims = Foundation.Box.GetDimensions(this.$element),\n            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',\n            param = direction === 'top' ? 'height' : 'width',\n            offset = param === 'height' ? this.options.vOffset : this.options.hOffset,\n            _this = this;\n\n        if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) {\n          this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n            // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n            'width': $anchorDims.windowDims.width - this.options.hOffset * 2,\n            'height': 'auto'\n          });\n          return false;\n        }\n\n        this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));\n\n        while (!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {\n          this._reposition(position);\n          this._setPosition();\n        }\n      }\n\n      /**\n       * reveals the tooltip, and fires an event to close any other open tooltips on the page\n       * @fires Tooltip#closeme\n       * @fires Tooltip#show\n       * @function\n       */\n\n    }, {\n      key: 'show',\n      value: function show() {\n        if (this.options.showOn !== 'all' && !Foundation.MediaQuery.is(this.options.showOn)) {\n          // console.error('The screen is too small to display this tooltip');\n          return false;\n        }\n\n        var _this = this;\n        this.template.css('visibility', 'hidden').show();\n        this._setPosition();\n\n        /**\n         * Fires to close all other open tooltips on the page\n         * @event Closeme#tooltip\n         */\n        this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n        this.template.attr({\n          'data-is-active': true,\n          'aria-hidden': false\n        });\n        _this.isActive = true;\n        // console.log(this.template);\n        this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {\n          //maybe do stuff?\n        });\n        /**\n         * Fires when the tooltip is shown\n         * @event Tooltip#show\n         */\n        this.$element.trigger('show.zf.tooltip');\n      }\n\n      /**\n       * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n       * @fires Tooltip#hide\n       * @function\n       */\n\n    }, {\n      key: 'hide',\n      value: function hide() {\n        // console.log('hiding', this.$element.data('yeti-box'));\n        var _this = this;\n        this.template.stop().attr({\n          'aria-hidden': true,\n          'data-is-active': false\n        }).fadeOut(this.options.fadeOutDuration, function () {\n          _this.isActive = false;\n          _this.isClick = false;\n          if (_this.classChanged) {\n            _this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass);\n\n            _this.usedPositions = [];\n            _this.counter = 4;\n            _this.classChanged = false;\n          }\n        });\n        /**\n         * fires when the tooltip is hidden\n         * @event Tooltip#hide\n         */\n        this.$element.trigger('hide.zf.tooltip');\n      }\n\n      /**\n       * adds event listeners for the tooltip and its anchor\n       * TODO combine some of the listeners like focus and mouseenter, etc.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        var $template = this.template;\n        var isFocus = false;\n\n        if (!this.options.disableHover) {\n\n          this.$element.on('mouseenter.zf.tooltip', function (e) {\n            if (!_this.isActive) {\n              _this.timeout = setTimeout(function () {\n                _this.show();\n              }, _this.options.hoverDelay);\n            }\n          }).on('mouseleave.zf.tooltip', function (e) {\n            clearTimeout(_this.timeout);\n            if (!isFocus || _this.isClick && !_this.options.clickOpen) {\n              _this.hide();\n            }\n          });\n        }\n\n        if (this.options.clickOpen) {\n          this.$element.on('mousedown.zf.tooltip', function (e) {\n            e.stopImmediatePropagation();\n            if (_this.isClick) {\n              //_this.hide();\n              // _this.isClick = false;\n            } else {\n              _this.isClick = true;\n              if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n                _this.show();\n              }\n            }\n          });\n        } else {\n          this.$element.on('mousedown.zf.tooltip', function (e) {\n            e.stopImmediatePropagation();\n            _this.isClick = true;\n          });\n        }\n\n        if (!this.options.disableForTouch) {\n          this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n            _this.isActive ? _this.hide() : _this.show();\n          });\n        }\n\n        this.$element.on({\n          // 'toggle.zf.trigger': this.toggle.bind(this),\n          // 'close.zf.trigger': this.hide.bind(this)\n          'close.zf.trigger': this.hide.bind(this)\n        });\n\n        this.$element.on('focus.zf.tooltip', function (e) {\n          isFocus = true;\n          if (_this.isClick) {\n            // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n            // a real focus, otherwise on hover and come back we get bad behavior\n            if (!_this.options.clickOpen) {\n              isFocus = false;\n            }\n            return false;\n          } else {\n            _this.show();\n          }\n        }).on('focusout.zf.tooltip', function (e) {\n          isFocus = false;\n          _this.isClick = false;\n          _this.hide();\n        }).on('resizeme.zf.trigger', function () {\n          if (_this.isActive) {\n            _this._setPosition();\n          }\n        });\n      }\n\n      /**\n       * adds a toggle method, in addition to the static show() & hide() functions\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.isActive) {\n          this.hide();\n        } else {\n          this.show();\n        }\n      }\n\n      /**\n       * Destroys an instance of tooltip, removes template element from the view.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass('has-tip top right left').removeAttr('aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n        this.template.remove();\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Tooltip;\n  }();\n\n  Tooltip.defaults = {\n    disableForTouch: false,\n    /**\n     * Time, in ms, before a tooltip should open on hover.\n     * @option\n     * @example 200\n     */\n    hoverDelay: 200,\n    /**\n     * Time, in ms, a tooltip should take to fade into view.\n     * @option\n     * @example 150\n     */\n    fadeInDuration: 150,\n    /**\n     * Time, in ms, a tooltip should take to fade out of view.\n     * @option\n     * @example 150\n     */\n    fadeOutDuration: 150,\n    /**\n     * Disables hover events from opening the tooltip if set to true\n     * @option\n     * @example false\n     */\n    disableHover: false,\n    /**\n     * Optional addtional classes to apply to the tooltip template on init.\n     * @option\n     * @example 'my-cool-tip-class'\n     */\n    templateClasses: '',\n    /**\n     * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n     * @option\n     * @example 'tooltip'\n     */\n    tooltipClass: 'tooltip',\n    /**\n     * Class applied to the tooltip anchor element.\n     * @option\n     * @example 'has-tip'\n     */\n    triggerClass: 'has-tip',\n    /**\n     * Minimum breakpoint size at which to open the tooltip.\n     * @option\n     * @example 'small'\n     */\n    showOn: 'small',\n    /**\n     * Custom template to be used to generate markup for tooltip.\n     * @option\n     * @example '&lt;div class=\"tooltip\"&gt;&lt;/div&gt;'\n     */\n    template: '',\n    /**\n     * Text displayed in the tooltip template on open.\n     * @option\n     * @example 'Some cool space fact here.'\n     */\n    tipText: '',\n    touchCloseText: 'Tap to close.',\n    /**\n     * Allows the tooltip to remain open if triggered with a click or touch event.\n     * @option\n     * @example true\n     */\n    clickOpen: true,\n    /**\n     * Additional positioning classes, set by the JS\n     * @option\n     * @example 'top'\n     */\n    positionClass: '',\n    /**\n     * Distance, in pixels, the template should push away from the anchor on the Y axis.\n     * @option\n     * @example 10\n     */\n    vOffset: 10,\n    /**\n     * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.\n     * @option\n     * @example 12\n     */\n    hOffset: 12,\n    /**\n    * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n    * allowing HTML may open yourself up to XSS attacks.\n    * @option\n    * @example false\n    */\n    allowHtml: false\n  };\n\n  /**\n   * TODO utilize resize event trigger\n   */\n\n  // Window exports\n  Foundation.plugin(Tooltip, 'Tooltip');\n}(jQuery);\n'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveAccordionTabs module.\n   * @module foundation.responsiveAccordionTabs\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.timerAndImageLoader\n   * @requires foundation.util.motion\n   * @requires foundation.accordion\n   * @requires foundation.tabs\n   */\n\n  var ResponsiveAccordionTabs = function () {\n    /**\n     * Creates a new instance of a responsive accordion tabs.\n     * @class\n     * @fires ResponsiveAccordionTabs#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveAccordionTabs(element, options) {\n      _classCallCheck(this, ResponsiveAccordionTabs);\n\n      this.$element = $(element);\n      this.options = $.extend({}, this.$element.data(), options);\n      this.rules = this.$element.data('responsive-accordion-tabs');\n      this.currentMq = null;\n      this.currentPlugin = null;\n      if (!this.$element.attr('id')) {\n        this.$element.attr('id', Foundation.GetYoDigits(6, 'responsiveaccordiontabs'));\n      };\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveAccordionTabs');\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveAccordionTabs, [{\n      key: '_init',\n      value: function _init() {\n        // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n        if (typeof this.rules === 'string') {\n          var rulesTree = {};\n\n          // Parse rules from \"classes\" pulled from data attribute\n          var rules = this.rules.split(' ');\n\n          // Iterate through every rule found\n          for (var i = 0; i < rules.length; i++) {\n            var rule = rules[i].split('-');\n            var ruleSize = rule.length > 1 ? rule[0] : 'small';\n            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n            if (MenuPlugins[rulePlugin] !== null) {\n              rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n            }\n          }\n\n          this.rules = rulesTree;\n        }\n\n        this._getAllOptions();\n\n        if (!$.isEmptyObject(this.rules)) {\n          this._checkMediaQueries();\n        }\n      }\n    }, {\n      key: '_getAllOptions',\n      value: function _getAllOptions() {\n        //get all defaults and options\n        var _this = this;\n        _this.allOptions = {};\n        for (var key in MenuPlugins) {\n          if (MenuPlugins.hasOwnProperty(key)) {\n            var obj = MenuPlugins[key];\n            try {\n              var dummyPlugin = $('<ul></ul>');\n              var tmpPlugin = new obj.plugin(dummyPlugin, _this.options);\n              for (var keyKey in tmpPlugin.options) {\n                if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n                  var objObj = tmpPlugin.options[keyKey];\n                  _this.allOptions[keyKey] = objObj;\n                }\n              }\n              tmpPlugin.destroy();\n            } catch (e) {}\n          }\n        }\n      }\n\n      /**\n       * Initializes events for the Menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          _this._checkMediaQueries();\n        });\n      }\n\n      /**\n       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_checkMediaQueries',\n      value: function _checkMediaQueries() {\n        var matchedMq,\n            _this = this;\n        // Iterate through each rule and find the last matching rule\n        $.each(this.rules, function (key) {\n          if (Foundation.MediaQuery.atLeast(key)) {\n            matchedMq = key;\n          }\n        });\n\n        // No match? No dice\n        if (!matchedMq) return;\n\n        // Plugin already initialized? We good\n        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n        // Remove existing plugin-specific CSS classes\n        $.each(MenuPlugins, function (key, value) {\n          _this.$element.removeClass(value.cssClass);\n        });\n\n        // Add the CSS class for the new plugin\n        this.$element.addClass(this.rules[matchedMq].cssClass);\n\n        // Create an instance of the new plugin\n        if (this.currentPlugin) {\n          //don't know why but on nested elements data zfPlugin get's lost\n          if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData);\n          this.currentPlugin.destroy();\n        }\n        this._handleMarkup(this.rules[matchedMq].cssClass);\n        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n        this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n      }\n    }, {\n      key: '_handleMarkup',\n      value: function _handleMarkup(toSet) {\n        var _this = this,\n            fromString = 'accordion';\n        var $panels = $('[data-tabs-content=' + this.$element.attr('id') + ']');\n        if ($panels.length) fromString = 'tabs';\n        if (fromString === toSet) {\n          return;\n        };\n\n        var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title';\n        var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel';\n\n        this.$element.removeAttr('role');\n        var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n        var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n        if (fromString === 'tabs') {\n          $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n          $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n        } else {\n          $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n        };\n\n        $panels.css({ display: '', visibility: '' });\n        $liHeads.css({ display: '', visibility: '' });\n        if (toSet === 'accordion') {\n          $panels.each(function (key, value) {\n            $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({ height: '' });\n            $('[data-tabs-content=' + _this.$element.attr('id') + ']').after('<div id=\"tabs-placeholder-' + _this.$element.attr('id') + '\"></div>').remove();\n            $liHeads.addClass('accordion-item').attr('data-accordion-item', '');\n            $liHeadsA.addClass('accordion-title');\n          });\n        } else if (toSet === 'tabs') {\n          var $tabsContent = $('[data-tabs-content=' + _this.$element.attr('id') + ']');\n          var $placeholder = $('#tabs-placeholder-' + _this.$element.attr('id'));\n          if ($placeholder.length) {\n            $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id'));\n            $placeholder.remove();\n          } else {\n            $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id'));\n          };\n          $panels.each(function (key, value) {\n            var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n            var hash = $liHeadsA.get(key).hash.slice(1);\n            var id = $(value).attr('id') || Foundation.GetYoDigits(6, 'accordion');\n            if (hash !== id) {\n              if (hash !== '') {\n                $(value).attr('id', hash);\n              } else {\n                hash = id;\n                $(value).attr('id', hash);\n                $($liHeadsA.get(key)).attr('href', $($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash);\n              };\n            };\n            var isActive = $($liHeads.get(key)).hasClass('is-active');\n            if (isActive) {\n              tempValue.addClass('is-active');\n            };\n          });\n          $liHeads.addClass(tabsTitle);\n        };\n      }\n\n      /**\n       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        if (this.currentPlugin) this.currentPlugin.destroy();\n        $(window).off('.zf.ResponsiveAccordionTabs');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveAccordionTabs;\n  }();\n\n  ResponsiveAccordionTabs.defaults = {};\n\n  // The plugin matches the plugin classes with these plugin instances.\n  var MenuPlugins = {\n    tabs: {\n      cssClass: 'tabs',\n      plugin: Foundation._plugins.tabs || null\n    },\n    accordion: {\n      cssClass: 'accordion',\n      plugin: Foundation._plugins.accordion || null\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.abide.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Abide module.\n   * @module foundation.abide\n   */\n\n  var Abide = function () {\n    /**\n     * Creates a new instance of Abide.\n     * @class\n     * @fires Abide#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Abide(element) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      _classCallCheck(this, Abide);\n\n      this.$element = element;\n      this.options = $.extend({}, Abide.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Abide');\n    }\n\n    /**\n     * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n     * @private\n     */\n\n\n    _createClass(Abide, [{\n      key: '_init',\n      value: function _init() {\n        this.$inputs = this.$element.find('input, textarea, select');\n\n        this._events();\n      }\n\n      /**\n       * Initializes events for Abide.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        this.$element.off('.abide').on('reset.zf.abide', function () {\n          _this2.resetForm();\n        }).on('submit.zf.abide', function () {\n          return _this2.validateForm();\n        });\n\n        if (this.options.validateOn === 'fieldChange') {\n          this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n\n        if (this.options.liveValidate) {\n          this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n\n        if (this.options.validateOnBlur) {\n          this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {\n            _this2.validateInput($(e.target));\n          });\n        }\n      }\n\n      /**\n       * Calls necessary functions to update Abide upon DOM change\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        this._init();\n      }\n\n      /**\n       * Checks whether or not a form element has the required attribute and if it's checked or not\n       * @param {Object} element - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'requiredCheck',\n      value: function requiredCheck($el) {\n        if (!$el.attr('required')) return true;\n\n        var isGood = true;\n\n        switch ($el[0].type) {\n          case 'checkbox':\n            isGood = $el[0].checked;\n            break;\n\n          case 'select':\n          case 'select-one':\n          case 'select-multiple':\n            var opt = $el.find('option:selected');\n            if (!opt.length || !opt.val()) isGood = false;\n            break;\n\n          default:\n            if (!$el.val() || !$el.val().length) isGood = false;\n        }\n\n        return isGood;\n      }\n\n      /**\n       * Based on $el, get the first element with selector in this order:\n       * 1. The element's direct sibling('s).\n       * 3. The element's parent's children.\n       *\n       * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n       *\n       * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n       * @returns {Object} jQuery object with the selector.\n       */\n\n    }, {\n      key: 'findFormError',\n      value: function findFormError($el) {\n        var $error = $el.siblings(this.options.formErrorSelector);\n\n        if (!$error.length) {\n          $error = $el.parent().find(this.options.formErrorSelector);\n        }\n\n        return $error;\n      }\n\n      /**\n       * Get the first element in this order:\n       * 2. The <label> with the attribute `[for=\"someInputId\"]`\n       * 3. The `.closest()` <label>\n       *\n       * @param {Object} $el - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'findLabel',\n      value: function findLabel($el) {\n        var id = $el[0].id;\n        var $label = this.$element.find('label[for=\"' + id + '\"]');\n\n        if (!$label.length) {\n          return $el.closest('label');\n        }\n\n        return $label;\n      }\n\n      /**\n       * Get the set of labels associated with a set of radio els in this order\n       * 2. The <label> with the attribute `[for=\"someInputId\"]`\n       * 3. The `.closest()` <label>\n       *\n       * @param {Object} $el - jQuery object to check for required attribute\n       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n       */\n\n    }, {\n      key: 'findRadioLabels',\n      value: function findRadioLabels($els) {\n        var _this3 = this;\n\n        var labels = $els.map(function (i, el) {\n          var id = el.id;\n          var $label = _this3.$element.find('label[for=\"' + id + '\"]');\n\n          if (!$label.length) {\n            $label = $(el).closest('label');\n          }\n          return $label[0];\n        });\n\n        return $(labels);\n      }\n\n      /**\n       * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n       * @param {Object} $el - jQuery object to add the class to\n       */\n\n    }, {\n      key: 'addErrorClasses',\n      value: function addErrorClasses($el) {\n        var $label = this.findLabel($el);\n        var $formError = this.findFormError($el);\n\n        if ($label.length) {\n          $label.addClass(this.options.labelErrorClass);\n        }\n\n        if ($formError.length) {\n          $formError.addClass(this.options.formErrorClass);\n        }\n\n        $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');\n      }\n\n      /**\n       * Remove CSS error classes etc from an entire radio button group\n       * @param {String} groupName - A string that specifies the name of a radio button group\n       *\n       */\n\n    }, {\n      key: 'removeRadioErrorClasses',\n      value: function removeRadioErrorClasses(groupName) {\n        var $els = this.$element.find(':radio[name=\"' + groupName + '\"]');\n        var $labels = this.findRadioLabels($els);\n        var $formErrors = this.findFormError($els);\n\n        if ($labels.length) {\n          $labels.removeClass(this.options.labelErrorClass);\n        }\n\n        if ($formErrors.length) {\n          $formErrors.removeClass(this.options.formErrorClass);\n        }\n\n        $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n      }\n\n      /**\n       * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n       * @param {Object} $el - jQuery object to remove the class from\n       */\n\n    }, {\n      key: 'removeErrorClasses',\n      value: function removeErrorClasses($el) {\n        // radios need to clear all of the els\n        if ($el[0].type == 'radio') {\n          return this.removeRadioErrorClasses($el.attr('name'));\n        }\n\n        var $label = this.findLabel($el);\n        var $formError = this.findFormError($el);\n\n        if ($label.length) {\n          $label.removeClass(this.options.labelErrorClass);\n        }\n\n        if ($formError.length) {\n          $formError.removeClass(this.options.formErrorClass);\n        }\n\n        $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n      }\n\n      /**\n       * Goes through a form to find inputs and proceeds to validate them in ways specific to their type\n       * @fires Abide#invalid\n       * @fires Abide#valid\n       * @param {Object} element - jQuery object to validate, should be an HTML input\n       * @returns {Boolean} goodToGo - If the input is valid or not.\n       */\n\n    }, {\n      key: 'validateInput',\n      value: function validateInput($el) {\n        var _this4 = this;\n\n        var clearRequire = this.requiredCheck($el),\n            validated = false,\n            customValidator = true,\n            validator = $el.attr('data-validator'),\n            equalTo = true;\n\n        // don't validate ignored inputs or hidden inputs\n        if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]')) {\n          return true;\n        }\n\n        switch ($el[0].type) {\n          case 'radio':\n            validated = this.validateRadio($el.attr('name'));\n            break;\n\n          case 'checkbox':\n            validated = clearRequire;\n            break;\n\n          case 'select':\n          case 'select-one':\n          case 'select-multiple':\n            validated = clearRequire;\n            break;\n\n          default:\n            validated = this.validateText($el);\n        }\n\n        if (validator) {\n          customValidator = this.matchValidation($el, validator, $el.attr('required'));\n        }\n\n        if ($el.attr('data-equalto')) {\n          equalTo = this.options.validators.equalTo($el);\n        }\n\n        var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;\n        var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n\n        if (goodToGo) {\n          // Re-validate inputs that depend on this one with equalto\n          var dependentElements = this.$element.find('[data-equalto=\"' + $el.attr('id') + '\"]');\n          if (dependentElements.length) {\n            (function () {\n              var _this = _this4;\n              dependentElements.each(function () {\n                if ($(this).val()) {\n                  _this.validateInput($(this));\n                }\n              });\n            })();\n          }\n        }\n\n        this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);\n\n        /**\n         * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n         * Trigger includes the DOM element of the input.\n         * @event Abide#valid\n         * @event Abide#invalid\n         */\n        $el.trigger(message, [$el]);\n\n        return goodToGo;\n      }\n\n      /**\n       * Goes through a form and if there are any invalid inputs, it will display the form error element\n       * @returns {Boolean} noError - true if no errors were detected...\n       * @fires Abide#formvalid\n       * @fires Abide#forminvalid\n       */\n\n    }, {\n      key: 'validateForm',\n      value: function validateForm() {\n        var acc = [];\n        var _this = this;\n\n        this.$inputs.each(function () {\n          acc.push(_this.validateInput($(this)));\n        });\n\n        var noError = acc.indexOf(false) === -1;\n\n        this.$element.find('[data-abide-error]').css('display', noError ? 'none' : 'block');\n\n        /**\n         * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n         * Trigger includes the element of the form.\n         * @event Abide#formvalid\n         * @event Abide#forminvalid\n         */\n        this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n\n        return noError;\n      }\n\n      /**\n       * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.\n       * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n       * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n       * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n       */\n\n    }, {\n      key: 'validateText',\n      value: function validateText($el, pattern) {\n        // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n        pattern = pattern || $el.attr('pattern') || $el.attr('type');\n        var inputText = $el.val();\n        var valid = false;\n\n        if (inputText.length) {\n          // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n          if (this.options.patterns.hasOwnProperty(pattern)) {\n            valid = this.options.patterns[pattern].test(inputText);\n          }\n          // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n          else if (pattern !== $el.attr('type')) {\n              valid = new RegExp(pattern).test(inputText);\n            } else {\n              valid = true;\n            }\n        }\n        // An empty field is valid if it's not required\n        else if (!$el.prop('required')) {\n            valid = true;\n          }\n\n        return valid;\n      }\n\n      /**\n       * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.\n       * @param {String} groupName - A string that specifies the name of a radio button group\n       * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n       */\n\n    }, {\n      key: 'validateRadio',\n      value: function validateRadio(groupName) {\n        // If at least one radio in the group has the `required` attribute, the group is considered required\n        // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n        var $group = this.$element.find(':radio[name=\"' + groupName + '\"]');\n        var valid = false,\n            required = false;\n\n        // For the group to be required, at least one radio needs to be required\n        $group.each(function (i, e) {\n          if ($(e).attr('required')) {\n            required = true;\n          }\n        });\n        if (!required) valid = true;\n\n        if (!valid) {\n          // For the group to be valid, at least one radio needs to be checked\n          $group.each(function (i, e) {\n            if ($(e).prop('checked')) {\n              valid = true;\n            }\n          });\n        };\n\n        return valid;\n      }\n\n      /**\n       * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator=\"foo bar baz\"` in a space separated listed.\n       * @param {Object} $el - jQuery input element.\n       * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n       * @param {Boolean} required - self explanatory?\n       * @returns {Boolean} - true if validations passed.\n       */\n\n    }, {\n      key: 'matchValidation',\n      value: function matchValidation($el, validators, required) {\n        var _this5 = this;\n\n        required = required ? true : false;\n\n        var clear = validators.split(' ').map(function (v) {\n          return _this5.options.validators[v]($el, required, $el.parent());\n        });\n        return clear.indexOf(false) === -1;\n      }\n\n      /**\n       * Resets form inputs and styles\n       * @fires Abide#formreset\n       */\n\n    }, {\n      key: 'resetForm',\n      value: function resetForm() {\n        var $form = this.$element,\n            opts = this.options;\n\n        $('.' + opts.labelErrorClass, $form).not('small').removeClass(opts.labelErrorClass);\n        $('.' + opts.inputErrorClass, $form).not('small').removeClass(opts.inputErrorClass);\n        $(opts.formErrorSelector + '.' + opts.formErrorClass).removeClass(opts.formErrorClass);\n        $form.find('[data-abide-error]').css('display', 'none');\n        $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');\n        $(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');\n        $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');\n        /**\n         * Fires when the form has been reset.\n         * @event Abide#formreset\n         */\n        $form.trigger('formreset.zf.abide', [$form]);\n      }\n\n      /**\n       * Destroys an instance of Abide.\n       * Removes error styles and classes from elements, without resetting their values.\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        var _this = this;\n        this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');\n\n        this.$inputs.off('.abide').each(function () {\n          _this.removeErrorClasses($(this));\n        });\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Abide;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Abide.defaults = {\n    /**\n     * The default event to validate inputs. Checkboxes and radios validate immediately.\n     * Remove or change this value for manual validation.\n     * @option\n     * @example 'fieldChange'\n     */\n    validateOn: 'fieldChange',\n\n    /**\n     * Class to be applied to input labels on failed validation.\n     * @option\n     * @example 'is-invalid-label'\n     */\n    labelErrorClass: 'is-invalid-label',\n\n    /**\n     * Class to be applied to inputs on failed validation.\n     * @option\n     * @example 'is-invalid-input'\n     */\n    inputErrorClass: 'is-invalid-input',\n\n    /**\n     * Class selector to use to target Form Errors for show/hide.\n     * @option\n     * @example '.form-error'\n     */\n    formErrorSelector: '.form-error',\n\n    /**\n     * Class added to Form Errors on failed validation.\n     * @option\n     * @example 'is-visible'\n     */\n    formErrorClass: 'is-visible',\n\n    /**\n     * Set to true to validate text inputs on any value change.\n     * @option\n     * @example false\n     */\n    liveValidate: false,\n\n    /**\n     * Set to true to validate inputs on blur.\n     * @option\n     * @example false\n     */\n    validateOnBlur: false,\n\n    patterns: {\n      alpha: /^[a-zA-Z]+$/,\n      alpha_numeric: /^[a-zA-Z0-9]+$/,\n      integer: /^[-+]?\\d+$/,\n      number: /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n\n      // amex, visa, diners\n      card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/,\n      cvv: /^([0-9]){3,4}$/,\n\n      // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n      email: /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,\n\n      url: /^(https?|ftp|file|ssh):\\/\\/(((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/,\n      // abc.de\n      domain: /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n\n      datetime: /^([0-2][0-9]{3})\\-([0-1][0-9])\\-([0-3][0-9])T([0-5][0-9])\\:([0-5][0-9])\\:([0-5][0-9])(Z|([\\-\\+]([0-1][0-9])\\:00))$/,\n      // YYYY-MM-DD\n      date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,\n      // HH:MM:SS\n      time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n      dateISO: /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n      // MM/DD/YYYY\n      month_day_year: /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n      // DD/MM/YYYY\n      day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n\n      // #FFF or #FFFFFF\n      color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/\n    },\n\n    /**\n     * Optional validation functions to be used. `equalTo` being the only default included function.\n     * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n     * el : The jQuery element to validate.\n     * required : Boolean value of the required attribute be present or not.\n     * parent : The direct parent of the input.\n     * @option\n     */\n    validators: {\n      equalTo: function (el, required, parent) {\n        return $('#' + el.attr('data-equalto')).val() === el.val();\n      }\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(Abide, 'Abide');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.accordion.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Accordion module.\n   * @module foundation.accordion\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   */\n\n  var Accordion = function () {\n    /**\n     * Creates a new instance of an accordion.\n     * @class\n     * @fires Accordion#init\n     * @param {jQuery} element - jQuery object to make into an accordion.\n     * @param {Object} options - a plain object with settings to override the default options.\n     */\n    function Accordion(element, options) {\n      _classCallCheck(this, Accordion);\n\n      this.$element = element;\n      this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Accordion');\n      Foundation.Keyboard.register('Accordion', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_DOWN': 'next',\n        'ARROW_UP': 'previous'\n      });\n    }\n\n    /**\n     * Initializes the accordion by animating the preset active pane(s).\n     * @private\n     */\n\n\n    _createClass(Accordion, [{\n      key: '_init',\n      value: function _init() {\n        this.$element.attr('role', 'tablist');\n        this.$tabs = this.$element.children('[data-accordion-item]');\n\n        this.$tabs.each(function (idx, el) {\n          var $el = $(el),\n              $content = $el.children('[data-tab-content]'),\n              id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),\n              linkId = el.id || id + '-label';\n\n          $el.find('a:first').attr({\n            'aria-controls': id,\n            'role': 'tab',\n            'id': linkId,\n            'aria-expanded': false,\n            'aria-selected': false\n          });\n\n          $content.attr({ 'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id });\n        });\n        var $initActive = this.$element.find('.is-active').children('[data-tab-content]');\n        if ($initActive.length) {\n          this.down($initActive, true);\n        }\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the accordion.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this.$tabs.each(function () {\n          var $elem = $(this);\n          var $tabContent = $elem.children('[data-tab-content]');\n          if ($tabContent.length) {\n            $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {\n              e.preventDefault();\n              _this.toggle($tabContent);\n            }).on('keydown.zf.accordion', function (e) {\n              Foundation.Keyboard.handleKey(e, 'Accordion', {\n                toggle: function () {\n                  _this.toggle($tabContent);\n                },\n                next: function () {\n                  var $a = $elem.next().find('a').focus();\n                  if (!_this.options.multiExpand) {\n                    $a.trigger('click.zf.accordion');\n                  }\n                },\n                previous: function () {\n                  var $a = $elem.prev().find('a').focus();\n                  if (!_this.options.multiExpand) {\n                    $a.trigger('click.zf.accordion');\n                  }\n                },\n                handled: function () {\n                  e.preventDefault();\n                  e.stopPropagation();\n                }\n              });\n            });\n          }\n        });\n      }\n\n      /**\n       * Toggles the selected content pane's open/close state.\n       * @param {jQuery} $target - jQuery object of the pane to toggle (`.accordion-content`).\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle($target) {\n        if ($target.parent().hasClass('is-active')) {\n          this.up($target);\n        } else {\n          this.down($target);\n        }\n      }\n\n      /**\n       * Opens the accordion tab defined by `$target`.\n       * @param {jQuery} $target - Accordion pane to open (`.accordion-content`).\n       * @param {Boolean} firstTime - flag to determine if reflow should happen.\n       * @fires Accordion#down\n       * @function\n       */\n\n    }, {\n      key: 'down',\n      value: function down($target, firstTime) {\n        var _this2 = this;\n\n        $target.attr('aria-hidden', false).parent('[data-tab-content]').addBack().parent().addClass('is-active');\n\n        if (!this.options.multiExpand && !firstTime) {\n          var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');\n          if ($currentActive.length) {\n            this.up($currentActive.not($target));\n          }\n        }\n\n        $target.slideDown(this.options.slideSpeed, function () {\n          /**\n           * Fires when the tab is done opening.\n           * @event Accordion#down\n           */\n          _this2.$element.trigger('down.zf.accordion', [$target]);\n        });\n\n        $('#' + $target.attr('aria-labelledby')).attr({\n          'aria-expanded': true,\n          'aria-selected': true\n        });\n      }\n\n      /**\n       * Closes the tab defined by `$target`.\n       * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).\n       * @fires Accordion#up\n       * @function\n       */\n\n    }, {\n      key: 'up',\n      value: function up($target) {\n        var $aunts = $target.parent().siblings(),\n            _this = this;\n\n        if (!this.options.allowAllClosed && !$aunts.hasClass('is-active') || !$target.parent().hasClass('is-active')) {\n          return;\n        }\n\n        // Foundation.Move(this.options.slideSpeed, $target, function(){\n        $target.slideUp(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the tab is done collapsing up.\n           * @event Accordion#up\n           */\n          _this.$element.trigger('up.zf.accordion', [$target]);\n        });\n        // });\n\n        $target.attr('aria-hidden', true).parent().removeClass('is-active');\n\n        $('#' + $target.attr('aria-labelledby')).attr({\n          'aria-expanded': false,\n          'aria-selected': false\n        });\n      }\n\n      /**\n       * Destroys an instance of an accordion.\n       * @fires Accordion#destroyed\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');\n        this.$element.find('a').off('.zf.accordion');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Accordion;\n  }();\n\n  Accordion.defaults = {\n    /**\n     * Amount of time to animate the opening of an accordion pane.\n     * @option\n     * @example 250\n     */\n    slideSpeed: 250,\n    /**\n     * Allow the accordion to have multiple open panes.\n     * @option\n     * @example false\n     */\n    multiExpand: false,\n    /**\n     * Allow the accordion to close all panes.\n     * @option\n     * @example false\n     */\n    allowAllClosed: false\n  };\n\n  // Window exports\n  Foundation.plugin(Accordion, 'Accordion');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.accordionMenu.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * AccordionMenu module.\n   * @module foundation.accordionMenu\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.nest\n   */\n\n  var AccordionMenu = function () {\n    /**\n     * Creates a new instance of an accordion menu.\n     * @class\n     * @fires AccordionMenu#init\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function AccordionMenu(element, options) {\n      _classCallCheck(this, AccordionMenu);\n\n      this.$element = element;\n      this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'accordion');\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'AccordionMenu');\n      Foundation.Keyboard.register('AccordionMenu', {\n        'ENTER': 'toggle',\n        'SPACE': 'toggle',\n        'ARROW_RIGHT': 'open',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'close',\n        'ESCAPE': 'closeAll'\n      });\n    }\n\n    /**\n     * Initializes the accordion menu by hiding all nested menus.\n     * @private\n     */\n\n\n    _createClass(AccordionMenu, [{\n      key: '_init',\n      value: function _init() {\n        this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');\n        this.$element.attr({\n          'role': 'menu',\n          'aria-multiselectable': this.options.multiOpen\n        });\n\n        this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');\n        this.$menuLinks.each(function () {\n          var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),\n              $elem = $(this),\n              $sub = $elem.children('[data-submenu]'),\n              subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),\n              isActive = $sub.hasClass('is-active');\n          $elem.attr({\n            'aria-controls': subId,\n            'aria-expanded': isActive,\n            'role': 'menuitem',\n            'id': linkId\n          });\n          $sub.attr({\n            'aria-labelledby': linkId,\n            'aria-hidden': !isActive,\n            'role': 'menu',\n            'id': subId\n          });\n        });\n        var initPanes = this.$element.find('.is-active');\n        if (initPanes.length) {\n          var _this = this;\n          initPanes.each(function () {\n            _this.down($(this));\n          });\n        }\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the menu.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this.$element.find('li').each(function () {\n          var $submenu = $(this).children('[data-submenu]');\n\n          if ($submenu.length) {\n            $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {\n              e.preventDefault();\n\n              _this.toggle($submenu);\n            });\n          }\n        }).on('keydown.zf.accordionmenu', function (e) {\n          var $element = $(this),\n              $elements = $element.parent('ul').children('li'),\n              $prevElement,\n              $nextElement,\n              $target = $element.children('[data-submenu]');\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();\n              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();\n\n              if ($(this).children('[data-submenu]:visible').length) {\n                // has open sub menu\n                $nextElement = $element.find('li:first-child').find('a').first();\n              }\n              if ($(this).is(':first-child')) {\n                // is first element of sub menu\n                $prevElement = $element.parents('li').first().find('a').first();\n              } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) {\n                // if previous element has open sub menu\n                $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n              }\n              if ($(this).is(':last-child')) {\n                // is last element of sub menu\n                $nextElement = $element.parents('li').first().next('li').find('a').first();\n              }\n\n              return;\n            }\n          });\n\n          Foundation.Keyboard.handleKey(e, 'AccordionMenu', {\n            open: function () {\n              if ($target.is(':hidden')) {\n                _this.down($target);\n                $target.find('li').first().find('a').first().focus();\n              }\n            },\n            close: function () {\n              if ($target.length && !$target.is(':hidden')) {\n                // close active sub of this item\n                _this.up($target);\n              } else if ($element.parent('[data-submenu]').length) {\n                // close currently open sub\n                _this.up($element.parent('[data-submenu]'));\n                $element.parents('li').first().find('a').first().focus();\n              }\n            },\n            up: function () {\n              $prevElement.focus();\n              return true;\n            },\n            down: function () {\n              $nextElement.focus();\n              return true;\n            },\n            toggle: function () {\n              if ($element.children('[data-submenu]').length) {\n                _this.toggle($element.children('[data-submenu]'));\n              }\n            },\n            closeAll: function () {\n              _this.hideAll();\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n              e.stopImmediatePropagation();\n            }\n          });\n        }); //.attr('tabindex', 0);\n      }\n\n      /**\n       * Closes all panes of the menu.\n       * @function\n       */\n\n    }, {\n      key: 'hideAll',\n      value: function hideAll() {\n        this.up(this.$element.find('[data-submenu]'));\n      }\n\n      /**\n       * Opens all panes of the menu.\n       * @function\n       */\n\n    }, {\n      key: 'showAll',\n      value: function showAll() {\n        this.down(this.$element.find('[data-submenu]'));\n      }\n\n      /**\n       * Toggles the open/close state of a submenu.\n       * @function\n       * @param {jQuery} $target - the submenu to toggle\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle($target) {\n        if (!$target.is(':animated')) {\n          if (!$target.is(':hidden')) {\n            this.up($target);\n          } else {\n            this.down($target);\n          }\n        }\n      }\n\n      /**\n       * Opens the sub-menu defined by `$target`.\n       * @param {jQuery} $target - Sub-menu to open.\n       * @fires AccordionMenu#down\n       */\n\n    }, {\n      key: 'down',\n      value: function down($target) {\n        var _this = this;\n\n        if (!this.options.multiOpen) {\n          this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));\n        }\n\n        $target.addClass('is-active').attr({ 'aria-hidden': false }).parent('.is-accordion-submenu-parent').attr({ 'aria-expanded': true });\n\n        //Foundation.Move(this.options.slideSpeed, $target, function() {\n        $target.slideDown(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the menu is done opening.\n           * @event AccordionMenu#down\n           */\n          _this.$element.trigger('down.zf.accordionMenu', [$target]);\n        });\n        //});\n      }\n\n      /**\n       * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n       * @param {jQuery} $target - Sub-menu to close.\n       * @fires AccordionMenu#up\n       */\n\n    }, {\n      key: 'up',\n      value: function up($target) {\n        var _this = this;\n        //Foundation.Move(this.options.slideSpeed, $target, function(){\n        $target.slideUp(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the menu is done collapsing up.\n           * @event AccordionMenu#up\n           */\n          _this.$element.trigger('up.zf.accordionMenu', [$target]);\n        });\n        //});\n\n        var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);\n\n        $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n      }\n\n      /**\n       * Destroys an instance of accordion menu.\n       * @fires AccordionMenu#destroyed\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n        this.$element.find('a').off('click.zf.accordionMenu');\n\n        Foundation.Nest.Burn(this.$element, 'accordion');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return AccordionMenu;\n  }();\n\n  AccordionMenu.defaults = {\n    /**\n     * Amount of time to animate the opening of a submenu in ms.\n     * @option\n     * @example 250\n     */\n    slideSpeed: 250,\n    /**\n     * Allow the menu to have multiple open panes.\n     * @option\n     * @example true\n     */\n    multiOpen: true\n  };\n\n  // Window exports\n  Foundation.plugin(AccordionMenu, 'AccordionMenu');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.core.js",
    "content": "!function ($) {\n\n  \"use strict\";\n\n  var FOUNDATION_VERSION = '6.3.0';\n\n  // Global Foundation object\n  // This is attached to the window, or used as a module for AMD/Browserify\n  var Foundation = {\n    version: FOUNDATION_VERSION,\n\n    /**\n     * Stores initialized plugins.\n     */\n    _plugins: {},\n\n    /**\n     * Stores generated unique ids for plugin instances\n     */\n    _uuids: [],\n\n    /**\n     * Returns a boolean for RTL support\n     */\n    rtl: function () {\n      return $('html').attr('dir') === 'rtl';\n    },\n    /**\n     * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n     * @param {Object} plugin - The constructor of the plugin.\n     */\n    plugin: function (plugin, name) {\n      // Object key to use when adding to global Foundation object\n      // Examples: Foundation.Reveal, Foundation.OffCanvas\n      var className = name || functionName(plugin);\n      // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n      // Examples: data-reveal, data-off-canvas\n      var attrName = hyphenate(className);\n\n      // Add to the Foundation object and the plugins list (for reflowing)\n      this._plugins[attrName] = this[className] = plugin;\n    },\n    /**\n     * @function\n     * Populates the _uuids array with pointers to each individual plugin instance.\n     * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n     * Also fires the initialization event for each plugin, consolidating repetitive code.\n     * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n     * @param {String} name - the name of the plugin, passed as a camelCased string.\n     * @fires Plugin#init\n     */\n    registerPlugin: function (plugin, name) {\n      var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n      plugin.uuid = this.GetYoDigits(6, pluginName);\n\n      if (!plugin.$element.attr('data-' + pluginName)) {\n        plugin.$element.attr('data-' + pluginName, plugin.uuid);\n      }\n      if (!plugin.$element.data('zfPlugin')) {\n        plugin.$element.data('zfPlugin', plugin);\n      }\n      /**\n       * Fires when the plugin has initialized.\n       * @event Plugin#init\n       */\n      plugin.$element.trigger('init.zf.' + pluginName);\n\n      this._uuids.push(plugin.uuid);\n\n      return;\n    },\n    /**\n     * @function\n     * Removes the plugins uuid from the _uuids array.\n     * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n     * Also fires the destroyed event for the plugin, consolidating repetitive code.\n     * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n     * @fires Plugin#destroyed\n     */\n    unregisterPlugin: function (plugin) {\n      var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n      this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n      plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')\n      /**\n       * Fires when the plugin has been destroyed.\n       * @event Plugin#destroyed\n       */\n      .trigger('destroyed.zf.' + pluginName);\n      for (var prop in plugin) {\n        plugin[prop] = null; //clean up script to prep for garbage collection.\n      }\n      return;\n    },\n\n    /**\n     * @function\n     * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n     * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n     * @default If no argument is passed, reflow all currently active plugins.\n     */\n    reInit: function (plugins) {\n      var isJQ = plugins instanceof $;\n      try {\n        if (isJQ) {\n          plugins.each(function () {\n            $(this).data('zfPlugin')._init();\n          });\n        } else {\n          var type = typeof plugins,\n              _this = this,\n              fns = {\n            'object': function (plgs) {\n              plgs.forEach(function (p) {\n                p = hyphenate(p);\n                $('[data-' + p + ']').foundation('_init');\n              });\n            },\n            'string': function () {\n              plugins = hyphenate(plugins);\n              $('[data-' + plugins + ']').foundation('_init');\n            },\n            'undefined': function () {\n              this['object'](Object.keys(_this._plugins));\n            }\n          };\n          fns[type](plugins);\n        }\n      } catch (err) {\n        console.error(err);\n      } finally {\n        return plugins;\n      }\n    },\n\n    /**\n     * returns a random base-36 uid with namespacing\n     * @function\n     * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n     * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n     * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n     * @returns {String} - unique id\n     */\n    GetYoDigits: function (length, namespace) {\n      length = length || 6;\n      return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');\n    },\n    /**\n     * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n     * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n     * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n     */\n    reflow: function (elem, plugins) {\n\n      // If plugins is undefined, just grab everything\n      if (typeof plugins === 'undefined') {\n        plugins = Object.keys(this._plugins);\n      }\n      // If plugins is a string, convert it to an array with one item\n      else if (typeof plugins === 'string') {\n          plugins = [plugins];\n        }\n\n      var _this = this;\n\n      // Iterate through each plugin\n      $.each(plugins, function (i, name) {\n        // Get the current plugin\n        var plugin = _this._plugins[name];\n\n        // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n        var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');\n\n        // For each plugin found, initialize it\n        $elem.each(function () {\n          var $el = $(this),\n              opts = {};\n          // Don't double-dip on plugins\n          if ($el.data('zfPlugin')) {\n            console.warn(\"Tried to initialize \" + name + \" on an element that already has a Foundation plugin.\");\n            return;\n          }\n\n          if ($el.attr('data-options')) {\n            var thing = $el.attr('data-options').split(';').forEach(function (e, i) {\n              var opt = e.split(':').map(function (el) {\n                return el.trim();\n              });\n              if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n            });\n          }\n          try {\n            $el.data('zfPlugin', new plugin($(this), opts));\n          } catch (er) {\n            console.error(er);\n          } finally {\n            return;\n          }\n        });\n      });\n    },\n    getFnName: functionName,\n    transitionend: function ($elem) {\n      var transitions = {\n        'transition': 'transitionend',\n        'WebkitTransition': 'webkitTransitionEnd',\n        'MozTransition': 'transitionend',\n        'OTransition': 'otransitionend'\n      };\n      var elem = document.createElement('div'),\n          end;\n\n      for (var t in transitions) {\n        if (typeof elem.style[t] !== 'undefined') {\n          end = transitions[t];\n        }\n      }\n      if (end) {\n        return end;\n      } else {\n        end = setTimeout(function () {\n          $elem.triggerHandler('transitionend', [$elem]);\n        }, 1);\n        return 'transitionend';\n      }\n    }\n  };\n\n  Foundation.util = {\n    /**\n     * Function for applying a debounce effect to a function call.\n     * @function\n     * @param {Function} func - Function to be called at end of timeout.\n     * @param {Number} delay - Time in ms to delay the call of `func`.\n     * @returns function\n     */\n    throttle: function (func, delay) {\n      var timer = null;\n\n      return function () {\n        var context = this,\n            args = arguments;\n\n        if (timer === null) {\n          timer = setTimeout(function () {\n            func.apply(context, args);\n            timer = null;\n          }, delay);\n        }\n      };\n    }\n  };\n\n  // TODO: consider not making this a jQuery function\n  // TODO: need way to reflow vs. re-initialize\n  /**\n   * The Foundation jQuery method.\n   * @param {String|Array} method - An action to perform on the current jQuery object.\n   */\n  var foundation = function (method) {\n    var type = typeof method,\n        $meta = $('meta.foundation-mq'),\n        $noJS = $('.no-js');\n\n    if (!$meta.length) {\n      $('<meta class=\"foundation-mq\">').appendTo(document.head);\n    }\n    if ($noJS.length) {\n      $noJS.removeClass('no-js');\n    }\n\n    if (type === 'undefined') {\n      //needs to initialize the Foundation object, or an individual plugin.\n      Foundation.MediaQuery._init();\n      Foundation.reflow(this);\n    } else if (type === 'string') {\n      //an individual method to invoke on a plugin or group of plugins\n      var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n      var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n      if (plugClass !== undefined && plugClass[method] !== undefined) {\n        //make sure both the class and method exist\n        if (this.length === 1) {\n          //if there's only one, call it directly.\n          plugClass[method].apply(plugClass, args);\n        } else {\n          this.each(function (i, el) {\n            //otherwise loop through the jQuery collection and invoke the method on each\n            plugClass[method].apply($(el).data('zfPlugin'), args);\n          });\n        }\n      } else {\n        //error for no class or no method\n        throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n      }\n    } else {\n      //error for invalid argument type\n      throw new TypeError('We\\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');\n    }\n    return this;\n  };\n\n  window.Foundation = Foundation;\n  $.fn.foundation = foundation;\n\n  // Polyfill for requestAnimationFrame\n  (function () {\n    if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n      return new Date().getTime();\n    };\n\n    var vendors = ['webkit', 'moz'];\n    for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n      window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n    }\n    if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n      var lastTime = 0;\n      window.requestAnimationFrame = function (callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function () {\n          callback(lastTime = nextTime);\n        }, nextTime - now);\n      };\n      window.cancelAnimationFrame = clearTimeout;\n    }\n    /**\n     * Polyfill for performance.now, required by rAF\n     */\n    if (!window.performance || !window.performance.now) {\n      window.performance = {\n        start: Date.now(),\n        now: function () {\n          return Date.now() - this.start;\n        }\n      };\n    }\n  })();\n  if (!Function.prototype.bind) {\n    Function.prototype.bind = function (oThis) {\n      if (typeof this !== 'function') {\n        // closest thing possible to the ECMAScript 5\n        // internal IsCallable function\n        throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n      }\n\n      var aArgs = Array.prototype.slice.call(arguments, 1),\n          fToBind = this,\n          fNOP = function () {},\n          fBound = function () {\n        return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n      };\n\n      if (this.prototype) {\n        // native functions don't have a prototype\n        fNOP.prototype = this.prototype;\n      }\n      fBound.prototype = new fNOP();\n\n      return fBound;\n    };\n  }\n  // Polyfill to get the name of a function in IE9\n  function functionName(fn) {\n    if (Function.prototype.name === undefined) {\n      var funcNameRegex = /function\\s([^(]{1,})\\(/;\n      var results = funcNameRegex.exec(fn.toString());\n      return results && results.length > 1 ? results[1].trim() : \"\";\n    } else if (fn.prototype === undefined) {\n      return fn.constructor.name;\n    } else {\n      return fn.prototype.constructor.name;\n    }\n  }\n  function parseValue(str) {\n    if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n    return str;\n  }\n  // Convert PascalCase to kebab-case\n  // Thank you: http://stackoverflow.com/a/8955580\n  function hyphenate(str) {\n    return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n  }\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.drilldown.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Drilldown module.\n   * @module foundation.drilldown\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.nest\n   */\n\n  var Drilldown = function () {\n    /**\n     * Creates a new instance of a drilldown menu.\n     * @class\n     * @param {jQuery} element - jQuery object to make into an accordion menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Drilldown(element, options) {\n      _classCallCheck(this, Drilldown);\n\n      this.$element = element;\n      this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'drilldown');\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Drilldown');\n      Foundation.Keyboard.register('Drilldown', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close',\n        'TAB': 'down',\n        'SHIFT_TAB': 'up'\n      });\n    }\n\n    /**\n     * Initializes the drilldown by creating jQuery collections of elements\n     * @private\n     */\n\n\n    _createClass(Drilldown, [{\n      key: '_init',\n      value: function _init() {\n        this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n        this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');\n        this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');\n        this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || Foundation.GetYoDigits(6, 'drilldown'));\n\n        this._prepareMenu();\n        this._registerEvents();\n\n        this._keyboardEvents();\n      }\n\n      /**\n       * prepares drilldown menu by setting attributes to links and elements\n       * sets a min height to prevent content jumping\n       * wraps the element if not already wrapped\n       * @private\n       * @function\n       */\n\n    }, {\n      key: '_prepareMenu',\n      value: function _prepareMenu() {\n        var _this = this;\n        // if(!this.options.holdOpen){\n        //   this._menuLinkEvents();\n        // }\n        this.$submenuAnchors.each(function () {\n          var $link = $(this);\n          var $sub = $link.parent();\n          if (_this.options.parentLink) {\n            $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class=\"is-submenu-parent-item is-submenu-item is-drilldown-submenu-item\" role=\"menu-item\"></li>');\n          }\n          $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n          $link.children('[data-submenu]').attr({\n            'aria-hidden': true,\n            'tabindex': 0,\n            'role': 'menu'\n          });\n          _this._events($link);\n        });\n        this.$submenus.each(function () {\n          var $menu = $(this),\n              $back = $menu.find('.js-drilldown-back');\n          if (!$back.length) {\n            switch (_this.options.backButtonPosition) {\n              case \"bottom\":\n                $menu.append(_this.options.backButton);\n                break;\n              case \"top\":\n                $menu.prepend(_this.options.backButton);\n                break;\n              default:\n                console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n            }\n          }\n          _this._back($menu);\n        });\n\n        if (!this.options.autoHeight) {\n          this.$submenus.addClass('drilldown-submenu-cover-previous');\n        }\n\n        if (!this.$element.parent().hasClass('is-drilldown')) {\n          this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');\n          if (this.options.animateHeight) this.$wrapper.addClass('animate-height');\n          this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());\n        }\n      }\n    }, {\n      key: '_resize',\n      value: function _resize() {\n        this.$wrapper.css({ 'max-width': 'none', 'min-height': 'none' });\n        // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n        this.$wrapper.css(this._getMaxDims());\n      }\n\n      /**\n       * Adds event handlers to elements in the menu.\n       * @function\n       * @private\n       * @param {jQuery} $elem - the current menu item to add handlers to.\n       */\n\n    }, {\n      key: '_events',\n      value: function _events($elem) {\n        var _this = this;\n\n        $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n          if ($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {\n            e.stopImmediatePropagation();\n            e.preventDefault();\n          }\n\n          // if(e.target !== e.currentTarget.firstElementChild){\n          //   return false;\n          // }\n          _this._show($elem.parent('li'));\n\n          if (_this.options.closeOnClick) {\n            var $body = $('body');\n            $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) {\n              if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {\n                return;\n              }\n              e.preventDefault();\n              _this._hideAll();\n              $body.off('.zf.drilldown');\n            });\n          }\n        });\n        this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n      }\n\n      /**\n       * Adds event handlers to the menu element.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_registerEvents',\n      value: function _registerEvents() {\n        if (this.options.scrollTop) {\n          this._bindHandler = this._scrollTop.bind(this);\n          this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown', this._bindHandler);\n        }\n      }\n\n      /**\n       * Scroll to Top of Element or data-scroll-top-element\n       * @function\n       * @fires Drilldown#scrollme\n       */\n\n    }, {\n      key: '_scrollTop',\n      value: function _scrollTop() {\n        var _this = this;\n        var $scrollTopElement = _this.options.scrollTopElement != '' ? $(_this.options.scrollTopElement) : _this.$element,\n            scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset);\n        $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing, function () {\n          /**\n            * Fires after the menu has scrolled\n            * @event Drilldown#scrollme\n            */\n          if (this === $('html')[0]) _this.$element.trigger('scrollme.zf.drilldown');\n        });\n      }\n\n      /**\n       * Adds keydown event listener to `li`'s in the menu.\n       * @private\n       */\n\n    }, {\n      key: '_keyboardEvents',\n      value: function _keyboardEvents() {\n        var _this = this;\n\n        this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) {\n          var $element = $(this),\n              $elements = $element.parent('li').parent('ul').children('li').children('a'),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(Math.max(0, i - 1));\n              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n              return;\n            }\n          });\n\n          Foundation.Keyboard.handleKey(e, 'Drilldown', {\n            next: function () {\n              if ($element.is(_this.$submenuAnchors)) {\n                _this._show($element.parent('li'));\n                $element.parent('li').one(Foundation.transitionend($element), function () {\n                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n                });\n                return true;\n              }\n            },\n            previous: function () {\n              _this._hide($element.parent('li').parent('ul'));\n              $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {\n                setTimeout(function () {\n                  $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n                }, 1);\n              });\n              return true;\n            },\n            up: function () {\n              $prevElement.focus();\n              return true;\n            },\n            down: function () {\n              $nextElement.focus();\n              return true;\n            },\n            close: function () {\n              _this._back();\n              //_this.$menuItems.first().focus(); // focus to first element\n            },\n            open: function () {\n              if (!$element.is(_this.$menuItems)) {\n                // not menu item means back button\n                _this._hide($element.parent('li').parent('ul'));\n                $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {\n                  setTimeout(function () {\n                    $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n                  }, 1);\n                });\n                return true;\n              } else if ($element.is(_this.$submenuAnchors)) {\n                _this._show($element.parent('li'));\n                $element.parent('li').one(Foundation.transitionend($element), function () {\n                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n                });\n                return true;\n              }\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n              e.stopImmediatePropagation();\n            }\n          });\n        }); // end keyboardAccess\n      }\n\n      /**\n       * Closes all open elements, and returns to root menu.\n       * @function\n       * @fires Drilldown#closed\n       */\n\n    }, {\n      key: '_hideAll',\n      value: function _hideAll() {\n        var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.parent().closest('ul').data('calcHeight') });\n        $elem.one(Foundation.transitionend($elem), function (e) {\n          $elem.removeClass('is-active is-closing');\n        });\n        /**\n         * Fires when the menu is fully closed.\n         * @event Drilldown#closed\n         */\n        this.$element.trigger('closed.zf.drilldown');\n      }\n\n      /**\n       * Adds event listener for each `back` button, and closes open menus.\n       * @function\n       * @fires Drilldown#back\n       * @param {jQuery} $elem - the current sub-menu to add `back` event.\n       */\n\n    }, {\n      key: '_back',\n      value: function _back($elem) {\n        var _this = this;\n        $elem.off('click.zf.drilldown');\n        $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {\n          e.stopImmediatePropagation();\n          // console.log('mouseup on back');\n          _this._hide($elem);\n\n          // If there is a parent submenu, call show\n          var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n          if (parentSubMenu.length) {\n            _this._show(parentSubMenu);\n          }\n        });\n      }\n\n      /**\n       * Adds event listener to menu items w/o submenus to close open menus on click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_menuLinkEvents',\n      value: function _menuLinkEvents() {\n        var _this = this;\n        this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n          // e.stopImmediatePropagation();\n          setTimeout(function () {\n            _this._hideAll();\n          }, 0);\n        });\n      }\n\n      /**\n       * Opens a submenu.\n       * @function\n       * @fires Drilldown#open\n       * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n       */\n\n    }, {\n      key: '_show',\n      value: function _show($elem) {\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.children('[data-submenu]').data('calcHeight') });\n        $elem.attr('aria-expanded', true);\n        $elem.children('[data-submenu]').addClass('is-active').attr('aria-hidden', false);\n        /**\n         * Fires when the submenu has opened.\n         * @event Drilldown#open\n         */\n        this.$element.trigger('open.zf.drilldown', [$elem]);\n      }\n    }, {\n      key: '_hide',\n\n\n      /**\n       * Hides a submenu\n       * @function\n       * @fires Drilldown#hide\n       * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n       */\n      value: function _hide($elem) {\n        if (this.options.autoHeight) this.$wrapper.css({ height: $elem.parent().closest('ul').data('calcHeight') });\n        var _this = this;\n        $elem.parent('li').attr('aria-expanded', false);\n        $elem.attr('aria-hidden', true).addClass('is-closing');\n        $elem.addClass('is-closing').one(Foundation.transitionend($elem), function () {\n          $elem.removeClass('is-active is-closing');\n          $elem.blur();\n        });\n        /**\n         * Fires when the submenu has closed.\n         * @event Drilldown#hide\n         */\n        $elem.trigger('hide.zf.drilldown', [$elem]);\n      }\n\n      /**\n       * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n       * Prevents content jumping.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_getMaxDims',\n      value: function _getMaxDims() {\n        var maxHeight = 0,\n            result = {},\n            _this = this;\n        this.$submenus.add(this.$element).each(function () {\n          var numOfElems = $(this).children('li').length;\n          var height = Foundation.Box.GetDimensions(this).height;\n          maxHeight = height > maxHeight ? height : maxHeight;\n          if (_this.options.autoHeight) {\n            $(this).data('calcHeight', height);\n            if (!$(this).hasClass('is-drilldown-submenu')) result['height'] = height;\n          }\n        });\n\n        if (!this.options.autoHeight) result['min-height'] = maxHeight + 'px';\n\n        result['max-width'] = this.$element[0].getBoundingClientRect().width + 'px';\n\n        return result;\n      }\n\n      /**\n       * Destroys the Drilldown Menu\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n        this._hideAll();\n        this.$element.off('mutateme.zf.trigger');\n        Foundation.Nest.Burn(this.$element, 'drilldown');\n        this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n        this.$submenuAnchors.each(function () {\n          $(this).off('.zf.drilldown');\n        });\n\n        this.$submenus.removeClass('drilldown-submenu-cover-previous');\n\n        this.$element.find('a').each(function () {\n          var $link = $(this);\n          $link.removeAttr('tabindex');\n          if ($link.data('savedHref')) {\n            $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n          } else {\n            return;\n          }\n        });\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Drilldown;\n  }();\n\n  Drilldown.defaults = {\n    /**\n     * Markup used for JS generated back button. Prepended  or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n     * @option\n     * @example '<\\li><\\a>Back<\\/a><\\/li>'\n     */\n    backButton: '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>',\n    /**\n     * Position the back button either at the top or bottom of drilldown submenus.\n     * @option\n     * @example bottom\n     */\n    backButtonPosition: 'top',\n    /**\n     * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n     * @option\n     * @example '<\\div class=\"is-drilldown\"><\\/div>'\n     */\n    wrapper: '<div></div>',\n    /**\n     * Adds the parent link to the submenu.\n     * @option\n     * @example false\n     */\n    parentLink: false,\n    /**\n     * Allow the menu to return to root list on body click.\n     * @option\n     * @example false\n     */\n    closeOnClick: false,\n    /**\n     * Allow the menu to auto adjust height.\n     * @option\n     * @example false\n     */\n    autoHeight: false,\n    /**\n     * Animate the auto adjust height.\n     * @option\n     * @example false\n     */\n    animateHeight: false,\n    /**\n     * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n     * @option\n     * @example false\n     */\n    scrollTop: false,\n    /**\n     * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n     * @option\n     * @example ''\n     */\n    scrollTopElement: '',\n    /**\n     * ScrollTop offset\n     * @option\n     * @example 100\n     */\n    scrollTopOffset: 0,\n    /**\n     * Scroll animation duration\n     * @option\n     * @example 500\n     */\n    animationDuration: 500,\n    /**\n     * Scroll animation easing\n     * @option\n     * @example 'swing'\n     */\n    animationEasing: 'swing'\n    // holdOpen: false\n  };\n\n  // Window exports\n  Foundation.plugin(Drilldown, 'Drilldown');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.dropdown.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Dropdown module.\n   * @module foundation.dropdown\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.triggers\n   */\n\n  var Dropdown = function () {\n    /**\n     * Creates a new instance of a dropdown.\n     * @class\n     * @param {jQuery} element - jQuery object to make into a dropdown.\n     *        Object should be of the dropdown panel, rather than its anchor.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Dropdown(element, options) {\n      _classCallCheck(this, Dropdown);\n\n      this.$element = element;\n      this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n      this._init();\n\n      Foundation.registerPlugin(this, 'Dropdown');\n      Foundation.Keyboard.register('Dropdown', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Dropdown, [{\n      key: '_init',\n      value: function _init() {\n        var $id = this.$element.attr('id');\n\n        this.$anchor = $('[data-toggle=\"' + $id + '\"]').length ? $('[data-toggle=\"' + $id + '\"]') : $('[data-open=\"' + $id + '\"]');\n        this.$anchor.attr({\n          'aria-controls': $id,\n          'data-is-focus': false,\n          'data-yeti-box': $id,\n          'aria-haspopup': true,\n          'aria-expanded': false\n\n        });\n\n        if (this.options.parentClass) {\n          this.$parent = this.$element.parents('.' + this.options.parentClass);\n        } else {\n          this.$parent = null;\n        }\n        this.options.positionClass = this.getPositionClass();\n        this.counter = 4;\n        this.usedPositions = [];\n        this.$element.attr({\n          'aria-hidden': 'true',\n          'data-yeti-box': $id,\n          'data-resize': $id,\n          'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')\n        });\n        this._events();\n      }\n\n      /**\n       * Helper function to determine current orientation of dropdown pane.\n       * @function\n       * @returns {String} position - string value of a position class.\n       */\n\n    }, {\n      key: 'getPositionClass',\n      value: function getPositionClass() {\n        var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);\n        verticalPosition = verticalPosition ? verticalPosition[0] : '';\n        var horizontalPosition = /float-(\\S+)/.exec(this.$anchor[0].className);\n        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';\n        var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;\n\n        return position;\n      }\n\n      /**\n       * Adjusts the dropdown panes orientation by adding/removing positioning classes.\n       * @function\n       * @private\n       * @param {String} position - position class to remove.\n       */\n\n    }, {\n      key: '_reposition',\n      value: function _reposition(position) {\n        this.usedPositions.push(position ? position : 'bottom');\n        //default, try switching to opposite side\n        if (!position && this.usedPositions.indexOf('top') < 0) {\n          this.$element.addClass('top');\n        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {\n          this.$element.removeClass(position);\n        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {\n          this.$element.removeClass(position).addClass('right');\n        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {\n          this.$element.removeClass(position).addClass('left');\n        }\n\n        //if default change didn't work, try bottom or left first\n        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.$element.addClass('left');\n          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.$element.removeClass(position).addClass('left');\n          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.$element.removeClass(position);\n          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.$element.removeClass(position);\n          }\n          //if nothing cleared, set to bottom\n          else {\n              this.$element.removeClass(position);\n            }\n        this.classChanged = true;\n        this.counter--;\n      }\n\n      /**\n       * Sets the position and orientation of the dropdown pane, checks for collisions.\n       * Recursively calls itself if a collision is detected, with a new position class.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_setPosition',\n      value: function _setPosition() {\n        if (this.$anchor.attr('aria-expanded') === 'false') {\n          return false;\n        }\n        var position = this.getPositionClass(),\n            $eleDims = Foundation.Box.GetDimensions(this.$element),\n            $anchorDims = Foundation.Box.GetDimensions(this.$anchor),\n            _this = this,\n            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',\n            param = direction === 'top' ? 'height' : 'width',\n            offset = param === 'height' ? this.options.vOffset : this.options.hOffset;\n\n        if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent)) {\n          var newWidth = $eleDims.windowDims.width,\n              parentHOffset = 0;\n          if (this.$parent) {\n            var $parentDims = Foundation.Box.GetDimensions(this.$parent),\n                parentHOffset = $parentDims.offset.left;\n            if ($parentDims.width < newWidth) {\n              newWidth = $parentDims.width;\n            }\n          }\n\n          this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset + parentHOffset, true)).css({\n            'width': newWidth - this.options.hOffset * 2,\n            'height': 'auto'\n          });\n          this.classChanged = true;\n          return false;\n        }\n\n        this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));\n\n        while (!Foundation.Box.ImNotTouchingYou(this.$element, this.$parent, true) && this.counter) {\n          this._reposition(position);\n          this._setPosition();\n        }\n      }\n\n      /**\n       * Adds event listeners to the element utilizing the triggers utility library.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        this.$element.on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': this.close.bind(this),\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'resizeme.zf.trigger': this._setPosition.bind(this)\n        });\n\n        if (this.options.hover) {\n          this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n            var bodyData = $('body').data();\n            if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {\n              clearTimeout(_this.timeout);\n              _this.timeout = setTimeout(function () {\n                _this.open();\n                _this.$anchor.data('hover', true);\n              }, _this.options.hoverDelay);\n            }\n          }).on('mouseleave.zf.dropdown', function () {\n            clearTimeout(_this.timeout);\n            _this.timeout = setTimeout(function () {\n              _this.close();\n              _this.$anchor.data('hover', false);\n            }, _this.options.hoverDelay);\n          });\n          if (this.options.hoverPane) {\n            this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n              clearTimeout(_this.timeout);\n            }).on('mouseleave.zf.dropdown', function () {\n              clearTimeout(_this.timeout);\n              _this.timeout = setTimeout(function () {\n                _this.close();\n                _this.$anchor.data('hover', false);\n              }, _this.options.hoverDelay);\n            });\n          }\n        }\n        this.$anchor.add(this.$element).on('keydown.zf.dropdown', function (e) {\n\n          var $target = $(this),\n              visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);\n\n          Foundation.Keyboard.handleKey(e, 'Dropdown', {\n            open: function () {\n              if ($target.is(_this.$anchor)) {\n                _this.open();\n                _this.$element.attr('tabindex', -1).focus();\n                e.preventDefault();\n              }\n            },\n            close: function () {\n              _this.close();\n              _this.$anchor.focus();\n            }\n          });\n        });\n      }\n\n      /**\n       * Adds an event handler to the body to close any dropdowns on a click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBodyHandler',\n      value: function _addBodyHandler() {\n        var $body = $(document.body).not(this.$element),\n            _this = this;\n        $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {\n          if (_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {\n            return;\n          }\n          if (_this.$element.find(e.target).length) {\n            return;\n          }\n          _this.close();\n          $body.off('click.zf.dropdown');\n        });\n      }\n\n      /**\n       * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n       * @function\n       * @fires Dropdown#closeme\n       * @fires Dropdown#show\n       */\n\n    }, {\n      key: 'open',\n      value: function open() {\n        // var _this = this;\n        /**\n         * Fires to close other open dropdowns\n         * @event Dropdown#closeme\n         */\n        this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n        this.$anchor.addClass('hover').attr({ 'aria-expanded': true });\n        // this.$element/*.show()*/;\n        this._setPosition();\n        this.$element.addClass('is-open').attr({ 'aria-hidden': false });\n\n        if (this.options.autoFocus) {\n          var $focusable = Foundation.Keyboard.findFocusable(this.$element);\n          if ($focusable.length) {\n            $focusable.eq(0).focus();\n          }\n        }\n\n        if (this.options.closeOnClick) {\n          this._addBodyHandler();\n        }\n\n        if (this.options.trapFocus) {\n          Foundation.Keyboard.trapFocus(this.$element);\n        }\n\n        /**\n         * Fires once the dropdown is visible.\n         * @event Dropdown#show\n         */\n        this.$element.trigger('show.zf.dropdown', [this.$element]);\n      }\n\n      /**\n       * Closes the open dropdown pane.\n       * @function\n       * @fires Dropdown#hide\n       */\n\n    }, {\n      key: 'close',\n      value: function close() {\n        if (!this.$element.hasClass('is-open')) {\n          return false;\n        }\n        this.$element.removeClass('is-open').attr({ 'aria-hidden': true });\n\n        this.$anchor.removeClass('hover').attr('aria-expanded', false);\n\n        if (this.classChanged) {\n          var curPositionClass = this.getPositionClass();\n          if (curPositionClass) {\n            this.$element.removeClass(curPositionClass);\n          }\n          this.$element.addClass(this.options.positionClass)\n          /*.hide()*/.css({ height: '', width: '' });\n          this.classChanged = false;\n          this.counter = 4;\n          this.usedPositions.length = 0;\n        }\n        this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n        if (this.options.trapFocus) {\n          Foundation.Keyboard.releaseFocus(this.$element);\n        }\n      }\n\n      /**\n       * Toggles the dropdown pane's visibility.\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.$element.hasClass('is-open')) {\n          if (this.$anchor.data('hover')) return;\n          this.close();\n        } else {\n          this.open();\n        }\n      }\n\n      /**\n       * Destroys the dropdown.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.trigger').hide();\n        this.$anchor.off('.zf.dropdown');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Dropdown;\n  }();\n\n  Dropdown.defaults = {\n    /**\n     * Class that designates bounding container of Dropdown (Default: window)\n     * @option\n     * @example 'dropdown-parent'\n     */\n    parentClass: null,\n    /**\n     * Amount of time to delay opening a submenu on hover event.\n     * @option\n     * @example 250\n     */\n    hoverDelay: 250,\n    /**\n     * Allow submenus to open on hover events\n     * @option\n     * @example false\n     */\n    hover: false,\n    /**\n     * Don't close dropdown when hovering over dropdown pane\n     * @option\n     * @example true\n     */\n    hoverPane: false,\n    /**\n     * Number of pixels between the dropdown pane and the triggering element on open.\n     * @option\n     * @example 1\n     */\n    vOffset: 1,\n    /**\n     * Number of pixels between the dropdown pane and the triggering element on open.\n     * @option\n     * @example 1\n     */\n    hOffset: 1,\n    /**\n     * Class applied to adjust open position. JS will test and fill this in.\n     * @option\n     * @example 'top'\n     */\n    positionClass: '',\n    /**\n     * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n     * @option\n     * @example false\n     */\n    trapFocus: false,\n    /**\n     * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n     * @option\n     * @example true\n     */\n    autoFocus: false,\n    /**\n     * Allows a click on the body to close the dropdown.\n     * @option\n     * @example false\n     */\n    closeOnClick: false\n  };\n\n  // Window exports\n  Foundation.plugin(Dropdown, 'Dropdown');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.dropdownMenu.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * DropdownMenu module.\n   * @module foundation.dropdown-menu\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.nest\n   */\n\n  var DropdownMenu = function () {\n    /**\n     * Creates a new instance of DropdownMenu.\n     * @class\n     * @fires DropdownMenu#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function DropdownMenu(element, options) {\n      _classCallCheck(this, DropdownMenu);\n\n      this.$element = element;\n      this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n\n      Foundation.Nest.Feather(this.$element, 'dropdown');\n      this._init();\n\n      Foundation.registerPlugin(this, 'DropdownMenu');\n      Foundation.Keyboard.register('DropdownMenu', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'up',\n        'ARROW_DOWN': 'down',\n        'ARROW_LEFT': 'previous',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the plugin, and calls _prepareMenu\n     * @private\n     * @function\n     */\n\n\n    _createClass(DropdownMenu, [{\n      key: '_init',\n      value: function _init() {\n        var subs = this.$element.find('li.is-dropdown-submenu-parent');\n        this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n\n        this.$menuItems = this.$element.find('[role=\"menuitem\"]');\n        this.$tabs = this.$element.children('[role=\"menuitem\"]');\n        this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n        if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {\n          this.options.alignment = 'right';\n          subs.addClass('opens-left');\n        } else {\n          subs.addClass('opens-right');\n        }\n        this.changed = false;\n        this._events();\n      }\n    }, {\n      key: '_isVertical',\n      value: function _isVertical() {\n        return this.$tabs.css('display') === 'block';\n      }\n\n      /**\n       * Adds event listeners to elements within the menu\n       * @private\n       * @function\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this,\n            hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',\n            parClass = 'is-dropdown-submenu-parent';\n\n        // used for onClick and in the keyboard handlers\n        var handleClickFn = function (e) {\n          var $elem = $(e.target).parentsUntil('ul', '.' + parClass),\n              hasSub = $elem.hasClass(parClass),\n              hasClicked = $elem.attr('data-is-click') === 'true',\n              $sub = $elem.children('.is-dropdown-submenu');\n\n          if (hasSub) {\n            if (hasClicked) {\n              if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {\n                return;\n              } else {\n                e.stopImmediatePropagation();\n                e.preventDefault();\n                _this._hide($elem);\n              }\n            } else {\n              e.preventDefault();\n              e.stopImmediatePropagation();\n              _this._show($sub);\n              $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);\n            }\n          }\n        };\n\n        if (this.options.clickOpen || hasTouch) {\n          this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);\n        }\n\n        // Handle Leaf element Clicks\n        if (_this.options.closeOnClickInside) {\n          this.$menuItems.on('click.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n            if (!hasSub) {\n              _this._hide();\n            }\n          });\n        }\n\n        if (!this.options.disableHover) {\n          this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n\n            if (hasSub) {\n              clearTimeout($elem.data('_delay'));\n              $elem.data('_delay', setTimeout(function () {\n                _this._show($elem.children('.is-dropdown-submenu'));\n              }, _this.options.hoverDelay));\n            }\n          }).on('mouseleave.zf.dropdownmenu', function (e) {\n            var $elem = $(this),\n                hasSub = $elem.hasClass(parClass);\n            if (hasSub && _this.options.autoclose) {\n              if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {\n                return false;\n              }\n\n              clearTimeout($elem.data('_delay'));\n              $elem.data('_delay', setTimeout(function () {\n                _this._hide($elem);\n              }, _this.options.closingTime));\n            }\n          });\n        }\n        this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {\n          var $element = $(e.target).parentsUntil('ul', '[role=\"menuitem\"]'),\n              isTab = _this.$tabs.index($element) > -1,\n              $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              $prevElement = $elements.eq(i - 1);\n              $nextElement = $elements.eq(i + 1);\n              return;\n            }\n          });\n\n          var nextSibling = function () {\n            if (!$element.is(':last-child')) {\n              $nextElement.children('a:first').focus();\n              e.preventDefault();\n            }\n          },\n              prevSibling = function () {\n            $prevElement.children('a:first').focus();\n            e.preventDefault();\n          },\n              openSub = function () {\n            var $sub = $element.children('ul.is-dropdown-submenu');\n            if ($sub.length) {\n              _this._show($sub);\n              $element.find('li > a:first').focus();\n              e.preventDefault();\n            } else {\n              return;\n            }\n          },\n              closeSub = function () {\n            //if ($element.is(':first-child')) {\n            var close = $element.parent('ul').parent('li');\n            close.children('a:first').focus();\n            _this._hide(close);\n            e.preventDefault();\n            //}\n          };\n          var functions = {\n            open: openSub,\n            close: function () {\n              _this._hide(_this.$element);\n              _this.$menuItems.find('a:first').focus(); // focus to first element\n              e.preventDefault();\n            },\n            handled: function () {\n              e.stopImmediatePropagation();\n            }\n          };\n\n          if (isTab) {\n            if (_this._isVertical()) {\n              // vertical menu\n              if (Foundation.rtl()) {\n                // right aligned\n                $.extend(functions, {\n                  down: nextSibling,\n                  up: prevSibling,\n                  next: closeSub,\n                  previous: openSub\n                });\n              } else {\n                // left aligned\n                $.extend(functions, {\n                  down: nextSibling,\n                  up: prevSibling,\n                  next: openSub,\n                  previous: closeSub\n                });\n              }\n            } else {\n              // horizontal menu\n              if (Foundation.rtl()) {\n                // right aligned\n                $.extend(functions, {\n                  next: prevSibling,\n                  previous: nextSibling,\n                  down: openSub,\n                  up: closeSub\n                });\n              } else {\n                // left aligned\n                $.extend(functions, {\n                  next: nextSibling,\n                  previous: prevSibling,\n                  down: openSub,\n                  up: closeSub\n                });\n              }\n            }\n          } else {\n            // not tabs -> one sub\n            if (Foundation.rtl()) {\n              // right aligned\n              $.extend(functions, {\n                next: closeSub,\n                previous: openSub,\n                down: nextSibling,\n                up: prevSibling\n              });\n            } else {\n              // left aligned\n              $.extend(functions, {\n                next: openSub,\n                previous: closeSub,\n                down: nextSibling,\n                up: prevSibling\n              });\n            }\n          }\n          Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);\n        });\n      }\n\n      /**\n       * Adds an event handler to the body to close any dropdowns on a click.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBodyHandler',\n      value: function _addBodyHandler() {\n        var $body = $(document.body),\n            _this = this;\n        $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {\n          var $link = _this.$element.find(e.target);\n          if ($link.length) {\n            return;\n          }\n\n          _this._hide();\n          $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');\n        });\n      }\n\n      /**\n       * Opens a dropdown pane, and checks for collisions first.\n       * @param {jQuery} $sub - ul element that is a submenu to show\n       * @function\n       * @private\n       * @fires DropdownMenu#show\n       */\n\n    }, {\n      key: '_show',\n      value: function _show($sub) {\n        var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {\n          return $(el).find($sub).length > 0;\n        }));\n        var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n        this._hide($sibs, idx);\n        $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');\n        var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n        if (!clear) {\n          var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n              $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n          $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);\n          clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n          if (!clear) {\n            $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');\n          }\n          this.changed = true;\n        }\n        $sub.css('visibility', '');\n        if (this.options.closeOnClick) {\n          this._addBodyHandler();\n        }\n        /**\n         * Fires when the new dropdown pane is visible.\n         * @event DropdownMenu#show\n         */\n        this.$element.trigger('show.zf.dropdownmenu', [$sub]);\n      }\n\n      /**\n       * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n       * @function\n       * @param {jQuery} $elem - element with a submenu to hide\n       * @param {Number} idx - index of the $tabs collection to hide\n       * @private\n       */\n\n    }, {\n      key: '_hide',\n      value: function _hide($elem, idx) {\n        var $toClose;\n        if ($elem && $elem.length) {\n          $toClose = $elem;\n        } else if (idx !== undefined) {\n          $toClose = this.$tabs.not(function (i, el) {\n            return i === idx;\n          });\n        } else {\n          $toClose = this.$element;\n        }\n        var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n        if (somethingToClose) {\n          $toClose.find('li.is-active').add($toClose).attr({\n            'data-is-click': false\n          }).removeClass('is-active');\n\n          $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n          if (this.changed || $toClose.find('opens-inner').length) {\n            var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n            $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);\n            this.changed = false;\n          }\n          /**\n           * Fires when the open menus are closed.\n           * @event DropdownMenu#hide\n           */\n          this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);\n        }\n      }\n\n      /**\n       * Destroys the plugin.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n        $(document.body).off('.zf.dropdownmenu');\n        Foundation.Nest.Burn(this.$element, 'dropdown');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return DropdownMenu;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  DropdownMenu.defaults = {\n    /**\n     * Disallows hover events from opening submenus\n     * @option\n     * @example false\n     */\n    disableHover: false,\n    /**\n     * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n     * @option\n     * @example true\n     */\n    autoclose: true,\n    /**\n     * Amount of time to delay opening a submenu on hover event.\n     * @option\n     * @example 50\n     */\n    hoverDelay: 50,\n    /**\n     * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n     * @option\n     * @example true\n     */\n    clickOpen: false,\n    /**\n     * Amount of time to delay closing a submenu on a mouseleave event.\n     * @option\n     * @example 500\n     */\n\n    closingTime: 500,\n    /**\n     * Position of the menu relative to what direction the submenus should open. Handled by JS.\n     * @option\n     * @example 'left'\n     */\n    alignment: 'left',\n    /**\n     * Allow clicks on the body to close any open submenus.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n    /**\n     * Allow clicks on leaf anchor links to close any open submenus.\n     * @option\n     * @example true\n     */\n    closeOnClickInside: true,\n    /**\n     * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n     * @option\n     * @example 'vertical'\n     */\n    verticalClass: 'vertical',\n    /**\n     * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n     * @option\n     * @example 'align-right'\n     */\n    rightClass: 'align-right',\n    /**\n     * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n     * @option\n     * @example false\n     */\n    forceFollow: true\n  };\n\n  // Window exports\n  Foundation.plugin(DropdownMenu, 'DropdownMenu');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.equalizer.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Equalizer module.\n   * @module foundation.equalizer\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.timerAndImageLoader if equalizer contains images\n   */\n\n  var Equalizer = function () {\n    /**\n     * Creates a new instance of Equalizer.\n     * @class\n     * @fires Equalizer#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Equalizer(element, options) {\n      _classCallCheck(this, Equalizer);\n\n      this.$element = element;\n      this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Equalizer');\n    }\n\n    /**\n     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n\n\n    _createClass(Equalizer, [{\n      key: '_init',\n      value: function _init() {\n        var eqId = this.$element.attr('data-equalizer') || '';\n        var $watched = this.$element.find('[data-equalizer-watch=\"' + eqId + '\"]');\n\n        this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');\n        this.$element.attr('data-resize', eqId || Foundation.GetYoDigits(6, 'eq'));\n        this.$element.attr('data-mutate', eqId || Foundation.GetYoDigits(6, 'eq'));\n\n        this.hasNested = this.$element.find('[data-equalizer]').length > 0;\n        this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;\n        this.isOn = false;\n        this._bindHandler = {\n          onResizeMeBound: this._onResizeMe.bind(this),\n          onPostEqualizedBound: this._onPostEqualized.bind(this)\n        };\n\n        var imgs = this.$element.find('img');\n        var tooSmall;\n        if (this.options.equalizeOn) {\n          tooSmall = this._checkMQ();\n          $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));\n        } else {\n          this._events();\n        }\n        if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {\n          if (imgs.length) {\n            Foundation.onImagesLoaded(imgs, this._reflow.bind(this));\n          } else {\n            this._reflow();\n          }\n        }\n      }\n\n      /**\n       * Removes event listeners if the breakpoint is too small.\n       * @private\n       */\n\n    }, {\n      key: '_pauseEvents',\n      value: function _pauseEvents() {\n        this.isOn = false;\n        this.$element.off({\n          '.zf.equalizer': this._bindHandler.onPostEqualizedBound,\n          'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,\n          'mutateme.zf.trigger': this._bindHandler.onResizeMeBound\n        });\n      }\n\n      /**\n       * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n       * @private\n       */\n\n    }, {\n      key: '_onResizeMe',\n      value: function _onResizeMe(e) {\n        this._reflow();\n      }\n\n      /**\n       * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n       * @private\n       */\n\n    }, {\n      key: '_onPostEqualized',\n      value: function _onPostEqualized(e) {\n        if (e.target !== this.$element[0]) {\n          this._reflow();\n        }\n      }\n\n      /**\n       * Initializes events for Equalizer.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        this._pauseEvents();\n        if (this.hasNested) {\n          this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);\n        } else {\n          this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);\n          this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);\n        }\n        this.isOn = true;\n      }\n\n      /**\n       * Checks the current breakpoint to the minimum required size.\n       * @private\n       */\n\n    }, {\n      key: '_checkMQ',\n      value: function _checkMQ() {\n        var tooSmall = !Foundation.MediaQuery.is(this.options.equalizeOn);\n        if (tooSmall) {\n          if (this.isOn) {\n            this._pauseEvents();\n            this.$watched.css('height', 'auto');\n          }\n        } else {\n          if (!this.isOn) {\n            this._events();\n          }\n        }\n        return tooSmall;\n      }\n\n      /**\n       * A noop version for the plugin\n       * @private\n       */\n\n    }, {\n      key: '_killswitch',\n      value: function _killswitch() {\n        return;\n      }\n\n      /**\n       * Calls necessary functions to update Equalizer upon DOM change\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        if (!this.options.equalizeOnStack) {\n          if (this._isStacked()) {\n            this.$watched.css('height', 'auto');\n            return false;\n          }\n        }\n        if (this.options.equalizeByRow) {\n          this.getHeightsByRow(this.applyHeightByRow.bind(this));\n        } else {\n          this.getHeights(this.applyHeight.bind(this));\n        }\n      }\n\n      /**\n       * Manually determines if the first 2 elements are *NOT* stacked.\n       * @private\n       */\n\n    }, {\n      key: '_isStacked',\n      value: function _isStacked() {\n        if (!this.$watched[0] || !this.$watched[1]) {\n          return true;\n        }\n        return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n      }\n\n      /**\n       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n       * @param {Function} cb - A non-optional callback to return the heights array to.\n       * @returns {Array} heights - An array of heights of children within Equalizer container\n       */\n\n    }, {\n      key: 'getHeights',\n      value: function getHeights(cb) {\n        var heights = [];\n        for (var i = 0, len = this.$watched.length; i < len; i++) {\n          this.$watched[i].style.height = 'auto';\n          heights.push(this.$watched[i].offsetHeight);\n        }\n        cb(heights);\n      }\n\n      /**\n       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n       * @param {Function} cb - A non-optional callback to return the heights array to.\n       * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n       */\n\n    }, {\n      key: 'getHeightsByRow',\n      value: function getHeightsByRow(cb) {\n        var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,\n            groups = [],\n            group = 0;\n        //group by Row\n        groups[group] = [];\n        for (var i = 0, len = this.$watched.length; i < len; i++) {\n          this.$watched[i].style.height = 'auto';\n          //maybe could use this.$watched[i].offsetTop\n          var elOffsetTop = $(this.$watched[i]).offset().top;\n          if (elOffsetTop != lastElTopOffset) {\n            group++;\n            groups[group] = [];\n            lastElTopOffset = elOffsetTop;\n          }\n          groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);\n        }\n\n        for (var j = 0, ln = groups.length; j < ln; j++) {\n          var heights = $(groups[j]).map(function () {\n            return this[1];\n          }).get();\n          var max = Math.max.apply(null, heights);\n          groups[j].push(max);\n        }\n        cb(groups);\n      }\n\n      /**\n       * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n       * @param {array} heights - An array of heights of children within Equalizer container\n       * @fires Equalizer#preequalized\n       * @fires Equalizer#postequalized\n       */\n\n    }, {\n      key: 'applyHeight',\n      value: function applyHeight(heights) {\n        var max = Math.max.apply(null, heights);\n        /**\n         * Fires before the heights are applied\n         * @event Equalizer#preequalized\n         */\n        this.$element.trigger('preequalized.zf.equalizer');\n\n        this.$watched.css('height', max);\n\n        /**\n         * Fires when the heights have been applied\n         * @event Equalizer#postequalized\n         */\n        this.$element.trigger('postequalized.zf.equalizer');\n      }\n\n      /**\n       * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n       * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n       * @fires Equalizer#preequalized\n       * @fires Equalizer#preequalizedrow\n       * @fires Equalizer#postequalizedrow\n       * @fires Equalizer#postequalized\n       */\n\n    }, {\n      key: 'applyHeightByRow',\n      value: function applyHeightByRow(groups) {\n        /**\n         * Fires before the heights are applied\n         */\n        this.$element.trigger('preequalized.zf.equalizer');\n        for (var i = 0, len = groups.length; i < len; i++) {\n          var groupsILength = groups[i].length,\n              max = groups[i][groupsILength - 1];\n          if (groupsILength <= 2) {\n            $(groups[i][0][0]).css({ 'height': 'auto' });\n            continue;\n          }\n          /**\n            * Fires before the heights per row are applied\n            * @event Equalizer#preequalizedrow\n            */\n          this.$element.trigger('preequalizedrow.zf.equalizer');\n          for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {\n            $(groups[i][j][0]).css({ 'height': max });\n          }\n          /**\n            * Fires when the heights per row have been applied\n            * @event Equalizer#postequalizedrow\n            */\n          this.$element.trigger('postequalizedrow.zf.equalizer');\n        }\n        /**\n         * Fires when the heights have been applied\n         */\n        this.$element.trigger('postequalized.zf.equalizer');\n      }\n\n      /**\n       * Destroys an instance of Equalizer.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this._pauseEvents();\n        this.$watched.css('height', 'auto');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Equalizer;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Equalizer.defaults = {\n    /**\n     * Enable height equalization when stacked on smaller screens.\n     * @option\n     * @example true\n     */\n    equalizeOnStack: false,\n    /**\n     * Enable height equalization row by row.\n     * @option\n     * @example false\n     */\n    equalizeByRow: false,\n    /**\n     * String representing the minimum breakpoint size the plugin should equalize heights on.\n     * @option\n     * @example 'medium'\n     */\n    equalizeOn: ''\n  };\n\n  // Window exports\n  Foundation.plugin(Equalizer, 'Equalizer');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.interchange.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Interchange module.\n   * @module foundation.interchange\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.timerAndImageLoader\n   */\n\n  var Interchange = function () {\n    /**\n     * Creates a new instance of Interchange.\n     * @class\n     * @fires Interchange#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Interchange(element, options) {\n      _classCallCheck(this, Interchange);\n\n      this.$element = element;\n      this.options = $.extend({}, Interchange.defaults, options);\n      this.rules = [];\n      this.currentPath = '';\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'Interchange');\n    }\n\n    /**\n     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Interchange, [{\n      key: '_init',\n      value: function _init() {\n        this._addBreakpoints();\n        this._generateRules();\n        this._reflow();\n      }\n\n      /**\n       * Initializes events for Interchange.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        $(window).on('resize.zf.interchange', Foundation.util.throttle(function () {\n          _this2._reflow();\n        }, 50));\n      }\n\n      /**\n       * Calls necessary functions to update Interchange upon DOM change\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        var match;\n\n        // Iterate through each rule, but only save the last match\n        for (var i in this.rules) {\n          if (this.rules.hasOwnProperty(i)) {\n            var rule = this.rules[i];\n            if (window.matchMedia(rule.query).matches) {\n              match = rule;\n            }\n          }\n        }\n\n        if (match) {\n          this.replace(match.path);\n        }\n      }\n\n      /**\n       * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_addBreakpoints',\n      value: function _addBreakpoints() {\n        for (var i in Foundation.MediaQuery.queries) {\n          if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {\n            var query = Foundation.MediaQuery.queries[i];\n            Interchange.SPECIAL_QUERIES[query.name] = query.value;\n          }\n        }\n      }\n\n      /**\n       * Checks the Interchange element for the provided media query + content pairings\n       * @function\n       * @private\n       * @param {Object} element - jQuery object that is an Interchange instance\n       * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n       */\n\n    }, {\n      key: '_generateRules',\n      value: function _generateRules(element) {\n        var rulesList = [];\n        var rules;\n\n        if (this.options.rules) {\n          rules = this.options.rules;\n        } else {\n          rules = this.$element.data('interchange').match(/\\[.*?\\]/g);\n        }\n\n        for (var i in rules) {\n          if (rules.hasOwnProperty(i)) {\n            var rule = rules[i].slice(1, -1).split(', ');\n            var path = rule.slice(0, -1).join('');\n            var query = rule[rule.length - 1];\n\n            if (Interchange.SPECIAL_QUERIES[query]) {\n              query = Interchange.SPECIAL_QUERIES[query];\n            }\n\n            rulesList.push({\n              path: path,\n              query: query\n            });\n          }\n        }\n\n        this.rules = rulesList;\n      }\n\n      /**\n       * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n       * @function\n       * @param {String} path - Path to the image or HTML partial.\n       * @fires Interchange#replaced\n       */\n\n    }, {\n      key: 'replace',\n      value: function replace(path) {\n        if (this.currentPath === path) return;\n\n        var _this = this,\n            trigger = 'replaced.zf.interchange';\n\n        // Replacing images\n        if (this.$element[0].nodeName === 'IMG') {\n          this.$element.attr('src', path).on('load', function () {\n            _this.currentPath = path;\n          }).trigger(trigger);\n        }\n        // Replacing background images\n        else if (path.match(/\\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {\n            this.$element.css({ 'background-image': 'url(' + path + ')' }).trigger(trigger);\n          }\n          // Replacing HTML\n          else {\n              $.get(path, function (response) {\n                _this.$element.html(response).trigger(trigger);\n                $(response).foundation();\n                _this.currentPath = path;\n              });\n            }\n\n        /**\n         * Fires when content in an Interchange element is done being loaded.\n         * @event Interchange#replaced\n         */\n        // this.$element.trigger('replaced.zf.interchange');\n      }\n\n      /**\n       * Destroys an instance of interchange.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        //TODO this.\n      }\n    }]);\n\n    return Interchange;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Interchange.defaults = {\n    /**\n     * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n     * @option\n     */\n    rules: null\n  };\n\n  Interchange.SPECIAL_QUERIES = {\n    'landscape': 'screen and (orientation: landscape)',\n    'portrait': 'screen and (orientation: portrait)',\n    'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n  };\n\n  // Window exports\n  Foundation.plugin(Interchange, 'Interchange');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.magellan.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Magellan module.\n   * @module foundation.magellan\n   */\n\n  var Magellan = function () {\n    /**\n     * Creates a new instance of Magellan.\n     * @class\n     * @fires Magellan#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Magellan(element, options) {\n      _classCallCheck(this, Magellan);\n\n      this.$element = element;\n      this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n\n      this._init();\n      this.calcPoints();\n\n      Foundation.registerPlugin(this, 'Magellan');\n    }\n\n    /**\n     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n     * @private\n     */\n\n\n    _createClass(Magellan, [{\n      key: '_init',\n      value: function _init() {\n        var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');\n        var _this = this;\n        this.$targets = $('[data-magellan-target]');\n        this.$links = this.$element.find('a');\n        this.$element.attr({\n          'data-resize': id,\n          'data-scroll': id,\n          'id': id\n        });\n        this.$active = $();\n        this.scrollPos = parseInt(window.pageYOffset, 10);\n\n        this._events();\n      }\n\n      /**\n       * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n       * Can be invoked if new elements are added or the size of a location changes.\n       * @function\n       */\n\n    }, {\n      key: 'calcPoints',\n      value: function calcPoints() {\n        var _this = this,\n            body = document.body,\n            html = document.documentElement;\n\n        this.points = [];\n        this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n        this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n        this.$targets.each(function () {\n          var $tar = $(this),\n              pt = Math.round($tar.offset().top - _this.options.threshold);\n          $tar.targetPoint = pt;\n          _this.points.push(pt);\n        });\n      }\n\n      /**\n       * Initializes events for Magellan.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this,\n            $body = $('html, body'),\n            opts = {\n          duration: _this.options.animationDuration,\n          easing: _this.options.animationEasing\n        };\n        $(window).one('load', function () {\n          if (_this.options.deepLinking) {\n            if (location.hash) {\n              _this.scrollToLoc(location.hash);\n            }\n          }\n          _this.calcPoints();\n          _this._updateActive();\n        });\n\n        this.$element.on({\n          'resizeme.zf.trigger': this.reflow.bind(this),\n          'scrollme.zf.trigger': this._updateActive.bind(this)\n        }).on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n          e.preventDefault();\n          var arrival = this.getAttribute('href');\n          _this.scrollToLoc(arrival);\n        });\n        $(window).on('popstate', function (e) {\n          if (_this.options.deepLinking) {\n            _this.scrollToLoc(window.location.hash);\n          }\n        });\n      }\n\n      /**\n       * Function to scroll to a given location on the page.\n       * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n       * @function\n       */\n\n    }, {\n      key: 'scrollToLoc',\n      value: function scrollToLoc(loc) {\n        // Do nothing if target does not exist to prevent errors\n        if (!$(loc).length) {\n          return false;\n        }\n        this._inTransition = true;\n        var _this = this,\n            scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);\n\n        $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing, function () {\n          _this._inTransition = false;_this._updateActive();\n        });\n      }\n\n      /**\n       * Calls necessary functions to update Magellan upon DOM change\n       * @function\n       */\n\n    }, {\n      key: 'reflow',\n      value: function reflow() {\n        this.calcPoints();\n        this._updateActive();\n      }\n\n      /**\n       * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n       * @private\n       * @function\n       * @fires Magellan#update\n       */\n\n    }, {\n      key: '_updateActive',\n      value: function _updateActive() /*evt, elem, scrollPos*/{\n        if (this._inTransition) {\n          return;\n        }\n        var winPos = /*scrollPos ||*/parseInt(window.pageYOffset, 10),\n            curIdx;\n\n        if (winPos + this.winHeight === this.docHeight) {\n          curIdx = this.points.length - 1;\n        } else if (winPos < this.points[0]) {\n          curIdx = undefined;\n        } else {\n          var isDown = this.scrollPos < winPos,\n              _this = this,\n              curVisible = this.points.filter(function (p, i) {\n            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;\n          });\n          curIdx = curVisible.length ? curVisible.length - 1 : 0;\n        }\n\n        this.$active.removeClass(this.options.activeClass);\n        this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(curIdx).data('magellan-target') + '\"]').addClass(this.options.activeClass);\n\n        if (this.options.deepLinking) {\n          var hash = \"\";\n          if (curIdx != undefined) {\n            hash = this.$active[0].getAttribute('href');\n          }\n          if (hash !== window.location.hash) {\n            if (window.history.pushState) {\n              window.history.pushState(null, null, hash);\n            } else {\n              window.location.hash = hash;\n            }\n          }\n        }\n\n        this.scrollPos = winPos;\n        /**\n         * Fires when magellan is finished updating to the new active element.\n         * @event Magellan#update\n         */\n        this.$element.trigger('update.zf.magellan', [this.$active]);\n      }\n\n      /**\n       * Destroys an instance of Magellan and resets the url of the window.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.trigger .zf.magellan').find('.' + this.options.activeClass).removeClass(this.options.activeClass);\n\n        if (this.options.deepLinking) {\n          var hash = this.$active[0].getAttribute('href');\n          window.location.hash.replace(hash, '');\n        }\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Magellan;\n  }();\n\n  /**\n   * Default settings for plugin\n   */\n\n\n  Magellan.defaults = {\n    /**\n     * Amount of time, in ms, the animated scrolling should take between locations.\n     * @option\n     * @example 500\n     */\n    animationDuration: 500,\n    /**\n     * Animation style to use when scrolling between locations.\n     * @option\n     * @example 'ease-in-out'\n     */\n    animationEasing: 'linear',\n    /**\n     * Number of pixels to use as a marker for location changes.\n     * @option\n     * @example 50\n     */\n    threshold: 50,\n    /**\n     * Class applied to the active locations link on the magellan container.\n     * @option\n     * @example 'active'\n     */\n    activeClass: 'active',\n    /**\n     * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n     * @option\n     * @example true\n     */\n    deepLinking: false,\n    /**\n     * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n     * @option\n     * @example 25\n     */\n    barOffset: 0\n  };\n\n  // Window exports\n  Foundation.plugin(Magellan, 'Magellan');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.offcanvas.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * OffCanvas module.\n   * @module foundation.offcanvas\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.triggers\n   * @requires foundation.util.motion\n   */\n\n  var OffCanvas = function () {\n    /**\n     * Creates a new instance of an off-canvas wrapper.\n     * @class\n     * @fires OffCanvas#init\n     * @param {Object} element - jQuery object to initialize.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function OffCanvas(element, options) {\n      _classCallCheck(this, OffCanvas);\n\n      this.$element = element;\n      this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n      this.$lastTrigger = $();\n      this.$triggers = $();\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'OffCanvas');\n      Foundation.Keyboard.register('OffCanvas', {\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n     * @function\n     * @private\n     */\n\n\n    _createClass(OffCanvas, [{\n      key: '_init',\n      value: function _init() {\n        var id = this.$element.attr('id');\n\n        this.$element.attr('aria-hidden', 'true');\n\n        this.$element.addClass('is-transition-' + this.options.transition);\n\n        // Find triggers that affect this element and add aria-expanded to them\n        this.$triggers = $(document).find('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-expanded', 'false').attr('aria-controls', id);\n\n        // Add an overlay over the content if necessary\n        if (this.options.contentOverlay === true) {\n          var overlay = document.createElement('div');\n          var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n          overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n          this.$overlay = $(overlay);\n          if (overlayPosition === 'is-overlay-fixed') {\n            $('body').append(this.$overlay);\n          } else {\n            this.$element.siblings('[data-off-canvas-content]').append(this.$overlay);\n          }\n        }\n\n        this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);\n\n        if (this.options.isRevealed === true) {\n          this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];\n          this._setMQChecker();\n        }\n        if (!this.options.transitionTime === true) {\n          this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas]')[0]).transitionDuration) * 1000;\n        }\n      }\n\n      /**\n       * Adds event handlers to the off-canvas wrapper and the exit overlay.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this.$element.off('.zf.trigger .zf.offcanvas').on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': this.close.bind(this),\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n        });\n\n        if (this.options.closeOnClick === true) {\n          var $target = this.options.contentOverlay ? this.$overlay : $('[data-off-canvas-content]');\n          $target.on({ 'click.zf.offcanvas': this.close.bind(this) });\n        }\n      }\n\n      /**\n       * Applies event listener for elements that will reveal at certain breakpoints.\n       * @private\n       */\n\n    }, {\n      key: '_setMQChecker',\n      value: function _setMQChecker() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n            _this.reveal(true);\n          } else {\n            _this.reveal(false);\n          }\n        }).one('load.zf.offcanvas', function () {\n          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n            _this.reveal(true);\n          }\n        });\n      }\n\n      /**\n       * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n       * @param {Boolean} isRevealed - true if element should be revealed.\n       * @function\n       */\n\n    }, {\n      key: 'reveal',\n      value: function reveal(isRevealed) {\n        var $closer = this.$element.find('[data-close]');\n        if (isRevealed) {\n          this.close();\n          this.isRevealed = true;\n          this.$element.attr('aria-hidden', 'false');\n          this.$element.off('open.zf.trigger toggle.zf.trigger');\n          if ($closer.length) {\n            $closer.hide();\n          }\n        } else {\n          this.isRevealed = false;\n          this.$element.attr('aria-hidden', 'true');\n          this.$element.on({\n            'open.zf.trigger': this.open.bind(this),\n            'toggle.zf.trigger': this.toggle.bind(this)\n          });\n          if ($closer.length) {\n            $closer.show();\n          }\n        }\n      }\n\n      /**\n       * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n       * @private\n       */\n\n    }, {\n      key: '_stopScrolling',\n      value: function _stopScrolling(event) {\n        return false;\n      }\n\n      /**\n       * Opens the off-canvas menu.\n       * @function\n       * @param {Object} event - Event object passed from listener.\n       * @param {jQuery} trigger - element that triggered the off-canvas to open.\n       * @fires OffCanvas#opened\n       */\n\n    }, {\n      key: 'open',\n      value: function open(event, trigger) {\n        if (this.$element.hasClass('is-open') || this.isRevealed) {\n          return;\n        }\n        var _this = this;\n\n        if (trigger) {\n          this.$lastTrigger = trigger;\n        }\n\n        if (this.options.forceTo === 'top') {\n          window.scrollTo(0, 0);\n        } else if (this.options.forceTo === 'bottom') {\n          window.scrollTo(0, document.body.scrollHeight);\n        }\n\n        /**\n         * Fires when the off-canvas menu opens.\n         * @event OffCanvas#opened\n         */\n        _this.$element.addClass('is-open');\n\n        this.$triggers.attr('aria-expanded', 'true');\n        this.$element.attr('aria-hidden', 'false').trigger('opened.zf.offcanvas');\n\n        // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n        if (this.options.contentScroll === false) {\n          $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n        }\n\n        if (this.options.contentOverlay === true) {\n          this.$overlay.addClass('is-visible');\n        }\n\n        if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n          this.$overlay.addClass('is-closable');\n        }\n\n        if (this.options.autoFocus === true) {\n          this.$element.one(Foundation.transitionend(this.$element), function () {\n            _this.$element.find('a, button').eq(0).focus();\n          });\n        }\n\n        if (this.options.trapFocus === true) {\n          this.$element.siblings('[data-off-canvas-content]').attr('tabindex', '-1');\n          Foundation.Keyboard.trapFocus(this.$element);\n        }\n      }\n\n      /**\n       * Closes the off-canvas menu.\n       * @function\n       * @param {Function} cb - optional cb to fire after closure.\n       * @fires OffCanvas#closed\n       */\n\n    }, {\n      key: 'close',\n      value: function close(cb) {\n        if (!this.$element.hasClass('is-open') || this.isRevealed) {\n          return;\n        }\n\n        var _this = this;\n\n        _this.$element.removeClass('is-open');\n\n        this.$element.attr('aria-hidden', 'true')\n        /**\n         * Fires when the off-canvas menu opens.\n         * @event OffCanvas#closed\n         */\n        .trigger('closed.zf.offcanvas');\n\n        // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n        if (this.options.contentScroll === false) {\n          $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n        }\n\n        if (this.options.contentOverlay === true) {\n          this.$overlay.removeClass('is-visible');\n        }\n\n        if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n          this.$overlay.removeClass('is-closable');\n        }\n\n        this.$triggers.attr('aria-expanded', 'false');\n\n        if (this.options.trapFocus === true) {\n          this.$element.siblings('[data-off-canvas-content]').removeAttr('tabindex');\n          Foundation.Keyboard.releaseFocus(this.$element);\n        }\n      }\n\n      /**\n       * Toggles the off-canvas menu open or closed.\n       * @function\n       * @param {Object} event - Event object passed from listener.\n       * @param {jQuery} trigger - element that triggered the off-canvas to open.\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle(event, trigger) {\n        if (this.$element.hasClass('is-open')) {\n          this.close(event, trigger);\n        } else {\n          this.open(event, trigger);\n        }\n      }\n\n      /**\n       * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_handleKeyboard',\n      value: function _handleKeyboard(e) {\n        var _this2 = this;\n\n        Foundation.Keyboard.handleKey(e, 'OffCanvas', {\n          close: function () {\n            _this2.close();\n            _this2.$lastTrigger.focus();\n            return true;\n          },\n          handled: function () {\n            e.stopPropagation();\n            e.preventDefault();\n          }\n        });\n      }\n\n      /**\n       * Destroys the offcanvas plugin.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.close();\n        this.$element.off('.zf.trigger .zf.offcanvas');\n        this.$overlay.off('.zf.offcanvas');\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return OffCanvas;\n  }();\n\n  OffCanvas.defaults = {\n    /**\n     * Allow the user to click outside of the menu to close it.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n\n    /**\n     * Adds an overlay on top of `[data-off-canvas-content]`.\n     * @option\n     * @example true\n     */\n    contentOverlay: true,\n\n    /**\n     * Enable/disable scrolling of the main content when an off canvas panel is open.\n     * @option\n     * @example true\n     */\n    contentScroll: true,\n\n    /**\n     * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n     * @option\n     * @example 500\n     */\n    transitionTime: 0,\n\n    /**\n     * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n     * @option\n     * @example push\n     */\n    transition: 'push',\n\n    /**\n     * Force the page to scroll to top or bottom on open.\n     * @option\n     * @example top\n     */\n    forceTo: null,\n\n    /**\n     * Allow the offcanvas to remain open for certain breakpoints.\n     * @option\n     * @example false\n     */\n    isRevealed: false,\n\n    /**\n     * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n     * @option\n     * @example reveal-for-large\n     */\n    revealOn: null,\n\n    /**\n     * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n     * @option\n     * @example true\n     */\n    autoFocus: true,\n\n    /**\n     * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n     * @option\n     * TODO improve the regex testing for this.\n     * @example reveal-for-large\n     */\n    revealClass: 'reveal-for-',\n\n    /**\n     * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n     * @option\n     * @example true\n     */\n    trapFocus: false\n  };\n\n  // Window exports\n  Foundation.plugin(OffCanvas, 'OffCanvas');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.orbit.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Orbit module.\n   * @module foundation.orbit\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.motion\n   * @requires foundation.util.timerAndImageLoader\n   * @requires foundation.util.touch\n   */\n\n  var Orbit = function () {\n    /**\n    * Creates a new instance of an orbit carousel.\n    * @class\n    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n    * @param {Object} options - Overrides to the default plugin settings.\n    */\n    function Orbit(element, options) {\n      _classCallCheck(this, Orbit);\n\n      this.$element = element;\n      this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Orbit');\n      Foundation.Keyboard.register('Orbit', {\n        'ltr': {\n          'ARROW_RIGHT': 'next',\n          'ARROW_LEFT': 'previous'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'next',\n          'ARROW_RIGHT': 'previous'\n        }\n      });\n    }\n\n    /**\n    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n    * @function\n    * @private\n    */\n\n\n    _createClass(Orbit, [{\n      key: '_init',\n      value: function _init() {\n        // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n        this._reset();\n\n        this.$wrapper = this.$element.find('.' + this.options.containerClass);\n        this.$slides = this.$element.find('.' + this.options.slideClass);\n\n        var $images = this.$element.find('img'),\n            initActive = this.$slides.filter('.is-active'),\n            id = this.$element[0].id || Foundation.GetYoDigits(6, 'orbit');\n\n        this.$element.attr({\n          'data-resize': id,\n          'id': id\n        });\n\n        if (!initActive.length) {\n          this.$slides.eq(0).addClass('is-active');\n        }\n\n        if (!this.options.useMUI) {\n          this.$slides.addClass('no-motionui');\n        }\n\n        if ($images.length) {\n          Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));\n        } else {\n          this._prepareForOrbit(); //hehe\n        }\n\n        if (this.options.bullets) {\n          this._loadBullets();\n        }\n\n        this._events();\n\n        if (this.options.autoPlay && this.$slides.length > 1) {\n          this.geoSync();\n        }\n\n        if (this.options.accessible) {\n          // allow wrapper to be focusable to enable arrow navigation\n          this.$wrapper.attr('tabindex', 0);\n        }\n      }\n\n      /**\n      * Creates a jQuery collection of bullets, if they are being used.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_loadBullets',\n      value: function _loadBullets() {\n        this.$bullets = this.$element.find('.' + this.options.boxOfBullets).find('button');\n      }\n\n      /**\n      * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n      * @function\n      */\n\n    }, {\n      key: 'geoSync',\n      value: function geoSync() {\n        var _this = this;\n        this.timer = new Foundation.Timer(this.$element, {\n          duration: this.options.timerDelay,\n          infinite: false\n        }, function () {\n          _this.changeSlide(true);\n        });\n        this.timer.start();\n      }\n\n      /**\n      * Sets wrapper and slide heights for the orbit.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_prepareForOrbit',\n      value: function _prepareForOrbit() {\n        var _this = this;\n        this._setWrapperHeight();\n      }\n\n      /**\n      * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n      * @function\n      * @private\n      * @param {Function} cb - a callback function to fire when complete.\n      */\n\n    }, {\n      key: '_setWrapperHeight',\n      value: function _setWrapperHeight(cb) {\n        //rewrite this to `for` loop\n        var max = 0,\n            temp,\n            counter = 0,\n            _this = this;\n\n        this.$slides.each(function () {\n          temp = this.getBoundingClientRect().height;\n          $(this).attr('data-slide', counter);\n\n          if (_this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {\n            //if not the active slide, set css position and display property\n            $(this).css({ 'position': 'relative', 'display': 'none' });\n          }\n          max = temp > max ? temp : max;\n          counter++;\n        });\n\n        if (counter === this.$slides.length) {\n          this.$wrapper.css({ 'height': max }); //only change the wrapper height property once.\n          if (cb) {\n            cb(max);\n          } //fire callback with max height dimension.\n        }\n      }\n\n      /**\n      * Sets the max-height of each slide.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_setSlideHeight',\n      value: function _setSlideHeight(height) {\n        this.$slides.each(function () {\n          $(this).css('max-height', height);\n        });\n      }\n\n      /**\n      * Adds event listeners to basically everything within the element.\n      * @function\n      * @private\n      */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        //***************************************\n        //**Now using custom event - thanks to:**\n        //**      Yohai Ararat of Toronto      **\n        //***************************************\n        //\n        this.$element.off('.resizeme.zf.trigger').on({\n          'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n        });\n        if (this.$slides.length > 1) {\n\n          if (this.options.swipe) {\n            this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide(true);\n            }).on('swiperight.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide(false);\n            });\n          }\n          //***************************************\n\n          if (this.options.autoPlay) {\n            this.$slides.on('click.zf.orbit', function () {\n              _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n              _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n            });\n\n            if (this.options.pauseOnHover) {\n              this.$element.on('mouseenter.zf.orbit', function () {\n                _this.timer.pause();\n              }).on('mouseleave.zf.orbit', function () {\n                if (!_this.$element.data('clickedOn')) {\n                  _this.timer.start();\n                }\n              });\n            }\n          }\n\n          if (this.options.navButtons) {\n            var $controls = this.$element.find('.' + this.options.nextClass + ', .' + this.options.prevClass);\n            $controls.attr('tabindex', 0)\n            //also need to handle enter/return and spacebar key presses\n            .on('click.zf.orbit touchend.zf.orbit', function (e) {\n              e.preventDefault();\n              _this.changeSlide($(this).hasClass(_this.options.nextClass));\n            });\n          }\n\n          if (this.options.bullets) {\n            this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {\n              if (/is-active/g.test(this.className)) {\n                return false;\n              } //if this is active, kick out of function.\n              var idx = $(this).data('slide'),\n                  ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n                  $slide = _this.$slides.eq(idx);\n\n              _this.changeSlide(ltr, $slide, idx);\n            });\n          }\n\n          if (this.options.accessible) {\n            this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {\n              // handle keyboard event with keyboard util\n              Foundation.Keyboard.handleKey(e, 'Orbit', {\n                next: function () {\n                  _this.changeSlide(true);\n                },\n                previous: function () {\n                  _this.changeSlide(false);\n                },\n                handled: function () {\n                  // if bullet is focused, make sure focus moves\n                  if ($(e.target).is(_this.$bullets)) {\n                    _this.$bullets.filter('.is-active').focus();\n                  }\n                }\n              });\n            });\n          }\n        }\n      }\n\n      /**\n       * Resets Orbit so it can be reinitialized\n       */\n\n    }, {\n      key: '_reset',\n      value: function _reset() {\n        // Don't do anything if there are no slides (first run)\n        if (typeof this.$slides == 'undefined') {\n          return;\n        }\n\n        if (this.$slides.length > 1) {\n          // Remove old events\n          this.$element.off('.zf.orbit').find('*').off('.zf.orbit');\n\n          // Restart timer if autoPlay is enabled\n          if (this.options.autoPlay) {\n            this.timer.restart();\n          }\n\n          // Reset all sliddes\n          this.$slides.each(function (el) {\n            $(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide();\n          });\n\n          // Show the first slide\n          this.$slides.first().addClass('is-active').show();\n\n          // Triggers when the slide has finished animating\n          this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n          // Select first bullet if bullets are present\n          if (this.options.bullets) {\n            this._updateBullets(0);\n          }\n        }\n      }\n\n      /**\n      * Changes the current slide to a new one.\n      * @function\n      * @param {Boolean} isLTR - flag if the slide should move left to right.\n      * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n      * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n      * @fires Orbit#slidechange\n      */\n\n    }, {\n      key: 'changeSlide',\n      value: function changeSlide(isLTR, chosenSlide, idx) {\n        if (!this.$slides) {\n          return;\n        } // Don't freak out if we're in the middle of cleanup\n        var $curSlide = this.$slides.filter('.is-active').eq(0);\n\n        if (/mui/g.test($curSlide[0].className)) {\n          return false;\n        } //if the slide is currently animating, kick out of the function\n\n        var $firstSlide = this.$slides.first(),\n            $lastSlide = this.$slides.last(),\n            dirIn = isLTR ? 'Right' : 'Left',\n            dirOut = isLTR ? 'Left' : 'Right',\n            _this = this,\n            $newSlide;\n\n        if (!chosenSlide) {\n          //most of the time, this will be auto played or clicked from the navButtons.\n          $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n          this.options.infiniteWrap ? $curSlide.next('.' + this.options.slideClass).length ? $curSlide.next('.' + this.options.slideClass) : $firstSlide : $curSlide.next('.' + this.options.slideClass) : //pick next slide if moving left to right\n          this.options.infiniteWrap ? $curSlide.prev('.' + this.options.slideClass).length ? $curSlide.prev('.' + this.options.slideClass) : $lastSlide : $curSlide.prev('.' + this.options.slideClass); //pick prev slide if moving right to left\n        } else {\n          $newSlide = chosenSlide;\n        }\n\n        if ($newSlide.length) {\n          /**\n          * Triggers before the next slide starts animating in and only if a next slide has been found.\n          * @event Orbit#beforeslidechange\n          */\n          this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n\n          if (this.options.bullets) {\n            idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n            this._updateBullets(idx);\n          }\n\n          if (this.options.useMUI && !this.$element.is(':hidden')) {\n            Foundation.Motion.animateIn($newSlide.addClass('is-active').css({ 'position': 'absolute', 'top': 0 }), this.options['animInFrom' + dirIn], function () {\n              $newSlide.css({ 'position': 'relative', 'display': 'block' }).attr('aria-live', 'polite');\n            });\n\n            Foundation.Motion.animateOut($curSlide.removeClass('is-active'), this.options['animOutTo' + dirOut], function () {\n              $curSlide.removeAttr('aria-live');\n              if (_this.options.autoPlay && !_this.timer.isPaused) {\n                _this.timer.restart();\n              }\n              //do stuff?\n            });\n          } else {\n            $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n            $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n            if (this.options.autoPlay && !this.timer.isPaused) {\n              this.timer.restart();\n            }\n          }\n          /**\n          * Triggers when the slide has finished animating in.\n          * @event Orbit#slidechange\n          */\n          this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n        }\n      }\n\n      /**\n      * Updates the active state of the bullets, if displayed.\n      * @function\n      * @private\n      * @param {Number} idx - the index of the current slide.\n      */\n\n    }, {\n      key: '_updateBullets',\n      value: function _updateBullets(idx) {\n        var $oldBullet = this.$element.find('.' + this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),\n            span = $oldBullet.find('span:last').detach(),\n            $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);\n      }\n\n      /**\n      * Destroys the carousel and hides the element.\n      * @function\n      */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Orbit;\n  }();\n\n  Orbit.defaults = {\n    /**\n    * Tells the JS to look for and loadBullets.\n    * @option\n    * @example true\n    */\n    bullets: true,\n    /**\n    * Tells the JS to apply event listeners to nav buttons\n    * @option\n    * @example true\n    */\n    navButtons: true,\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-in-right'\n    */\n    animInFromRight: 'slide-in-right',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-out-right'\n    */\n    animOutToRight: 'slide-out-right',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-in-left'\n    *\n    */\n    animInFromLeft: 'slide-in-left',\n    /**\n    * motion-ui animation class to apply\n    * @option\n    * @example 'slide-out-left'\n    */\n    animOutToLeft: 'slide-out-left',\n    /**\n    * Allows Orbit to automatically animate on page load.\n    * @option\n    * @example true\n    */\n    autoPlay: true,\n    /**\n    * Amount of time, in ms, between slide transitions\n    * @option\n    * @example 5000\n    */\n    timerDelay: 5000,\n    /**\n    * Allows Orbit to infinitely loop through the slides\n    * @option\n    * @example true\n    */\n    infiniteWrap: true,\n    /**\n    * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n    * @option\n    * @example true\n    */\n    swipe: true,\n    /**\n    * Allows the timing function to pause animation on hover.\n    * @option\n    * @example true\n    */\n    pauseOnHover: true,\n    /**\n    * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n    * @option\n    * @example true\n    */\n    accessible: true,\n    /**\n    * Class applied to the container of Orbit\n    * @option\n    * @example 'orbit-container'\n    */\n    containerClass: 'orbit-container',\n    /**\n    * Class applied to individual slides.\n    * @option\n    * @example 'orbit-slide'\n    */\n    slideClass: 'orbit-slide',\n    /**\n    * Class applied to the bullet container. You're welcome.\n    * @option\n    * @example 'orbit-bullets'\n    */\n    boxOfBullets: 'orbit-bullets',\n    /**\n    * Class applied to the `next` navigation button.\n    * @option\n    * @example 'orbit-next'\n    */\n    nextClass: 'orbit-next',\n    /**\n    * Class applied to the `previous` navigation button.\n    * @option\n    * @example 'orbit-previous'\n    */\n    prevClass: 'orbit-previous',\n    /**\n    * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.\n    * @option\n    * @example true\n    */\n    useMUI: true\n  };\n\n  // Window exports\n  Foundation.plugin(Orbit, 'Orbit');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.responsiveMenu.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveMenu module.\n   * @module foundation.responsiveMenu\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.accordionMenu\n   * @requires foundation.util.drilldown\n   * @requires foundation.util.dropdown-menu\n   */\n\n  var ResponsiveMenu = function () {\n    /**\n     * Creates a new instance of a responsive menu.\n     * @class\n     * @fires ResponsiveMenu#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveMenu(element, options) {\n      _classCallCheck(this, ResponsiveMenu);\n\n      this.$element = $(element);\n      this.rules = this.$element.data('responsive-menu');\n      this.currentMq = null;\n      this.currentPlugin = null;\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveMenu');\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveMenu, [{\n      key: '_init',\n      value: function _init() {\n        // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n        if (typeof this.rules === 'string') {\n          var rulesTree = {};\n\n          // Parse rules from \"classes\" pulled from data attribute\n          var rules = this.rules.split(' ');\n\n          // Iterate through every rule found\n          for (var i = 0; i < rules.length; i++) {\n            var rule = rules[i].split('-');\n            var ruleSize = rule.length > 1 ? rule[0] : 'small';\n            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n            if (MenuPlugins[rulePlugin] !== null) {\n              rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n            }\n          }\n\n          this.rules = rulesTree;\n        }\n\n        if (!$.isEmptyObject(this.rules)) {\n          this._checkMediaQueries();\n        }\n        // Add data-mutate since children may need it.\n        this.$element.attr('data-mutate', this.$element.attr('data-mutate') || Foundation.GetYoDigits(6, 'responsive-menu'));\n      }\n\n      /**\n       * Initializes events for the Menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          _this._checkMediaQueries();\n        });\n        // $(window).on('resize.zf.ResponsiveMenu', function() {\n        //   _this._checkMediaQueries();\n        // });\n      }\n\n      /**\n       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_checkMediaQueries',\n      value: function _checkMediaQueries() {\n        var matchedMq,\n            _this = this;\n        // Iterate through each rule and find the last matching rule\n        $.each(this.rules, function (key) {\n          if (Foundation.MediaQuery.atLeast(key)) {\n            matchedMq = key;\n          }\n        });\n\n        // No match? No dice\n        if (!matchedMq) return;\n\n        // Plugin already initialized? We good\n        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n        // Remove existing plugin-specific CSS classes\n        $.each(MenuPlugins, function (key, value) {\n          _this.$element.removeClass(value.cssClass);\n        });\n\n        // Add the CSS class for the new plugin\n        this.$element.addClass(this.rules[matchedMq].cssClass);\n\n        // Create an instance of the new plugin\n        if (this.currentPlugin) this.currentPlugin.destroy();\n        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n      }\n\n      /**\n       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.currentPlugin.destroy();\n        $(window).off('.zf.ResponsiveMenu');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveMenu;\n  }();\n\n  ResponsiveMenu.defaults = {};\n\n  // The plugin matches the plugin classes with these plugin instances.\n  var MenuPlugins = {\n    dropdown: {\n      cssClass: 'dropdown',\n      plugin: Foundation._plugins['dropdown-menu'] || null\n    },\n    drilldown: {\n      cssClass: 'drilldown',\n      plugin: Foundation._plugins['drilldown'] || null\n    },\n    accordion: {\n      cssClass: 'accordion-menu',\n      plugin: Foundation._plugins['accordion-menu'] || null\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.responsiveToggle.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveToggle module.\n   * @module foundation.responsiveToggle\n   * @requires foundation.util.mediaQuery\n   */\n\n  var ResponsiveToggle = function () {\n    /**\n     * Creates a new instance of Tab Bar.\n     * @class\n     * @fires ResponsiveToggle#init\n     * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveToggle(element, options) {\n      _classCallCheck(this, ResponsiveToggle);\n\n      this.$element = $(element);\n      this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveToggle');\n    }\n\n    /**\n     * Initializes the tab bar by finding the target element, toggling element, and running update().\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveToggle, [{\n      key: '_init',\n      value: function _init() {\n        var targetID = this.$element.data('responsive-toggle');\n        if (!targetID) {\n          console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n        }\n\n        this.$targetMenu = $('#' + targetID);\n        this.$toggler = this.$element.find('[data-toggle]');\n        this.options = $.extend({}, this.options, this.$targetMenu.data());\n\n        // If they were set, parse the animation classes\n        if (this.options.animate) {\n          var input = this.options.animate.split(' ');\n\n          this.animationIn = input[0];\n          this.animationOut = input[1] || null;\n        }\n\n        this._update();\n      }\n\n      /**\n       * Adds necessary event handlers for the tab bar to work.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        this._updateMqHandler = this._update.bind(this);\n\n        $(window).on('changed.zf.mediaquery', this._updateMqHandler);\n\n        this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n      }\n\n      /**\n       * Checks the current media query to determine if the tab bar should be visible or hidden.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_update',\n      value: function _update() {\n        // Mobile\n        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n          this.$element.show();\n          this.$targetMenu.hide();\n        }\n\n        // Desktop\n        else {\n            this.$element.hide();\n            this.$targetMenu.show();\n          }\n      }\n\n      /**\n       * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n       * @function\n       * @fires ResponsiveToggle#toggled\n       */\n\n    }, {\n      key: 'toggleMenu',\n      value: function toggleMenu() {\n        var _this2 = this;\n\n        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n          if (this.options.animate) {\n            if (this.$targetMenu.is(':hidden')) {\n              Foundation.Motion.animateIn(this.$targetMenu, this.animationIn, function () {\n                /**\n                 * Fires when the element attached to the tab bar toggles.\n                 * @event ResponsiveToggle#toggled\n                 */\n                _this2.$element.trigger('toggled.zf.responsiveToggle');\n                _this2.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n              });\n            } else {\n              Foundation.Motion.animateOut(this.$targetMenu, this.animationOut, function () {\n                /**\n                 * Fires when the element attached to the tab bar toggles.\n                 * @event ResponsiveToggle#toggled\n                 */\n                _this2.$element.trigger('toggled.zf.responsiveToggle');\n              });\n            }\n          } else {\n            this.$targetMenu.toggle(0);\n            this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n\n            /**\n             * Fires when the element attached to the tab bar toggles.\n             * @event ResponsiveToggle#toggled\n             */\n            this.$element.trigger('toggled.zf.responsiveToggle');\n          }\n        }\n      }\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.responsiveToggle');\n        this.$toggler.off('.zf.responsiveToggle');\n\n        $(window).off('changed.zf.mediaquery', this._updateMqHandler);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveToggle;\n  }();\n\n  ResponsiveToggle.defaults = {\n    /**\n     * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n     * @option\n     * @example 'medium'\n     */\n    hideFor: 'medium',\n\n    /**\n     * To decide if the toggle should be animated or not.\n     * @option\n     * @example false\n     */\n    animate: false\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.reveal.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Reveal module.\n   * @module foundation.reveal\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.box\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.motion if using animations\n   */\n\n  var Reveal = function () {\n    /**\n     * Creates a new instance of Reveal.\n     * @class\n     * @param {jQuery} element - jQuery object to use for the modal.\n     * @param {Object} options - optional parameters.\n     */\n    function Reveal(element, options) {\n      _classCallCheck(this, Reveal);\n\n      this.$element = element;\n      this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n      this._init();\n\n      Foundation.registerPlugin(this, 'Reveal');\n      Foundation.Keyboard.register('Reveal', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ESCAPE': 'close'\n      });\n    }\n\n    /**\n     * Initializes the modal by adding the overlay and close buttons, (if selected).\n     * @private\n     */\n\n\n    _createClass(Reveal, [{\n      key: '_init',\n      value: function _init() {\n        this.id = this.$element.attr('id');\n        this.isActive = false;\n        this.cached = { mq: Foundation.MediaQuery.current };\n        this.isMobile = mobileSniff();\n\n        this.$anchor = $('[data-open=\"' + this.id + '\"]').length ? $('[data-open=\"' + this.id + '\"]') : $('[data-toggle=\"' + this.id + '\"]');\n        this.$anchor.attr({\n          'aria-controls': this.id,\n          'aria-haspopup': true,\n          'tabindex': 0\n        });\n\n        if (this.options.fullScreen || this.$element.hasClass('full')) {\n          this.options.fullScreen = true;\n          this.options.overlay = false;\n        }\n        if (this.options.overlay && !this.$overlay) {\n          this.$overlay = this._makeOverlay(this.id);\n        }\n\n        this.$element.attr({\n          'role': 'dialog',\n          'aria-hidden': true,\n          'data-yeti-box': this.id,\n          'data-resize': this.id\n        });\n\n        if (this.$overlay) {\n          this.$element.detach().appendTo(this.$overlay);\n        } else {\n          this.$element.detach().appendTo($(this.options.appendTo));\n          this.$element.addClass('without-overlay');\n        }\n        this._events();\n        if (this.options.deepLink && window.location.hash === '#' + this.id) {\n          $(window).one('load.zf.reveal', this.open.bind(this));\n        }\n      }\n\n      /**\n       * Creates an overlay div to display behind the modal.\n       * @private\n       */\n\n    }, {\n      key: '_makeOverlay',\n      value: function _makeOverlay() {\n        return $('<div></div>').addClass('reveal-overlay').appendTo(this.options.appendTo);\n      }\n\n      /**\n       * Updates position of modal\n       * TODO:  Figure out if we actually need to cache these values or if it doesn't matter\n       * @private\n       */\n\n    }, {\n      key: '_updatePosition',\n      value: function _updatePosition() {\n        var width = this.$element.outerWidth();\n        var outerWidth = $(window).width();\n        var height = this.$element.outerHeight();\n        var outerHeight = $(window).height();\n        var left, top;\n        if (this.options.hOffset === 'auto') {\n          left = parseInt((outerWidth - width) / 2, 10);\n        } else {\n          left = parseInt(this.options.hOffset, 10);\n        }\n        if (this.options.vOffset === 'auto') {\n          if (height > outerHeight) {\n            top = parseInt(Math.min(100, outerHeight / 10), 10);\n          } else {\n            top = parseInt((outerHeight - height) / 4, 10);\n          }\n        } else {\n          top = parseInt(this.options.vOffset, 10);\n        }\n        this.$element.css({ top: top + 'px' });\n        // only worry about left if we don't have an overlay or we havea  horizontal offset,\n        // otherwise we're perfectly in the middle\n        if (!this.$overlay || this.options.hOffset !== 'auto') {\n          this.$element.css({ left: left + 'px' });\n          this.$element.css({ margin: '0px' });\n        }\n      }\n\n      /**\n       * Adds event handlers for the modal.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this2 = this;\n\n        var _this = this;\n\n        this.$element.on({\n          'open.zf.trigger': this.open.bind(this),\n          'close.zf.trigger': function (event, $element) {\n            if (event.target === _this.$element[0] || $(event.target).parents('[data-closable]')[0] === $element) {\n              // only close reveal when it's explicitly called\n              return _this2.close.apply(_this2);\n            }\n          },\n          'toggle.zf.trigger': this.toggle.bind(this),\n          'resizeme.zf.trigger': function () {\n            _this._updatePosition();\n          }\n        });\n\n        if (this.$anchor.length) {\n          this.$anchor.on('keydown.zf.reveal', function (e) {\n            if (e.which === 13 || e.which === 32) {\n              e.stopPropagation();\n              e.preventDefault();\n              _this.open();\n            }\n          });\n        }\n\n        if (this.options.closeOnClick && this.options.overlay) {\n          this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {\n            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target) || !$.contains(document, e.target)) {\n              return;\n            }\n            _this.close();\n          });\n        }\n        if (this.options.deepLink) {\n          $(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));\n        }\n      }\n\n      /**\n       * Handles modal methods on back/forward button clicks or any other event that triggers popstate.\n       * @private\n       */\n\n    }, {\n      key: '_handleState',\n      value: function _handleState(e) {\n        if (window.location.hash === '#' + this.id && !this.isActive) {\n          this.open();\n        } else {\n          this.close();\n        }\n      }\n\n      /**\n       * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n       * @function\n       * @fires Reveal#closeme\n       * @fires Reveal#open\n       */\n\n    }, {\n      key: 'open',\n      value: function open() {\n        var _this3 = this;\n\n        if (this.options.deepLink) {\n          var hash = '#' + this.id;\n\n          if (window.history.pushState) {\n            window.history.pushState(null, null, hash);\n          } else {\n            window.location.hash = hash;\n          }\n        }\n\n        this.isActive = true;\n\n        // Make elements invisible, but remove display: none so we can get size and positioning\n        this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);\n        if (this.options.overlay) {\n          this.$overlay.css({ 'visibility': 'hidden' }).show();\n        }\n\n        this._updatePosition();\n\n        this.$element.hide().css({ 'visibility': '' });\n\n        if (this.$overlay) {\n          this.$overlay.css({ 'visibility': '' }).hide();\n          if (this.$element.hasClass('fast')) {\n            this.$overlay.addClass('fast');\n          } else if (this.$element.hasClass('slow')) {\n            this.$overlay.addClass('slow');\n          }\n        }\n\n        if (!this.options.multipleOpened) {\n          /**\n           * Fires immediately before the modal opens.\n           * Closes any other modals that are currently open\n           * @event Reveal#closeme\n           */\n          this.$element.trigger('closeme.zf.reveal', this.id);\n        }\n\n        var _this = this;\n\n        function addRevealOpenClasses() {\n          if (_this.isMobile) {\n            if (!_this.originalScrollPos) {\n              _this.originalScrollPos = window.pageYOffset;\n            }\n            $('html, body').addClass('is-reveal-open');\n          } else {\n            $('body').addClass('is-reveal-open');\n          }\n        }\n        // Motion UI method of reveal\n        if (this.options.animationIn) {\n          (function () {\n            var afterAnimation = function () {\n              _this.$element.attr({\n                'aria-hidden': false,\n                'tabindex': -1\n              }).focus();\n              addRevealOpenClasses();\n              Foundation.Keyboard.trapFocus(_this.$element);\n            };\n\n            if (_this3.options.overlay) {\n              Foundation.Motion.animateIn(_this3.$overlay, 'fade-in');\n            }\n            Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function () {\n              if (_this3.$element) {\n                // protect against object having been removed\n                _this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element);\n                afterAnimation();\n              }\n            });\n          })();\n        }\n        // jQuery method of reveal\n        else {\n            if (this.options.overlay) {\n              this.$overlay.show(0);\n            }\n            this.$element.show(this.options.showDelay);\n          }\n\n        // handle accessibility\n        this.$element.attr({\n          'aria-hidden': false,\n          'tabindex': -1\n        }).focus();\n        Foundation.Keyboard.trapFocus(this.$element);\n\n        /**\n         * Fires when the modal has successfully opened.\n         * @event Reveal#open\n         */\n        this.$element.trigger('open.zf.reveal');\n\n        addRevealOpenClasses();\n\n        setTimeout(function () {\n          _this3._extraHandlers();\n        }, 0);\n      }\n\n      /**\n       * Adds extra event handlers for the body and window if necessary.\n       * @private\n       */\n\n    }, {\n      key: '_extraHandlers',\n      value: function _extraHandlers() {\n        var _this = this;\n        if (!this.$element) {\n          return;\n        } // If we're in the middle of cleanup, don't freak out\n        this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);\n\n        if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n          $('body').on('click.zf.reveal', function (e) {\n            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target) || !$.contains(document, e.target)) {\n              return;\n            }\n            _this.close();\n          });\n        }\n\n        if (this.options.closeOnEsc) {\n          $(window).on('keydown.zf.reveal', function (e) {\n            Foundation.Keyboard.handleKey(e, 'Reveal', {\n              close: function () {\n                if (_this.options.closeOnEsc) {\n                  _this.close();\n                  _this.$anchor.focus();\n                }\n              }\n            });\n          });\n        }\n\n        // lock focus within modal while tabbing\n        this.$element.on('keydown.zf.reveal', function (e) {\n          var $target = $(this);\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Reveal', {\n            open: function () {\n              if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {\n                setTimeout(function () {\n                  // set focus back to anchor if close button has been activated\n                  _this.$anchor.focus();\n                }, 1);\n              } else if ($target.is(_this.focusableElements)) {\n                // dont't trigger if acual element has focus (i.e. inputs, links, ...)\n                _this.open();\n              }\n            },\n            close: function () {\n              if (_this.options.closeOnEsc) {\n                _this.close();\n                _this.$anchor.focus();\n              }\n            },\n            handled: function (preventDefault) {\n              if (preventDefault) {\n                e.preventDefault();\n              }\n            }\n          });\n        });\n      }\n\n      /**\n       * Closes the modal.\n       * @function\n       * @fires Reveal#closed\n       */\n\n    }, {\n      key: 'close',\n      value: function close() {\n        if (!this.isActive || !this.$element.is(':visible')) {\n          return false;\n        }\n        var _this = this;\n\n        // Motion UI method of hiding\n        if (this.options.animationOut) {\n          if (this.options.overlay) {\n            Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);\n          } else {\n            finishUp();\n          }\n\n          Foundation.Motion.animateOut(this.$element, this.options.animationOut);\n        }\n        // jQuery method of hiding\n        else {\n            if (this.options.overlay) {\n              this.$overlay.hide(0, finishUp);\n            } else {\n              finishUp();\n            }\n\n            this.$element.hide(this.options.hideDelay);\n          }\n\n        // Conditionals to remove extra event listeners added on open\n        if (this.options.closeOnEsc) {\n          $(window).off('keydown.zf.reveal');\n        }\n\n        if (!this.options.overlay && this.options.closeOnClick) {\n          $('body').off('click.zf.reveal');\n        }\n\n        this.$element.off('keydown.zf.reveal');\n\n        function finishUp() {\n          if (_this.isMobile) {\n            $('html, body').removeClass('is-reveal-open');\n            if (_this.originalScrollPos) {\n              $('body').scrollTop(_this.originalScrollPos);\n              _this.originalScrollPos = null;\n            }\n          } else {\n            $('body').removeClass('is-reveal-open');\n          }\n\n          Foundation.Keyboard.releaseFocus(_this.$element);\n\n          _this.$element.attr('aria-hidden', true);\n\n          /**\n          * Fires when the modal is done closing.\n          * @event Reveal#closed\n          */\n          _this.$element.trigger('closed.zf.reveal');\n        }\n\n        /**\n        * Resets the modal content\n        * This prevents a running video to keep going in the background\n        */\n        if (this.options.resetOnClose) {\n          this.$element.html(this.$element.html());\n        }\n\n        this.isActive = false;\n        if (_this.options.deepLink) {\n          if (window.history.replaceState) {\n            window.history.replaceState('', document.title, window.location.href.replace('#' + this.id, ''));\n          } else {\n            window.location.hash = '';\n          }\n        }\n      }\n\n      /**\n       * Toggles the open/closed state of a modal.\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.isActive) {\n          this.close();\n        } else {\n          this.open();\n        }\n      }\n    }, {\n      key: 'destroy',\n\n\n      /**\n       * Destroys an instance of a modal.\n       * @function\n       */\n      value: function destroy() {\n        if (this.options.overlay) {\n          this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n          this.$overlay.hide().off().remove();\n        }\n        this.$element.hide().off();\n        this.$anchor.off('.zf');\n        $(window).off('.zf.reveal:' + this.id);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Reveal;\n  }();\n\n  Reveal.defaults = {\n    /**\n     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n     * @option\n     * @example 'slide-in-left'\n     */\n    animationIn: '',\n    /**\n     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n     * @option\n     * @example 'slide-out-right'\n     */\n    animationOut: '',\n    /**\n     * Time, in ms, to delay the opening of a modal after a click if no animation used.\n     * @option\n     * @example 10\n     */\n    showDelay: 0,\n    /**\n     * Time, in ms, to delay the closing of a modal after a click if no animation used.\n     * @option\n     * @example 10\n     */\n    hideDelay: 0,\n    /**\n     * Allows a click on the body/overlay to close the modal.\n     * @option\n     * @example true\n     */\n    closeOnClick: true,\n    /**\n     * Allows the modal to close if the user presses the `ESCAPE` key.\n     * @option\n     * @example true\n     */\n    closeOnEsc: true,\n    /**\n     * If true, allows multiple modals to be displayed at once.\n     * @option\n     * @example false\n     */\n    multipleOpened: false,\n    /**\n     * Distance, in pixels, the modal should push down from the top of the screen.\n     * @option\n     * @example auto\n     */\n    vOffset: 'auto',\n    /**\n     * Distance, in pixels, the modal should push in from the side of the screen.\n     * @option\n     * @example auto\n     */\n    hOffset: 'auto',\n    /**\n     * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n     * @option\n     * @example false\n     */\n    fullScreen: false,\n    /**\n     * Percentage of screen height the modal should push up from the bottom of the view.\n     * @option\n     * @example 10\n     */\n    btmOffsetPct: 10,\n    /**\n     * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n     * @option\n     * @example true\n     */\n    overlay: true,\n    /**\n     * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n     * @option\n     * @example false\n     */\n    resetOnClose: false,\n    /**\n     * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.\n     * @option\n     * @example false\n     */\n    deepLink: false,\n    /**\n    * Allows the modal to append to custom div.\n    * @option\n    * @example false\n    */\n    appendTo: \"body\"\n\n  };\n\n  // Window exports\n  Foundation.plugin(Reveal, 'Reveal');\n\n  function iPhoneSniff() {\n    return (/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)\n    );\n  }\n\n  function androidSniff() {\n    return (/Android/.test(window.navigator.userAgent)\n    );\n  }\n\n  function mobileSniff() {\n    return iPhoneSniff() || androidSniff();\n  }\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.slider.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Slider module.\n   * @module foundation.slider\n   * @requires foundation.util.motion\n   * @requires foundation.util.triggers\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.touch\n   */\n\n  var Slider = function () {\n    /**\n     * Creates a new instance of a slider control.\n     * @class\n     * @param {jQuery} element - jQuery object to make into a slider control.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Slider(element, options) {\n      _classCallCheck(this, Slider);\n\n      this.$element = element;\n      this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Slider');\n      Foundation.Keyboard.register('Slider', {\n        'ltr': {\n          'ARROW_RIGHT': 'increase',\n          'ARROW_UP': 'increase',\n          'ARROW_DOWN': 'decrease',\n          'ARROW_LEFT': 'decrease',\n          'SHIFT_ARROW_RIGHT': 'increase_fast',\n          'SHIFT_ARROW_UP': 'increase_fast',\n          'SHIFT_ARROW_DOWN': 'decrease_fast',\n          'SHIFT_ARROW_LEFT': 'decrease_fast'\n        },\n        'rtl': {\n          'ARROW_LEFT': 'increase',\n          'ARROW_RIGHT': 'decrease',\n          'SHIFT_ARROW_LEFT': 'increase_fast',\n          'SHIFT_ARROW_RIGHT': 'decrease_fast'\n        }\n      });\n    }\n\n    /**\n     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n     * @function\n     * @private\n     */\n\n\n    _createClass(Slider, [{\n      key: '_init',\n      value: function _init() {\n        this.inputs = this.$element.find('input');\n        this.handles = this.$element.find('[data-slider-handle]');\n\n        this.$handle = this.handles.eq(0);\n        this.$input = this.inputs.length ? this.inputs.eq(0) : $('#' + this.$handle.attr('aria-controls'));\n        this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n        var isDbl = false,\n            _this = this;\n        if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n          this.options.disabled = true;\n          this.$element.addClass(this.options.disabledClass);\n        }\n        if (!this.inputs.length) {\n          this.inputs = $().add(this.$input);\n          this.options.binding = true;\n        }\n\n        this._setInitAttr(0);\n\n        if (this.handles[1]) {\n          this.options.doubleSided = true;\n          this.$handle2 = this.handles.eq(1);\n          this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $('#' + this.$handle2.attr('aria-controls'));\n\n          if (!this.inputs[1]) {\n            this.inputs = this.inputs.add(this.$input2);\n          }\n          isDbl = true;\n\n          // this.$handle.triggerHandler('click.zf.slider');\n          this._setInitAttr(1);\n        }\n\n        // Set handle positions\n        this.setHandles();\n\n        this._events();\n      }\n    }, {\n      key: 'setHandles',\n      value: function setHandles() {\n        var _this2 = this;\n\n        if (this.handles[1]) {\n          this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true, function () {\n            _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val(), true);\n          });\n        } else {\n          this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true);\n        }\n      }\n    }, {\n      key: '_reflow',\n      value: function _reflow() {\n        this.setHandles();\n      }\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n      */\n\n    }, {\n      key: '_pctOfBar',\n      value: function _pctOfBar(value) {\n        var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start);\n\n        switch (this.options.positionValueFunction) {\n          case \"pow\":\n            pctOfBar = this._logTransform(pctOfBar);\n            break;\n          case \"log\":\n            pctOfBar = this._powTransform(pctOfBar);\n            break;\n        }\n\n        return pctOfBar.toFixed(2);\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n      */\n\n    }, {\n      key: '_value',\n      value: function _value(pctOfBar) {\n        switch (this.options.positionValueFunction) {\n          case \"pow\":\n            pctOfBar = this._powTransform(pctOfBar);\n            break;\n          case \"log\":\n            pctOfBar = this._logTransform(pctOfBar);\n            break;\n        }\n        var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;\n\n        return value;\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n      */\n\n    }, {\n      key: '_logTransform',\n      value: function _logTransform(value) {\n        return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1);\n      }\n\n      /**\n      * @function\n      * @private\n      * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n      */\n\n    }, {\n      key: '_powTransform',\n      value: function _powTransform(value) {\n        return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1);\n      }\n\n      /**\n       * Sets the position of the selected handle and fill bar.\n       * @function\n       * @private\n       * @param {jQuery} $hndl - the selected handle to move.\n       * @param {Number} location - floating point between the start and end values of the slider bar.\n       * @param {Function} cb - callback function to fire on completion.\n       * @fires Slider#moved\n       * @fires Slider#changed\n       */\n\n    }, {\n      key: '_setHandlePos',\n      value: function _setHandlePos($hndl, location, noInvert, cb) {\n        // don't move if the slider has been disabled since its initialization\n        if (this.$element.hasClass(this.options.disabledClass)) {\n          return;\n        }\n        //might need to alter that slightly for bars that will have odd number selections.\n        location = parseFloat(location); //on input change events, convert string to number...grumble.\n\n        // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n        if (location < this.options.start) {\n          location = this.options.start;\n        } else if (location > this.options.end) {\n          location = this.options.end;\n        }\n\n        var isDbl = this.options.doubleSided;\n\n        if (isDbl) {\n          //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n          if (this.handles.index($hndl) === 0) {\n            var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n            location = location >= h2Val ? h2Val - this.options.step : location;\n          } else {\n            var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n            location = location <= h1Val ? h1Val + this.options.step : location;\n          }\n        }\n\n        //this is for single-handled vertical sliders, it adjusts the value to account for the slider being \"upside-down\"\n        //for click and drag events, it's weird due to the scale(-1, 1) css property\n        if (this.options.vertical && !noInvert) {\n          location = this.options.end - location;\n        }\n\n        var _this = this,\n            vert = this.options.vertical,\n            hOrW = vert ? 'height' : 'width',\n            lOrT = vert ? 'top' : 'left',\n            handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n            elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n        location = parseFloat(location.toFixed(this.options.decimal));\n        // declare empty object for css adjustments, only used with 2 handled-sliders\n        var css = {};\n\n        this._setValues($hndl, location);\n\n        // TODO update to calculate based on values set to respective inputs??\n        if (isDbl) {\n          var isLeftHndl = this.handles.index($hndl) === 0,\n\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n\n          //percentage w/h of the handle compared to the slider bar\n          handlePct = ~~(percent(handleDim, elemDim) * 100);\n          //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n          if (isLeftHndl) {\n            //left or top percentage value to apply to the fill bar.\n            css[lOrT] = movement + '%';\n            //calculate the new min-height/width for the fill bar.\n            dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n            //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n            //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n            if (cb && typeof cb === 'function') {\n              cb();\n            } //this is only needed for the initialization of 2 handled sliders\n          } else {\n            //just caching the value of the left/bottom handle's left/top property\n            var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n            //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n            //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n            dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;\n          }\n          // assign the min-height/width to our css object\n          css['min-' + hOrW] = dim + '%';\n        }\n\n        this.$element.one('finished.zf.animate', function () {\n          /**\n           * Fires when the handle is done moving.\n           * @event Slider#moved\n           */\n          _this.$element.trigger('moved.zf.slider', [$hndl]);\n        });\n\n        //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n        var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;\n\n        Foundation.Move(moveTime, $hndl, function () {\n          // adjusting the left/top property of the handle, based on the percentage calculated above\n          // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n          // fall back to next best guess.\n          if (isNaN(movement)) {\n            $hndl.css(lOrT, pctOfBar * 100 + '%');\n          } else {\n            $hndl.css(lOrT, movement + '%');\n          }\n\n          if (!_this.options.doubleSided) {\n            //if single-handled, a simple method to expand the fill bar\n            _this.$fill.css(hOrW, pctOfBar * 100 + '%');\n          } else {\n            //otherwise, use the css object we created above\n            _this.$fill.css(css);\n          }\n        });\n\n        /**\n         * Fires when the value has not been change for a given time.\n         * @event Slider#changed\n         */\n        clearTimeout(_this.timeout);\n        _this.timeout = setTimeout(function () {\n          _this.$element.trigger('changed.zf.slider', [$hndl]);\n        }, _this.options.changedDelay);\n      }\n\n      /**\n       * Sets the initial attribute for the slider element.\n       * @function\n       * @private\n       * @param {Number} idx - index of the current handle/input to use.\n       */\n\n    }, {\n      key: '_setInitAttr',\n      value: function _setInitAttr(idx) {\n        var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd;\n        var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');\n        this.inputs.eq(idx).attr({\n          'id': id,\n          'max': this.options.end,\n          'min': this.options.start,\n          'step': this.options.step\n        });\n        this.inputs.eq(idx).val(initVal);\n        this.handles.eq(idx).attr({\n          'role': 'slider',\n          'aria-controls': id,\n          'aria-valuemax': this.options.end,\n          'aria-valuemin': this.options.start,\n          'aria-valuenow': initVal,\n          'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n          'tabindex': 0\n        });\n      }\n\n      /**\n       * Sets the input and `aria-valuenow` values for the slider element.\n       * @function\n       * @private\n       * @param {jQuery} $handle - the currently selected handle.\n       * @param {Number} val - floating point of the new value.\n       */\n\n    }, {\n      key: '_setValues',\n      value: function _setValues($handle, val) {\n        var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n        this.inputs.eq(idx).val(val);\n        $handle.attr('aria-valuenow', val);\n      }\n\n      /**\n       * Handles events on the slider element.\n       * Calculates the new location of the current handle.\n       * If there are two handles and the bar was clicked, it determines which handle to move.\n       * @function\n       * @private\n       * @param {Object} e - the `event` object passed from the listener.\n       * @param {jQuery} $handle - the current handle to calculate for, if selected.\n       * @param {Number} val - floating point number for the new value of the slider.\n       * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n       */\n\n    }, {\n      key: '_handleEvent',\n      value: function _handleEvent(e, $handle, val) {\n        var value, hasVal;\n        if (!val) {\n          //click or drag events\n          e.preventDefault();\n          var _this = this,\n              vertical = this.options.vertical,\n              param = vertical ? 'height' : 'width',\n              direction = vertical ? 'top' : 'left',\n              eventOffset = vertical ? e.pageY : e.pageX,\n              halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,\n              barDim = this.$element[0].getBoundingClientRect()[param],\n              windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n          var elemOffset = this.$element.offset()[direction];\n\n          // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n          // best way to guess this is simulated is if clientY == pageY\n          if (e.clientY === e.pageY) {\n            eventOffset = eventOffset + windowScroll;\n          }\n          var eventFromBar = eventOffset - elemOffset;\n          var barXY;\n          if (eventFromBar < 0) {\n            barXY = 0;\n          } else if (eventFromBar > barDim) {\n            barXY = barDim;\n          } else {\n            barXY = eventFromBar;\n          }\n          var offsetPct = percent(barXY, barDim);\n\n          value = this._value(offsetPct);\n\n          // turn everything around for RTL, yay math!\n          if (Foundation.rtl() && !this.options.vertical) {\n            value = this.options.end - value;\n          }\n\n          value = _this._adjustValue(null, value);\n          //boolean flag for the setHandlePos fn, specifically for vertical sliders\n          hasVal = false;\n\n          if (!$handle) {\n            //figure out which handle it is, pass it to the next function.\n            var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n                secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n          }\n        } else {\n          //change event on input\n          value = this._adjustValue(null, val);\n          hasVal = true;\n        }\n\n        this._setHandlePos($handle, value, hasVal);\n      }\n\n      /**\n       * Adjustes value for handle in regard to step value. returns adjusted value\n       * @function\n       * @private\n       * @param {jQuery} $handle - the selected handle.\n       * @param {Number} value - value to adjust. used if $handle is falsy\n       */\n\n    }, {\n      key: '_adjustValue',\n      value: function _adjustValue($handle, value) {\n        var val,\n            step = this.options.step,\n            div = parseFloat(step / 2),\n            left,\n            prev_val,\n            next_val;\n        if (!!$handle) {\n          val = parseFloat($handle.attr('aria-valuenow'));\n        } else {\n          val = value;\n        }\n        left = val % step;\n        prev_val = val - left;\n        next_val = prev_val + step;\n        if (left === 0) {\n          return val;\n        }\n        val = val >= prev_val + div ? next_val : prev_val;\n        return val;\n      }\n\n      /**\n       * Adds event listeners to the slider elements.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this._eventsForHandle(this.$handle);\n        if (this.handles[1]) {\n          this._eventsForHandle(this.$handle2);\n        }\n      }\n\n      /**\n       * Adds event listeners a particular handle\n       * @function\n       * @private\n       * @param {jQuery} $handle - the current handle to apply listeners to.\n       */\n\n    }, {\n      key: '_eventsForHandle',\n      value: function _eventsForHandle($handle) {\n        var _this = this,\n            curHandle,\n            timer;\n\n        this.inputs.off('change.zf.slider').on('change.zf.slider', function (e) {\n          var idx = _this.inputs.index($(this));\n          _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n        });\n\n        if (this.options.clickSelect) {\n          this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {\n            if (_this.$element.data('dragging')) {\n              return false;\n            }\n\n            if (!$(e.target).is('[data-slider-handle]')) {\n              if (_this.options.doubleSided) {\n                _this._handleEvent(e);\n              } else {\n                _this._handleEvent(e, _this.$handle);\n              }\n            }\n          });\n        }\n\n        if (this.options.draggable) {\n          this.handles.addTouch();\n\n          var $body = $('body');\n          $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {\n            $handle.addClass('is-dragging');\n            _this.$fill.addClass('is-dragging'); //\n            _this.$element.data('dragging', true);\n\n            curHandle = $(e.currentTarget);\n\n            $body.on('mousemove.zf.slider', function (e) {\n              e.preventDefault();\n              _this._handleEvent(e, curHandle);\n            }).on('mouseup.zf.slider', function (e) {\n              _this._handleEvent(e, curHandle);\n\n              $handle.removeClass('is-dragging');\n              _this.$fill.removeClass('is-dragging');\n              _this.$element.data('dragging', false);\n\n              $body.off('mousemove.zf.slider mouseup.zf.slider');\n            });\n          })\n          // prevent events triggered by touch\n          .on('selectstart.zf.slider touchmove.zf.slider', function (e) {\n            e.preventDefault();\n          });\n        }\n\n        $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {\n          var _$handle = $(this),\n              idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n              oldValue = parseFloat(_this.inputs.eq(idx).val()),\n              newValue;\n\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Slider', {\n            decrease: function () {\n              newValue = oldValue - _this.options.step;\n            },\n            increase: function () {\n              newValue = oldValue + _this.options.step;\n            },\n            decrease_fast: function () {\n              newValue = oldValue - _this.options.step * 10;\n            },\n            increase_fast: function () {\n              newValue = oldValue + _this.options.step * 10;\n            },\n            handled: function () {\n              // only set handle pos when event was handled specially\n              e.preventDefault();\n              _this._setHandlePos(_$handle, newValue, true);\n            }\n          });\n          /*if (newValue) { // if pressed key has special function, update value\n            e.preventDefault();\n            _this._setHandlePos(_$handle, newValue);\n          }*/\n        });\n      }\n\n      /**\n       * Destroys the slider plugin.\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.handles.off('.zf.slider');\n        this.inputs.off('.zf.slider');\n        this.$element.off('.zf.slider');\n\n        clearTimeout(this.timeout);\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Slider;\n  }();\n\n  Slider.defaults = {\n    /**\n     * Minimum value for the slider scale.\n     * @option\n     * @example 0\n     */\n    start: 0,\n    /**\n     * Maximum value for the slider scale.\n     * @option\n     * @example 100\n     */\n    end: 100,\n    /**\n     * Minimum value change per change event.\n     * @option\n     * @example 1\n     */\n    step: 1,\n    /**\n     * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n     * @option\n     * @example 0\n     */\n    initialStart: 0,\n    /**\n     * Value at which the right handle/second input should be set to on initialization.\n     * @option\n     * @example 100\n     */\n    initialEnd: 100,\n    /**\n     * Allows the input to be located outside the container and visible. Set to by the JS\n     * @option\n     * @example false\n     */\n    binding: false,\n    /**\n     * Allows the user to click/tap on the slider bar to select a value.\n     * @option\n     * @example true\n     */\n    clickSelect: true,\n    /**\n     * Set to true and use the `vertical` class to change alignment to vertical.\n     * @option\n     * @example false\n     */\n    vertical: false,\n    /**\n     * Allows the user to drag the slider handle(s) to select a value.\n     * @option\n     * @example true\n     */\n    draggable: true,\n    /**\n     * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n     * @option\n     * @example false\n     */\n    disabled: false,\n    /**\n     * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n     * @option\n     * @example false\n     */\n    doubleSided: false,\n    /**\n     * Potential future feature.\n     */\n    // steps: 100,\n    /**\n     * Number of decimal places the plugin should go to for floating point precision.\n     * @option\n     * @example 2\n     */\n    decimal: 2,\n    /**\n     * Time delay for dragged elements.\n     */\n    // dragDelay: 0,\n    /**\n     * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n     * @option\n     * @example 200\n     */\n    moveTime: 200, //update this if changing the transition time in the sass\n    /**\n     * Class applied to disabled sliders.\n     * @option\n     * @example 'disabled'\n     */\n    disabledClass: 'disabled',\n    /**\n     * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n     * @option\n     * @example false\n     */\n    invertVertical: false,\n    /**\n     * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n     * @option\n     * @example 500\n     */\n    changedDelay: 500,\n    /**\n    * Basevalue for non-linear sliders\n    * @option\n    * @example 5\n    */\n    nonLinearBase: 5,\n    /**\n    * Basevalue for non-linear sliders, possible values are: 'linear', 'pow' & 'log'. Pow and Log use the nonLinearBase setting.\n    * @option\n    * @example 'linear'\n    */\n    positionValueFunction: 'linear'\n  };\n\n  function percent(frac, num) {\n    return frac / num;\n  }\n  function absPosition($handle, dir, clickPos, param) {\n    return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);\n  }\n  function baseLog(base, value) {\n    return Math.log(value) / Math.log(base);\n  }\n\n  // Window exports\n  Foundation.plugin(Slider, 'Slider');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.sticky.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Sticky module.\n   * @module foundation.sticky\n   * @requires foundation.util.triggers\n   * @requires foundation.util.mediaQuery\n   */\n\n  var Sticky = function () {\n    /**\n     * Creates a new instance of a sticky thing.\n     * @class\n     * @param {jQuery} element - jQuery object to make sticky.\n     * @param {Object} options - options object passed when creating the element programmatically.\n     */\n    function Sticky(element, options) {\n      _classCallCheck(this, Sticky);\n\n      this.$element = element;\n      this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n\n      this._init();\n\n      Foundation.registerPlugin(this, 'Sticky');\n    }\n\n    /**\n     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n     * @function\n     * @private\n     */\n\n\n    _createClass(Sticky, [{\n      key: '_init',\n      value: function _init() {\n        var $parent = this.$element.parent('[data-sticky-container]'),\n            id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),\n            _this = this;\n\n        if (!$parent.length) {\n          this.wasWrapped = true;\n        }\n        this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);\n        this.$container.addClass(this.options.containerClass);\n\n        this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id });\n\n        this.scrollCount = this.options.checkEvery;\n        this.isStuck = false;\n        $(window).one('load.zf.sticky', function () {\n          //We calculate the container height to have correct values for anchor points offset calculation.\n          _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n          _this.$container.css('height', _this.containerHeight);\n          _this.elemHeight = _this.containerHeight;\n          if (_this.options.anchor !== '') {\n            _this.$anchor = $('#' + _this.options.anchor);\n          } else {\n            _this._parsePoints();\n          }\n\n          _this._setSizes(function () {\n            var scroll = window.pageYOffset;\n            _this._calc(false, scroll);\n            //Unstick the element will ensure that proper classes are set.\n            if (!_this.isStuck) {\n              _this._removeSticky(scroll >= _this.topPoint ? false : true);\n            }\n          });\n          _this._events(id.split('-').reverse().join('-'));\n        });\n      }\n\n      /**\n       * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_parsePoints',\n      value: function _parsePoints() {\n        var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n            btm = this.options.btmAnchor == \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n            pts = [top, btm],\n            breaks = {};\n        for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n          var pt;\n          if (typeof pts[i] === 'number') {\n            pt = pts[i];\n          } else {\n            var place = pts[i].split(':'),\n                anchor = $('#' + place[0]);\n\n            pt = anchor.offset().top;\n            if (place[1] && place[1].toLowerCase() === 'bottom') {\n              pt += anchor[0].getBoundingClientRect().height;\n            }\n          }\n          breaks[i] = pt;\n        }\n\n        this.points = breaks;\n        return;\n      }\n\n      /**\n       * Adds event handlers for the scrolling element.\n       * @private\n       * @param {String} id - psuedo-random id for unique scroll event listener.\n       */\n\n    }, {\n      key: '_events',\n      value: function _events(id) {\n        var _this = this,\n            scrollListener = this.scrollListener = 'scroll.zf.' + id;\n        if (this.isOn) {\n          return;\n        }\n        if (this.canStick) {\n          this.isOn = true;\n          $(window).off(scrollListener).on(scrollListener, function (e) {\n            if (_this.scrollCount === 0) {\n              _this.scrollCount = _this.options.checkEvery;\n              _this._setSizes(function () {\n                _this._calc(false, window.pageYOffset);\n              });\n            } else {\n              _this.scrollCount--;\n              _this._calc(false, window.pageYOffset);\n            }\n          });\n        }\n\n        this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) {\n          _this._setSizes(function () {\n            _this._calc(false);\n            if (_this.canStick) {\n              if (!_this.isOn) {\n                _this._events(id);\n              }\n            } else if (_this.isOn) {\n              _this._pauseListeners(scrollListener);\n            }\n          });\n        });\n      }\n\n      /**\n       * Removes event handlers for scroll and change events on anchor.\n       * @fires Sticky#pause\n       * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n       */\n\n    }, {\n      key: '_pauseListeners',\n      value: function _pauseListeners(scrollListener) {\n        this.isOn = false;\n        $(window).off(scrollListener);\n\n        /**\n         * Fires when the plugin is paused due to resize event shrinking the view.\n         * @event Sticky#pause\n         * @private\n         */\n        this.$element.trigger('pause.zf.sticky');\n      }\n\n      /**\n       * Called on every `scroll` event and on `_init`\n       * fires functions based on booleans and cached values\n       * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n       * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n       */\n\n    }, {\n      key: '_calc',\n      value: function _calc(checkSizes, scroll) {\n        if (checkSizes) {\n          this._setSizes();\n        }\n\n        if (!this.canStick) {\n          if (this.isStuck) {\n            this._removeSticky(true);\n          }\n          return false;\n        }\n\n        if (!scroll) {\n          scroll = window.pageYOffset;\n        }\n\n        if (scroll >= this.topPoint) {\n          if (scroll <= this.bottomPoint) {\n            if (!this.isStuck) {\n              this._setSticky();\n            }\n          } else {\n            if (this.isStuck) {\n              this._removeSticky(false);\n            }\n          }\n        } else {\n          if (this.isStuck) {\n            this._removeSticky(true);\n          }\n        }\n      }\n\n      /**\n       * Causes the $element to become stuck.\n       * Adds `position: fixed;`, and helper classes.\n       * @fires Sticky#stuckto\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_setSticky',\n      value: function _setSticky() {\n        var _this = this,\n            stickTo = this.options.stickTo,\n            mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n            notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n            css = {};\n\n        css[mrgn] = this.options[mrgn] + 'em';\n        css[stickTo] = 0;\n        css[notStuckTo] = 'auto';\n        this.isStuck = true;\n        this.$element.removeClass('is-anchored is-at-' + notStuckTo).addClass('is-stuck is-at-' + stickTo).css(css)\n        /**\n         * Fires when the $element has become `position: fixed;`\n         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n         * @event Sticky#stuckto\n         */\n        .trigger('sticky.zf.stuckto:' + stickTo);\n        this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function () {\n          _this._setSizes();\n        });\n      }\n\n      /**\n       * Causes the $element to become unstuck.\n       * Removes `position: fixed;`, and helper classes.\n       * Adds other helper classes.\n       * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n       * @fires Sticky#unstuckfrom\n       * @private\n       */\n\n    }, {\n      key: '_removeSticky',\n      value: function _removeSticky(isTop) {\n        var stickTo = this.options.stickTo,\n            stickToTop = stickTo === 'top',\n            css = {},\n            anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n            mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n            notStuckTo = stickToTop ? 'bottom' : 'top',\n            topOrBottom = isTop ? 'top' : 'bottom';\n\n        css[mrgn] = 0;\n\n        css['bottom'] = 'auto';\n        if (isTop) {\n          css['top'] = 0;\n        } else {\n          css['top'] = anchorPt;\n        }\n\n        this.isStuck = false;\n        this.$element.removeClass('is-stuck is-at-' + stickTo).addClass('is-anchored is-at-' + topOrBottom).css(css)\n        /**\n         * Fires when the $element has become anchored.\n         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n         * @event Sticky#unstuckfrom\n         */\n        .trigger('sticky.zf.unstuckfrom:' + topOrBottom);\n      }\n\n      /**\n       * Sets the $element and $container sizes for plugin.\n       * Calls `_setBreakPoints`.\n       * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n       * @private\n       */\n\n    }, {\n      key: '_setSizes',\n      value: function _setSizes(cb) {\n        this.canStick = Foundation.MediaQuery.is(this.options.stickyOn);\n        if (!this.canStick) {\n          if (cb && typeof cb === 'function') {\n            cb();\n          }\n        }\n        var _this = this,\n            newElemWidth = this.$container[0].getBoundingClientRect().width,\n            comp = window.getComputedStyle(this.$container[0]),\n            pdngl = parseInt(comp['padding-left'], 10),\n            pdngr = parseInt(comp['padding-right'], 10);\n\n        if (this.$anchor && this.$anchor.length) {\n          this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n        } else {\n          this._parsePoints();\n        }\n\n        this.$element.css({\n          'max-width': newElemWidth - pdngl - pdngr + 'px'\n        });\n\n        var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n        if (this.$element.css(\"display\") == \"none\") {\n          newContainerHeight = 0;\n        }\n        this.containerHeight = newContainerHeight;\n        this.$container.css({\n          height: newContainerHeight\n        });\n        this.elemHeight = newContainerHeight;\n\n        if (!this.isStuck) {\n          if (this.$element.hasClass('is-at-bottom')) {\n            var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n            this.$element.css('top', anchorPt);\n          }\n        }\n\n        this._setBreakPoints(newContainerHeight, function () {\n          if (cb && typeof cb === 'function') {\n            cb();\n          }\n        });\n      }\n\n      /**\n       * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n       * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n       * @param {Function} cb - optional callback function to be called on completion.\n       * @private\n       */\n\n    }, {\n      key: '_setBreakPoints',\n      value: function _setBreakPoints(elemHeight, cb) {\n        if (!this.canStick) {\n          if (cb && typeof cb === 'function') {\n            cb();\n          } else {\n            return false;\n          }\n        }\n        var mTop = emCalc(this.options.marginTop),\n            mBtm = emCalc(this.options.marginBottom),\n            topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n            bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n\n        // topPoint = this.$anchor.offset().top || this.points[0],\n        // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n        winHeight = window.innerHeight;\n\n        if (this.options.stickTo === 'top') {\n          topPoint -= mTop;\n          bottomPoint -= elemHeight + mTop;\n        } else if (this.options.stickTo === 'bottom') {\n          topPoint -= winHeight - (elemHeight + mBtm);\n          bottomPoint -= winHeight - mBtm;\n        } else {\n          //this would be the stickTo: both option... tricky\n        }\n\n        this.topPoint = topPoint;\n        this.bottomPoint = bottomPoint;\n\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      }\n\n      /**\n       * Destroys the current sticky element.\n       * Resets the element to the top position first.\n       * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this._removeSticky(true);\n\n        this.$element.removeClass(this.options.stickyClass + ' is-anchored is-at-top').css({\n          height: '',\n          top: '',\n          bottom: '',\n          'max-width': ''\n        }).off('resizeme.zf.trigger');\n        if (this.$anchor && this.$anchor.length) {\n          this.$anchor.off('change.zf.sticky');\n        }\n        $(window).off(this.scrollListener);\n\n        if (this.wasWrapped) {\n          this.$element.unwrap();\n        } else {\n          this.$container.removeClass(this.options.containerClass).css({\n            height: ''\n          });\n        }\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Sticky;\n  }();\n\n  Sticky.defaults = {\n    /**\n     * Customizable container template. Add your own classes for styling and sizing.\n     * @option\n     * @example '&lt;div data-sticky-container class=\"small-6 columns\"&gt;&lt;/div&gt;'\n     */\n    container: '<div data-sticky-container></div>',\n    /**\n     * Location in the view the element sticks to.\n     * @option\n     * @example 'top'\n     */\n    stickTo: 'top',\n    /**\n     * If anchored to a single element, the id of that element.\n     * @option\n     * @example 'exampleId'\n     */\n    anchor: '',\n    /**\n     * If using more than one element as anchor points, the id of the top anchor.\n     * @option\n     * @example 'exampleId:top'\n     */\n    topAnchor: '',\n    /**\n     * If using more than one element as anchor points, the id of the bottom anchor.\n     * @option\n     * @example 'exampleId:bottom'\n     */\n    btmAnchor: '',\n    /**\n     * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n     * @option\n     * @example 1\n     */\n    marginTop: 1,\n    /**\n     * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n     * @option\n     * @example 1\n     */\n    marginBottom: 1,\n    /**\n     * Breakpoint string that is the minimum screen size an element should become sticky.\n     * @option\n     * @example 'medium'\n     */\n    stickyOn: 'medium',\n    /**\n     * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n     * @option\n     * @example 'sticky'\n     */\n    stickyClass: 'sticky',\n    /**\n     * Class applied to sticky container. Foundation defaults to `sticky-container`.\n     * @option\n     * @example 'sticky-container'\n     */\n    containerClass: 'sticky-container',\n    /**\n     * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n     * @option\n     * @example 50\n     */\n    checkEvery: -1\n  };\n\n  /**\n   * Helper function to calculate em values\n   * @param Number {em} - number of em's to calculate into pixels\n   */\n  function emCalc(em) {\n    return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n  }\n\n  // Window exports\n  Foundation.plugin(Sticky, 'Sticky');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.tabs.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Tabs module.\n   * @module foundation.tabs\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.timerAndImageLoader if tabs contain images\n   */\n\n  var Tabs = function () {\n    /**\n     * Creates a new instance of tabs.\n     * @class\n     * @fires Tabs#init\n     * @param {jQuery} element - jQuery object to make into tabs.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Tabs(element, options) {\n      _classCallCheck(this, Tabs);\n\n      this.$element = element;\n      this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n\n      this._init();\n      Foundation.registerPlugin(this, 'Tabs');\n      Foundation.Keyboard.register('Tabs', {\n        'ENTER': 'open',\n        'SPACE': 'open',\n        'ARROW_RIGHT': 'next',\n        'ARROW_UP': 'previous',\n        'ARROW_DOWN': 'next',\n        'ARROW_LEFT': 'previous'\n        // 'TAB': 'next',\n        // 'SHIFT_TAB': 'previous'\n      });\n    }\n\n    /**\n     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n     * @private\n     */\n\n\n    _createClass(Tabs, [{\n      key: '_init',\n      value: function _init() {\n        var _this = this;\n\n        this.$element.attr({ 'role': 'tablist' });\n        this.$tabTitles = this.$element.find('.' + this.options.linkClass);\n        this.$tabContent = $('[data-tabs-content=\"' + this.$element[0].id + '\"]');\n\n        this.$tabTitles.each(function () {\n          var $elem = $(this),\n              $link = $elem.find('a'),\n              isActive = $elem.hasClass('' + _this.options.linkActiveClass),\n              hash = $link[0].hash.slice(1),\n              linkId = $link[0].id ? $link[0].id : hash + '-label',\n              $tabContent = $('#' + hash);\n\n          $elem.attr({ 'role': 'presentation' });\n\n          $link.attr({\n            'role': 'tab',\n            'aria-controls': hash,\n            'aria-selected': isActive,\n            'id': linkId\n          });\n\n          $tabContent.attr({\n            'role': 'tabpanel',\n            'aria-hidden': !isActive,\n            'aria-labelledby': linkId\n          });\n\n          if (isActive && _this.options.autoFocus) {\n            $(window).load(function () {\n              $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, function () {\n                $link.focus();\n              });\n            });\n          }\n\n          //use browser to open a tab, if it exists in this tabset\n          if (_this.options.deepLink) {\n            var anchor = window.location.hash;\n            //need a hash and a relevant anchor in this tabset\n            if (anchor.length) {\n              var $link = $elem.find('[href=\"' + anchor + '\"]');\n              if ($link.length) {\n                _this.selectTab($(anchor));\n\n                //roll up a little to show the titles\n                if (_this.options.deepLinkSmudge) {\n                  $(window).load(function () {\n                    var offset = $elem.offset();\n                    $('html, body').animate({ scrollTop: offset.top }, _this.options.deepLinkSmudgeDelay);\n                  });\n                }\n\n                /**\n                  * Fires when the zplugin has deeplinked at pageload\n                  * @event Tabs#deeplink\n                  */\n                $elem.trigger('deeplink.zf.tabs', [$link, $(anchor)]);\n              }\n            }\n          }\n        });\n\n        if (this.options.matchHeight) {\n          var $images = this.$tabContent.find('img');\n\n          if ($images.length) {\n            Foundation.onImagesLoaded($images, this._setHeight.bind(this));\n          } else {\n            this._setHeight();\n          }\n        }\n\n        this._events();\n      }\n\n      /**\n       * Adds event handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this._addKeyHandler();\n        this._addClickHandler();\n        this._setHeightMqHandler = null;\n\n        if (this.options.matchHeight) {\n          this._setHeightMqHandler = this._setHeight.bind(this);\n\n          $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n        }\n      }\n\n      /**\n       * Adds click handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_addClickHandler',\n      value: function _addClickHandler() {\n        var _this = this;\n\n        this.$element.off('click.zf.tabs').on('click.zf.tabs', '.' + this.options.linkClass, function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          _this._handleTabChange($(this));\n        });\n      }\n\n      /**\n       * Adds keyboard event handlers for items within the tabs.\n       * @private\n       */\n\n    }, {\n      key: '_addKeyHandler',\n      value: function _addKeyHandler() {\n        var _this = this;\n\n        this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {\n          if (e.which === 9) return;\n\n          var $element = $(this),\n              $elements = $element.parent('ul').children('li'),\n              $prevElement,\n              $nextElement;\n\n          $elements.each(function (i) {\n            if ($(this).is($element)) {\n              if (_this.options.wrapOnKeys) {\n                $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);\n                $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);\n              } else {\n                $prevElement = $elements.eq(Math.max(0, i - 1));\n                $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n              }\n              return;\n            }\n          });\n\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Tabs', {\n            open: function () {\n              $element.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($element);\n            },\n            previous: function () {\n              $prevElement.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($prevElement);\n            },\n            next: function () {\n              $nextElement.find('[role=\"tab\"]').focus();\n              _this._handleTabChange($nextElement);\n            },\n            handled: function () {\n              e.stopPropagation();\n              e.preventDefault();\n            }\n          });\n        });\n      }\n\n      /**\n       * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n       * @param {jQuery} $target - Tab to open.\n       * @fires Tabs#change\n       * @function\n       */\n\n    }, {\n      key: '_handleTabChange',\n      value: function _handleTabChange($target) {\n\n        /**\n         * Check for active class on target. Collapse if exists.\n         */\n        if ($target.hasClass('' + this.options.linkActiveClass)) {\n          if (this.options.activeCollapse) {\n            this._collapseTab($target);\n\n            /**\n             * Fires when the zplugin has successfully collapsed tabs.\n             * @event Tabs#collapse\n             */\n            this.$element.trigger('collapse.zf.tabs', [$target]);\n          }\n          return;\n        }\n\n        var $oldTab = this.$element.find('.' + this.options.linkClass + '.' + this.options.linkActiveClass),\n            $tabLink = $target.find('[role=\"tab\"]'),\n            hash = $tabLink[0].hash,\n            $targetContent = this.$tabContent.find(hash);\n\n        //close old tab\n        this._collapseTab($oldTab);\n\n        //open new tab\n        this._openTab($target);\n\n        //either replace or update browser history\n        if (this.options.deepLink) {\n          var anchor = $target.find('a').attr('href');\n\n          if (this.options.updateHistory) {\n            history.pushState({}, '', anchor);\n          } else {\n            history.replaceState({}, '', anchor);\n          }\n        }\n\n        /**\n         * Fires when the plugin has successfully changed tabs.\n         * @event Tabs#change\n         */\n        this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n        //fire to children a mutation event\n        $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n      }\n\n      /**\n       * Opens the tab `$targetContent` defined by `$target`.\n       * @param {jQuery} $target - Tab to Open.\n       * @function\n       */\n\n    }, {\n      key: '_openTab',\n      value: function _openTab($target) {\n        var $tabLink = $target.find('[role=\"tab\"]'),\n            hash = $tabLink[0].hash,\n            $targetContent = this.$tabContent.find(hash);\n\n        $target.addClass('' + this.options.linkActiveClass);\n\n        $tabLink.attr({ 'aria-selected': 'true' });\n\n        $targetContent.addClass('' + this.options.panelActiveClass).attr({ 'aria-hidden': 'false' });\n      }\n\n      /**\n       * Collapses `$targetContent` defined by `$target`.\n       * @param {jQuery} $target - Tab to Open.\n       * @function\n       */\n\n    }, {\n      key: '_collapseTab',\n      value: function _collapseTab($target) {\n        var $target_anchor = $target.removeClass('' + this.options.linkActiveClass).find('[role=\"tab\"]').attr({ 'aria-selected': 'false' });\n\n        $('#' + $target_anchor.attr('aria-controls')).removeClass('' + this.options.panelActiveClass).attr({ 'aria-hidden': 'true' });\n      }\n\n      /**\n       * Public method for selecting a content pane to display.\n       * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n       * @function\n       */\n\n    }, {\n      key: 'selectTab',\n      value: function selectTab(elem) {\n        var idStr;\n\n        if (typeof elem === 'object') {\n          idStr = elem[0].id;\n        } else {\n          idStr = elem;\n        }\n\n        if (idStr.indexOf('#') < 0) {\n          idStr = '#' + idStr;\n        }\n\n        var $target = this.$tabTitles.find('[href=\"' + idStr + '\"]').parent('.' + this.options.linkClass);\n\n        this._handleTabChange($target);\n      }\n    }, {\n      key: '_setHeight',\n\n      /**\n       * Sets the height of each panel to the height of the tallest panel.\n       * If enabled in options, gets called on media query change.\n       * If loading content via external source, can be called directly or with _reflow.\n       * @function\n       * @private\n       */\n      value: function _setHeight() {\n        var max = 0;\n        this.$tabContent.find('.' + this.options.panelClass).css('height', '').each(function () {\n          var panel = $(this),\n              isActive = panel.hasClass('' + this.options.panelActiveClass);\n\n          if (!isActive) {\n            panel.css({ 'visibility': 'hidden', 'display': 'block' });\n          }\n\n          var temp = this.getBoundingClientRect().height;\n\n          if (!isActive) {\n            panel.css({\n              'visibility': '',\n              'display': ''\n            });\n          }\n\n          max = temp > max ? temp : max;\n        }).css('height', max + 'px');\n      }\n\n      /**\n       * Destroys an instance of an tabs.\n       * @fires Tabs#destroyed\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.find('.' + this.options.linkClass).off('.zf.tabs').hide().end().find('.' + this.options.panelClass).hide();\n\n        if (this.options.matchHeight) {\n          if (this._setHeightMqHandler != null) {\n            $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n          }\n        }\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Tabs;\n  }();\n\n  Tabs.defaults = {\n    /**\n     * Allows the window to scroll to content of pane specified by hash anchor\n     * @option\n     * @example false\n     */\n    deepLink: false,\n\n    /**\n     * Adjust the deep link scroll to make sure the top of the tab panel is visible\n     * @option\n     * @example false\n     */\n    deepLinkSmudge: false,\n\n    /**\n     * Animation time (ms) for the deep link adjustment\n     * @option\n     * @example 300\n     */\n    deepLinkSmudgeDelay: 300,\n\n    /**\n     * Update the browser history with the open tab\n     * @option\n     * @example false\n     */\n    updateHistory: false,\n\n    /**\n     * Allows the window to scroll to content of active pane on load if set to true.\n     * Not recommended if more than one tab panel per page.\n     * @option\n     * @example false\n     */\n    autoFocus: false,\n\n    /**\n     * Allows keyboard input to 'wrap' around the tab links.\n     * @option\n     * @example true\n     */\n    wrapOnKeys: true,\n\n    /**\n     * Allows the tab content panes to match heights if set to true.\n     * @option\n     * @example false\n     */\n    matchHeight: false,\n\n    /**\n     * Allows active tabs to collapse when clicked.\n     * @option\n     * @example false\n     */\n    activeCollapse: false,\n\n    /**\n     * Class applied to `li`'s in tab link list.\n     * @option\n     * @example 'tabs-title'\n     */\n    linkClass: 'tabs-title',\n\n    /**\n     * Class applied to the active `li` in tab link list.\n     * @option\n     * @example 'is-active'\n     */\n    linkActiveClass: 'is-active',\n\n    /**\n     * Class applied to the content containers.\n     * @option\n     * @example 'tabs-panel'\n     */\n    panelClass: 'tabs-panel',\n\n    /**\n     * Class applied to the active content container.\n     * @option\n     * @example 'is-active'\n     */\n    panelActiveClass: 'is-active'\n  };\n\n  // Window exports\n  Foundation.plugin(Tabs, 'Tabs');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.toggler.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Toggler module.\n   * @module foundation.toggler\n   * @requires foundation.util.motion\n   * @requires foundation.util.triggers\n   */\n\n  var Toggler = function () {\n    /**\n     * Creates a new instance of Toggler.\n     * @class\n     * @fires Toggler#init\n     * @param {Object} element - jQuery object to add the trigger to.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function Toggler(element, options) {\n      _classCallCheck(this, Toggler);\n\n      this.$element = element;\n      this.options = $.extend({}, Toggler.defaults, element.data(), options);\n      this.className = '';\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'Toggler');\n    }\n\n    /**\n     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n     * @function\n     * @private\n     */\n\n\n    _createClass(Toggler, [{\n      key: '_init',\n      value: function _init() {\n        var input;\n        // Parse animation classes if they were set\n        if (this.options.animate) {\n          input = this.options.animate.split(' ');\n\n          this.animationIn = input[0];\n          this.animationOut = input[1] || null;\n        }\n        // Otherwise, parse toggle class\n        else {\n            input = this.$element.data('toggler');\n            // Allow for a . at the beginning of the string\n            this.className = input[0] === '.' ? input.slice(1) : input;\n          }\n\n        // Add ARIA attributes to triggers\n        var id = this.$element[0].id;\n        $('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-controls', id);\n        // If the target is hidden, add aria-hidden\n        this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);\n      }\n\n      /**\n       * Initializes events for the toggle trigger.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n      }\n\n      /**\n       * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n       * @function\n       * @fires Toggler#on\n       * @fires Toggler#off\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n      }\n    }, {\n      key: '_toggleClass',\n      value: function _toggleClass() {\n        this.$element.toggleClass(this.className);\n\n        var isOn = this.$element.hasClass(this.className);\n        if (isOn) {\n          /**\n           * Fires if the target element has the class after a toggle.\n           * @event Toggler#on\n           */\n          this.$element.trigger('on.zf.toggler');\n        } else {\n          /**\n           * Fires if the target element does not have the class after a toggle.\n           * @event Toggler#off\n           */\n          this.$element.trigger('off.zf.toggler');\n        }\n\n        this._updateARIA(isOn);\n        this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n      }\n    }, {\n      key: '_toggleAnimate',\n      value: function _toggleAnimate() {\n        var _this = this;\n\n        if (this.$element.is(':hidden')) {\n          Foundation.Motion.animateIn(this.$element, this.animationIn, function () {\n            _this._updateARIA(true);\n            this.trigger('on.zf.toggler');\n            this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n          });\n        } else {\n          Foundation.Motion.animateOut(this.$element, this.animationOut, function () {\n            _this._updateARIA(false);\n            this.trigger('off.zf.toggler');\n            this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n          });\n        }\n      }\n    }, {\n      key: '_updateARIA',\n      value: function _updateARIA(isOn) {\n        this.$element.attr('aria-expanded', isOn ? true : false);\n      }\n\n      /**\n       * Destroys the instance of Toggler on the element.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.off('.zf.toggler');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Toggler;\n  }();\n\n  Toggler.defaults = {\n    /**\n     * Tells the plugin if the element should animated when toggled.\n     * @option\n     * @example false\n     */\n    animate: false\n  };\n\n  // Window exports\n  Foundation.plugin(Toggler, 'Toggler');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.tooltip.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * Tooltip module.\n   * @module foundation.tooltip\n   * @requires foundation.util.box\n   * @requires foundation.util.mediaQuery\n   * @requires foundation.util.triggers\n   */\n\n  var Tooltip = function () {\n    /**\n     * Creates a new instance of a Tooltip.\n     * @class\n     * @fires Tooltip#init\n     * @param {jQuery} element - jQuery object to attach a tooltip to.\n     * @param {Object} options - object to extend the default configuration.\n     */\n    function Tooltip(element, options) {\n      _classCallCheck(this, Tooltip);\n\n      this.$element = element;\n      this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n\n      this.isActive = false;\n      this.isClick = false;\n      this._init();\n\n      Foundation.registerPlugin(this, 'Tooltip');\n    }\n\n    /**\n     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n     * @private\n     */\n\n\n    _createClass(Tooltip, [{\n      key: '_init',\n      value: function _init() {\n        var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');\n\n        this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);\n        this.options.tipText = this.options.tipText || this.$element.attr('title');\n        this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n        if (this.options.allowHtml) {\n          this.template.appendTo(document.body).html(this.options.tipText).hide();\n        } else {\n          this.template.appendTo(document.body).text(this.options.tipText).hide();\n        }\n\n        this.$element.attr({\n          'title': '',\n          'aria-describedby': elemId,\n          'data-yeti-box': elemId,\n          'data-toggle': elemId,\n          'data-resize': elemId\n        }).addClass(this.options.triggerClass);\n\n        //helper variables to track movement on collisions\n        this.usedPositions = [];\n        this.counter = 4;\n        this.classChanged = false;\n\n        this._events();\n      }\n\n      /**\n       * Grabs the current positioning class, if present, and returns the value or an empty string.\n       * @private\n       */\n\n    }, {\n      key: '_getPositionClass',\n      value: function _getPositionClass(element) {\n        if (!element) {\n          return '';\n        }\n        // var position = element.attr('class').match(/top|left|right/g);\n        var position = element[0].className.match(/\\b(top|left|right)\\b/g);\n        position = position ? position[0] : '';\n        return position;\n      }\n    }, {\n      key: '_buildTemplate',\n\n      /**\n       * builds the tooltip element, adds attributes, and returns the template.\n       * @private\n       */\n      value: function _buildTemplate(id) {\n        var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();\n        var $template = $('<div></div>').addClass(templateClasses).attr({\n          'role': 'tooltip',\n          'aria-hidden': true,\n          'data-is-active': false,\n          'data-is-focus': false,\n          'id': id\n        });\n        return $template;\n      }\n\n      /**\n       * Function that gets called if a collision event is detected.\n       * @param {String} position - positioning class to try\n       * @private\n       */\n\n    }, {\n      key: '_reposition',\n      value: function _reposition(position) {\n        this.usedPositions.push(position ? position : 'bottom');\n\n        //default, try switching to opposite side\n        if (!position && this.usedPositions.indexOf('top') < 0) {\n          this.template.addClass('top');\n        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {\n          this.template.removeClass(position);\n        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {\n          this.template.removeClass(position).addClass('right');\n        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {\n          this.template.removeClass(position).addClass('left');\n        }\n\n        //if default change didn't work, try bottom or left first\n        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.template.addClass('left');\n          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {\n            this.template.removeClass(position).addClass('left');\n          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.template.removeClass(position);\n          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {\n            this.template.removeClass(position);\n          }\n          //if nothing cleared, set to bottom\n          else {\n              this.template.removeClass(position);\n            }\n        this.classChanged = true;\n        this.counter--;\n      }\n\n      /**\n       * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n       * if the tooltip is larger than the screen width, default to full width - any user selected margin\n       * @private\n       */\n\n    }, {\n      key: '_setPosition',\n      value: function _setPosition() {\n        var position = this._getPositionClass(this.template),\n            $tipDims = Foundation.Box.GetDimensions(this.template),\n            $anchorDims = Foundation.Box.GetDimensions(this.$element),\n            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',\n            param = direction === 'top' ? 'height' : 'width',\n            offset = param === 'height' ? this.options.vOffset : this.options.hOffset,\n            _this = this;\n\n        if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) {\n          this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n            // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n            'width': $anchorDims.windowDims.width - this.options.hOffset * 2,\n            'height': 'auto'\n          });\n          return false;\n        }\n\n        this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));\n\n        while (!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {\n          this._reposition(position);\n          this._setPosition();\n        }\n      }\n\n      /**\n       * reveals the tooltip, and fires an event to close any other open tooltips on the page\n       * @fires Tooltip#closeme\n       * @fires Tooltip#show\n       * @function\n       */\n\n    }, {\n      key: 'show',\n      value: function show() {\n        if (this.options.showOn !== 'all' && !Foundation.MediaQuery.is(this.options.showOn)) {\n          // console.error('The screen is too small to display this tooltip');\n          return false;\n        }\n\n        var _this = this;\n        this.template.css('visibility', 'hidden').show();\n        this._setPosition();\n\n        /**\n         * Fires to close all other open tooltips on the page\n         * @event Closeme#tooltip\n         */\n        this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n        this.template.attr({\n          'data-is-active': true,\n          'aria-hidden': false\n        });\n        _this.isActive = true;\n        // console.log(this.template);\n        this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {\n          //maybe do stuff?\n        });\n        /**\n         * Fires when the tooltip is shown\n         * @event Tooltip#show\n         */\n        this.$element.trigger('show.zf.tooltip');\n      }\n\n      /**\n       * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n       * @fires Tooltip#hide\n       * @function\n       */\n\n    }, {\n      key: 'hide',\n      value: function hide() {\n        // console.log('hiding', this.$element.data('yeti-box'));\n        var _this = this;\n        this.template.stop().attr({\n          'aria-hidden': true,\n          'data-is-active': false\n        }).fadeOut(this.options.fadeOutDuration, function () {\n          _this.isActive = false;\n          _this.isClick = false;\n          if (_this.classChanged) {\n            _this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass);\n\n            _this.usedPositions = [];\n            _this.counter = 4;\n            _this.classChanged = false;\n          }\n        });\n        /**\n         * fires when the tooltip is hidden\n         * @event Tooltip#hide\n         */\n        this.$element.trigger('hide.zf.tooltip');\n      }\n\n      /**\n       * adds event listeners for the tooltip and its anchor\n       * TODO combine some of the listeners like focus and mouseenter, etc.\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n        var $template = this.template;\n        var isFocus = false;\n\n        if (!this.options.disableHover) {\n\n          this.$element.on('mouseenter.zf.tooltip', function (e) {\n            if (!_this.isActive) {\n              _this.timeout = setTimeout(function () {\n                _this.show();\n              }, _this.options.hoverDelay);\n            }\n          }).on('mouseleave.zf.tooltip', function (e) {\n            clearTimeout(_this.timeout);\n            if (!isFocus || _this.isClick && !_this.options.clickOpen) {\n              _this.hide();\n            }\n          });\n        }\n\n        if (this.options.clickOpen) {\n          this.$element.on('mousedown.zf.tooltip', function (e) {\n            e.stopImmediatePropagation();\n            if (_this.isClick) {\n              //_this.hide();\n              // _this.isClick = false;\n            } else {\n              _this.isClick = true;\n              if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n                _this.show();\n              }\n            }\n          });\n        } else {\n          this.$element.on('mousedown.zf.tooltip', function (e) {\n            e.stopImmediatePropagation();\n            _this.isClick = true;\n          });\n        }\n\n        if (!this.options.disableForTouch) {\n          this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n            _this.isActive ? _this.hide() : _this.show();\n          });\n        }\n\n        this.$element.on({\n          // 'toggle.zf.trigger': this.toggle.bind(this),\n          // 'close.zf.trigger': this.hide.bind(this)\n          'close.zf.trigger': this.hide.bind(this)\n        });\n\n        this.$element.on('focus.zf.tooltip', function (e) {\n          isFocus = true;\n          if (_this.isClick) {\n            // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n            // a real focus, otherwise on hover and come back we get bad behavior\n            if (!_this.options.clickOpen) {\n              isFocus = false;\n            }\n            return false;\n          } else {\n            _this.show();\n          }\n        }).on('focusout.zf.tooltip', function (e) {\n          isFocus = false;\n          _this.isClick = false;\n          _this.hide();\n        }).on('resizeme.zf.trigger', function () {\n          if (_this.isActive) {\n            _this._setPosition();\n          }\n        });\n      }\n\n      /**\n       * adds a toggle method, in addition to the static show() & hide() functions\n       * @function\n       */\n\n    }, {\n      key: 'toggle',\n      value: function toggle() {\n        if (this.isActive) {\n          this.hide();\n        } else {\n          this.show();\n        }\n      }\n\n      /**\n       * Destroys an instance of tooltip, removes template element from the view.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass('has-tip top right left').removeAttr('aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n        this.template.remove();\n\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return Tooltip;\n  }();\n\n  Tooltip.defaults = {\n    disableForTouch: false,\n    /**\n     * Time, in ms, before a tooltip should open on hover.\n     * @option\n     * @example 200\n     */\n    hoverDelay: 200,\n    /**\n     * Time, in ms, a tooltip should take to fade into view.\n     * @option\n     * @example 150\n     */\n    fadeInDuration: 150,\n    /**\n     * Time, in ms, a tooltip should take to fade out of view.\n     * @option\n     * @example 150\n     */\n    fadeOutDuration: 150,\n    /**\n     * Disables hover events from opening the tooltip if set to true\n     * @option\n     * @example false\n     */\n    disableHover: false,\n    /**\n     * Optional addtional classes to apply to the tooltip template on init.\n     * @option\n     * @example 'my-cool-tip-class'\n     */\n    templateClasses: '',\n    /**\n     * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n     * @option\n     * @example 'tooltip'\n     */\n    tooltipClass: 'tooltip',\n    /**\n     * Class applied to the tooltip anchor element.\n     * @option\n     * @example 'has-tip'\n     */\n    triggerClass: 'has-tip',\n    /**\n     * Minimum breakpoint size at which to open the tooltip.\n     * @option\n     * @example 'small'\n     */\n    showOn: 'small',\n    /**\n     * Custom template to be used to generate markup for tooltip.\n     * @option\n     * @example '&lt;div class=\"tooltip\"&gt;&lt;/div&gt;'\n     */\n    template: '',\n    /**\n     * Text displayed in the tooltip template on open.\n     * @option\n     * @example 'Some cool space fact here.'\n     */\n    tipText: '',\n    touchCloseText: 'Tap to close.',\n    /**\n     * Allows the tooltip to remain open if triggered with a click or touch event.\n     * @option\n     * @example true\n     */\n    clickOpen: true,\n    /**\n     * Additional positioning classes, set by the JS\n     * @option\n     * @example 'top'\n     */\n    positionClass: '',\n    /**\n     * Distance, in pixels, the template should push away from the anchor on the Y axis.\n     * @option\n     * @example 10\n     */\n    vOffset: 10,\n    /**\n     * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.\n     * @option\n     * @example 12\n     */\n    hOffset: 12,\n    /**\n    * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n    * allowing HTML may open yourself up to XSS attacks.\n    * @option\n    * @example false\n    */\n    allowHtml: false\n  };\n\n  /**\n   * TODO utilize resize event trigger\n   */\n\n  // Window exports\n  Foundation.plugin(Tooltip, 'Tooltip');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.box.js",
    "content": "'use strict';\n\n!function ($) {\n\n  Foundation.Box = {\n    ImNotTouchingYou: ImNotTouchingYou,\n    GetDimensions: GetDimensions,\n    GetOffsets: GetOffsets\n  };\n\n  /**\n   * Compares the dimensions of an element to a container and determines collision events with container.\n   * @function\n   * @param {jQuery} element - jQuery object to test for collisions.\n   * @param {jQuery} parent - jQuery object to use as bounding container.\n   * @param {Boolean} lrOnly - set to true to check left and right values only.\n   * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n   * @default if no parent object passed, detects collisions with `window`.\n   * @returns {Boolean} - true if collision free, false if a collision in any direction.\n   */\n  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {\n    var eleDims = GetDimensions(element),\n        top,\n        bottom,\n        left,\n        right;\n\n    if (parent) {\n      var parDims = GetDimensions(parent);\n\n      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;\n      top = eleDims.offset.top >= parDims.offset.top;\n      left = eleDims.offset.left >= parDims.offset.left;\n      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;\n    } else {\n      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;\n      top = eleDims.offset.top >= eleDims.windowDims.offset.top;\n      left = eleDims.offset.left >= eleDims.windowDims.offset.left;\n      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;\n    }\n\n    var allDirs = [bottom, top, left, right];\n\n    if (lrOnly) {\n      return left === right === true;\n    }\n\n    if (tbOnly) {\n      return top === bottom === true;\n    }\n\n    return allDirs.indexOf(false) === -1;\n  };\n\n  /**\n   * Uses native methods to return an object of dimension values.\n   * @function\n   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n   * @returns {Object} - nested object of integer pixel values\n   * TODO - if element is window, return only those values.\n   */\n  function GetDimensions(elem, test) {\n    elem = elem.length ? elem[0] : elem;\n\n    if (elem === window || elem === document) {\n      throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n    }\n\n    var rect = elem.getBoundingClientRect(),\n        parRect = elem.parentNode.getBoundingClientRect(),\n        winRect = document.body.getBoundingClientRect(),\n        winY = window.pageYOffset,\n        winX = window.pageXOffset;\n\n    return {\n      width: rect.width,\n      height: rect.height,\n      offset: {\n        top: rect.top + winY,\n        left: rect.left + winX\n      },\n      parentDims: {\n        width: parRect.width,\n        height: parRect.height,\n        offset: {\n          top: parRect.top + winY,\n          left: parRect.left + winX\n        }\n      },\n      windowDims: {\n        width: winRect.width,\n        height: winRect.height,\n        offset: {\n          top: winY,\n          left: winX\n        }\n      }\n    };\n  }\n\n  /**\n   * Returns an object of top and left integer pixel values for dynamically rendered elements,\n   * such as: Tooltip, Reveal, and Dropdown\n   * @function\n   * @param {jQuery} element - jQuery object for the element being positioned.\n   * @param {jQuery} anchor - jQuery object for the element's anchor point.\n   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n   * TODO alter/rewrite to work with `em` values as well/instead of pixels\n   */\n  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n    var $eleDims = GetDimensions(element),\n        $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n    switch (position) {\n      case 'top':\n        return {\n          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,\n          top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n        };\n        break;\n      case 'left':\n        return {\n          left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n          top: $anchorDims.offset.top\n        };\n        break;\n      case 'right':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset,\n          top: $anchorDims.offset.top\n        };\n        break;\n      case 'center top':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,\n          top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n        };\n        break;\n      case 'center bottom':\n        return {\n          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      case 'center left':\n        return {\n          left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'center right':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,\n          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'center':\n        return {\n          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,\n          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2\n        };\n        break;\n      case 'reveal':\n        return {\n          left: ($eleDims.windowDims.width - $eleDims.width) / 2,\n          top: $eleDims.windowDims.offset.top + vOffset\n        };\n      case 'reveal full':\n        return {\n          left: $eleDims.windowDims.offset.left,\n          top: $eleDims.windowDims.offset.top\n        };\n        break;\n      case 'left bottom':\n        return {\n          left: $anchorDims.offset.left,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      case 'right bottom':\n        return {\n          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n        break;\n      default:\n        return {\n          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left + hOffset,\n          top: $anchorDims.offset.top + $anchorDims.height + vOffset\n        };\n    }\n  }\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.keyboard.js",
    "content": "/*******************************************\n *                                         *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n *                                         *\n ******************************************/\n\n'use strict';\n\n!function ($) {\n\n  var keyCodes = {\n    9: 'TAB',\n    13: 'ENTER',\n    27: 'ESCAPE',\n    32: 'SPACE',\n    37: 'ARROW_LEFT',\n    38: 'ARROW_UP',\n    39: 'ARROW_RIGHT',\n    40: 'ARROW_DOWN'\n  };\n\n  var commands = {};\n\n  var Keyboard = {\n    keys: getKeyCodes(keyCodes),\n\n    /**\n     * Parses the (keyboard) event and returns a String that represents its key\n     * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n     * @param {Event} event - the event generated by the event handler\n     * @return String key - String that represents the key pressed\n     */\n    parseKey: function (event) {\n      var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n      // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n      key = key.replace(/\\W+/, '');\n\n      if (event.shiftKey) key = 'SHIFT_' + key;\n      if (event.ctrlKey) key = 'CTRL_' + key;\n      if (event.altKey) key = 'ALT_' + key;\n\n      // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n      key = key.replace(/_$/, '');\n\n      return key;\n    },\n\n\n    /**\n     * Handles the given (keyboard) event\n     * @param {Event} event - the event generated by the event handler\n     * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n     * @param {Objects} functions - collection of functions that are to be executed\n     */\n    handleKey: function (event, component, functions) {\n      var commandList = commands[component],\n          keyCode = this.parseKey(event),\n          cmds,\n          command,\n          fn;\n\n      if (!commandList) return console.warn('Component not defined!');\n\n      if (typeof commandList.ltr === 'undefined') {\n        // this component does not differentiate between ltr and rtl\n        cmds = commandList; // use plain list\n      } else {\n        // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n        if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n      }\n      command = cmds[keyCode];\n\n      fn = functions[command];\n      if (fn && typeof fn === 'function') {\n        // execute function  if exists\n        var returnValue = fn.apply();\n        if (functions.handled || typeof functions.handled === 'function') {\n          // execute function when event was handled\n          functions.handled(returnValue);\n        }\n      } else {\n        if (functions.unhandled || typeof functions.unhandled === 'function') {\n          // execute function when event was not handled\n          functions.unhandled();\n        }\n      }\n    },\n\n\n    /**\n     * Finds all focusable elements within the given `$element`\n     * @param {jQuery} $element - jQuery object to search within\n     * @return {jQuery} $focusable - all focusable elements within `$element`\n     */\n    findFocusable: function ($element) {\n      if (!$element) {\n        return false;\n      }\n      return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n        if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {\n          return false;\n        } //only have visible elements and those that have a tabindex greater or equal 0\n        return true;\n      });\n    },\n\n\n    /**\n     * Returns the component name name\n     * @param {Object} component - Foundation component, e.g. Slider or Reveal\n     * @return String componentName\n     */\n\n    register: function (componentName, cmds) {\n      commands[componentName] = cmds;\n    },\n\n\n    /**\n     * Traps the focus in the given element.\n     * @param  {jQuery} $element  jQuery object to trap the foucs into.\n     */\n    trapFocus: function ($element) {\n      var $focusable = Foundation.Keyboard.findFocusable($element),\n          $firstFocusable = $focusable.eq(0),\n          $lastFocusable = $focusable.eq(-1);\n\n      $element.on('keydown.zf.trapfocus', function (event) {\n        if (event.target === $lastFocusable[0] && Foundation.Keyboard.parseKey(event) === 'TAB') {\n          event.preventDefault();\n          $firstFocusable.focus();\n        } else if (event.target === $firstFocusable[0] && Foundation.Keyboard.parseKey(event) === 'SHIFT_TAB') {\n          event.preventDefault();\n          $lastFocusable.focus();\n        }\n      });\n    },\n\n    /**\n     * Releases the trapped focus from the given element.\n     * @param  {jQuery} $element  jQuery object to release the focus for.\n     */\n    releaseFocus: function ($element) {\n      $element.off('keydown.zf.trapfocus');\n    }\n  };\n\n  /*\n   * Constants for easier comparing.\n   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n   */\n  function getKeyCodes(kcs) {\n    var k = {};\n    for (var kc in kcs) {\n      k[kcs[kc]] = kcs[kc];\n    }return k;\n  }\n\n  Foundation.Keyboard = Keyboard;\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.js",
    "content": "'use strict';\n\n!function ($) {\n\n  // Default set of media queries\n  var defaultQueries = {\n    'default': 'only screen',\n    landscape: 'only screen and (orientation: landscape)',\n    portrait: 'only screen and (orientation: portrait)',\n    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'\n  };\n\n  var MediaQuery = {\n    queries: [],\n\n    current: '',\n\n    /**\n     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n     * @function\n     * @private\n     */\n    _init: function () {\n      var self = this;\n      var extractedStyles = $('.foundation-mq').css('font-family');\n      var namedQueries;\n\n      namedQueries = parseStyleToObject(extractedStyles);\n\n      for (var key in namedQueries) {\n        if (namedQueries.hasOwnProperty(key)) {\n          self.queries.push({\n            name: key,\n            value: 'only screen and (min-width: ' + namedQueries[key] + ')'\n          });\n        }\n      }\n\n      this.current = this._getCurrentSize();\n\n      this._watcher();\n    },\n\n\n    /**\n     * Checks if the screen is at least as wide as a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to check.\n     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n     */\n    atLeast: function (size) {\n      var query = this.get(size);\n\n      if (query) {\n        return window.matchMedia(query).matches;\n      }\n\n      return false;\n    },\n\n\n    /**\n     * Checks if the screen matches to a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n     * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n     */\n    is: function (size) {\n      size = size.trim().split(' ');\n      if (size.length > 1 && size[1] === 'only') {\n        if (size[0] === this._getCurrentSize()) return true;\n      } else {\n        return this.atLeast(size[0]);\n      }\n      return false;\n    },\n\n\n    /**\n     * Gets the media query of a breakpoint.\n     * @function\n     * @param {String} size - Name of the breakpoint to get.\n     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n     */\n    get: function (size) {\n      for (var i in this.queries) {\n        if (this.queries.hasOwnProperty(i)) {\n          var query = this.queries[i];\n          if (size === query.name) return query.value;\n        }\n      }\n\n      return null;\n    },\n\n\n    /**\n     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n     * @function\n     * @private\n     * @returns {String} Name of the current breakpoint.\n     */\n    _getCurrentSize: function () {\n      var matched;\n\n      for (var i = 0; i < this.queries.length; i++) {\n        var query = this.queries[i];\n\n        if (window.matchMedia(query.value).matches) {\n          matched = query;\n        }\n      }\n\n      if (typeof matched === 'object') {\n        return matched.name;\n      } else {\n        return matched;\n      }\n    },\n\n\n    /**\n     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n     * @function\n     * @private\n     */\n    _watcher: function () {\n      var _this = this;\n\n      $(window).on('resize.zf.mediaquery', function () {\n        var newSize = _this._getCurrentSize(),\n            currentSize = _this.current;\n\n        if (newSize !== currentSize) {\n          // Change the current media query\n          _this.current = newSize;\n\n          // Broadcast the media query change on the window\n          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n        }\n      });\n    }\n  };\n\n  Foundation.MediaQuery = MediaQuery;\n\n  // matchMedia() polyfill - Test a CSS media type/query in JS.\n  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license\n  window.matchMedia || (window.matchMedia = function () {\n    'use strict';\n\n    // For browsers that support matchMedium api such as IE 9 and webkit\n\n    var styleMedia = window.styleMedia || window.media;\n\n    // For those that don't support matchMedium\n    if (!styleMedia) {\n      var style = document.createElement('style'),\n          script = document.getElementsByTagName('script')[0],\n          info = null;\n\n      style.type = 'text/css';\n      style.id = 'matchmediajs-test';\n\n      script && script.parentNode && script.parentNode.insertBefore(style, script);\n\n      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n\n      styleMedia = {\n        matchMedium: function (media) {\n          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n          if (style.styleSheet) {\n            style.styleSheet.cssText = text;\n          } else {\n            style.textContent = text;\n          }\n\n          // Test if media query is true or false\n          return info.width === '1px';\n        }\n      };\n    }\n\n    return function (media) {\n      return {\n        matches: styleMedia.matchMedium(media || 'all'),\n        media: media || 'all'\n      };\n    };\n  }());\n\n  // Thank you: https://github.com/sindresorhus/query-string\n  function parseStyleToObject(str) {\n    var styleObject = {};\n\n    if (typeof str !== 'string') {\n      return styleObject;\n    }\n\n    str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n    if (!str) {\n      return styleObject;\n    }\n\n    styleObject = str.split('&').reduce(function (ret, param) {\n      var parts = param.replace(/\\+/g, ' ').split('=');\n      var key = parts[0];\n      var val = parts[1];\n      key = decodeURIComponent(key);\n\n      // missing `=` should be `null`:\n      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n      val = val === undefined ? null : decodeURIComponent(val);\n\n      if (!ret.hasOwnProperty(key)) {\n        ret[key] = val;\n      } else if (Array.isArray(ret[key])) {\n        ret[key].push(val);\n      } else {\n        ret[key] = [ret[key], val];\n      }\n      return ret;\n    }, {});\n\n    return styleObject;\n  }\n\n  Foundation.MediaQuery = MediaQuery;\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.motion.js",
    "content": "'use strict';\n\n!function ($) {\n\n  /**\n   * Motion module.\n   * @module foundation.motion\n   */\n\n  var initClasses = ['mui-enter', 'mui-leave'];\n  var activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\n  var Motion = {\n    animateIn: function (element, animation, cb) {\n      animate(true, element, animation, cb);\n    },\n\n    animateOut: function (element, animation, cb) {\n      animate(false, element, animation, cb);\n    }\n  };\n\n  function Move(duration, elem, fn) {\n    var anim,\n        prog,\n        start = null;\n    // console.log('called');\n\n    if (duration === 0) {\n      fn.apply(elem);\n      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n      return;\n    }\n\n    function move(ts) {\n      if (!start) start = ts;\n      // console.log(start, ts);\n      prog = ts - start;\n      fn.apply(elem);\n\n      if (prog < duration) {\n        anim = window.requestAnimationFrame(move, elem);\n      } else {\n        window.cancelAnimationFrame(anim);\n        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n      }\n    }\n    anim = window.requestAnimationFrame(move);\n  }\n\n  /**\n   * Animates an element in or out using a CSS transition class.\n   * @function\n   * @private\n   * @param {Boolean} isIn - Defines if the animation is in or out.\n   * @param {Object} element - jQuery or HTML object to animate.\n   * @param {String} animation - CSS class to use.\n   * @param {Function} cb - Callback to run when animation is finished.\n   */\n  function animate(isIn, element, animation, cb) {\n    element = $(element).eq(0);\n\n    if (!element.length) return;\n\n    var initClass = isIn ? initClasses[0] : initClasses[1];\n    var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n    // Set up the animation\n    reset();\n\n    element.addClass(animation).css('transition', 'none');\n\n    requestAnimationFrame(function () {\n      element.addClass(initClass);\n      if (isIn) element.show();\n    });\n\n    // Start the animation\n    requestAnimationFrame(function () {\n      element[0].offsetWidth;\n      element.css('transition', '').addClass(activeClass);\n    });\n\n    // Clean up the animation when it finishes\n    element.one(Foundation.transitionend(element), finish);\n\n    // Hides the element (for out animations), resets the element, and runs a callback\n    function finish() {\n      if (!isIn) element.hide();\n      reset();\n      if (cb) cb.apply(element);\n    }\n\n    // Resets transitions and removes motion-specific classes\n    function reset() {\n      element[0].style.transitionDuration = 0;\n      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);\n    }\n  }\n\n  Foundation.Move = Move;\n  Foundation.Motion = Motion;\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.nest.js",
    "content": "'use strict';\n\n!function ($) {\n\n  var Nest = {\n    Feather: function (menu) {\n      var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n\n      menu.attr('role', 'menubar');\n\n      var items = menu.find('li').attr({ 'role': 'menuitem' }),\n          subMenuClass = 'is-' + type + '-submenu',\n          subItemClass = subMenuClass + '-item',\n          hasSubClass = 'is-' + type + '-submenu-parent';\n\n      items.each(function () {\n        var $item = $(this),\n            $sub = $item.children('ul');\n\n        if ($sub.length) {\n          $item.addClass(hasSubClass).attr({\n            'aria-haspopup': true,\n            'aria-label': $item.children('a:first').text()\n          });\n          // Note:  Drilldowns behave differently in how they hide, and so need\n          // additional attributes.  We should look if this possibly over-generalized\n          // utility (Nest) is appropriate when we rework menus in 6.4\n          if (type === 'drilldown') {\n            $item.attr({ 'aria-expanded': false });\n          }\n\n          $sub.addClass('submenu ' + subMenuClass).attr({\n            'data-submenu': '',\n            'role': 'menu'\n          });\n          if (type === 'drilldown') {\n            $sub.attr({ 'aria-hidden': true });\n          }\n        }\n\n        if ($item.parent('[data-submenu]').length) {\n          $item.addClass('is-submenu-item ' + subItemClass);\n        }\n      });\n\n      return;\n    },\n    Burn: function (menu, type) {\n      var //items = menu.find('li'),\n      subMenuClass = 'is-' + type + '-submenu',\n          subItemClass = subMenuClass + '-item',\n          hasSubClass = 'is-' + type + '-submenu-parent';\n\n      menu.find('>li, .menu, .menu > li').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');\n\n      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')\n      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')\n      //           .removeAttr('data-submenu'));\n      // items.each(function(){\n      //   var $item = $(this),\n      //       $sub = $item.children('ul');\n      //   if($item.parent('[data-submenu]').length){\n      //     $item.removeClass('is-submenu-item ' + subItemClass);\n      //   }\n      //   if($sub.length){\n      //     $item.removeClass('has-submenu');\n      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');\n      //   }\n      // });\n    }\n  };\n\n  Foundation.Nest = Nest;\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.js",
    "content": "'use strict';\n\n!function ($) {\n\n  function Timer(elem, options, cb) {\n    var _this = this,\n        duration = options.duration,\n        //options is an object for easily adding features later.\n    nameSpace = Object.keys(elem.data())[0] || 'timer',\n        remain = -1,\n        start,\n        timer;\n\n    this.isPaused = false;\n\n    this.restart = function () {\n      remain = -1;\n      clearTimeout(timer);\n      this.start();\n    };\n\n    this.start = function () {\n      this.isPaused = false;\n      // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n      clearTimeout(timer);\n      remain = remain <= 0 ? duration : remain;\n      elem.data('paused', false);\n      start = Date.now();\n      timer = setTimeout(function () {\n        if (options.infinite) {\n          _this.restart(); //rerun the timer.\n        }\n        if (cb && typeof cb === 'function') {\n          cb();\n        }\n      }, remain);\n      elem.trigger('timerstart.zf.' + nameSpace);\n    };\n\n    this.pause = function () {\n      this.isPaused = true;\n      //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n      clearTimeout(timer);\n      elem.data('paused', true);\n      var end = Date.now();\n      remain = remain - (end - start);\n      elem.trigger('timerpaused.zf.' + nameSpace);\n    };\n  }\n\n  /**\n   * Runs a callback function when images are fully loaded.\n   * @param {Object} images - Image(s) to check if loaded.\n   * @param {Func} callback - Function to execute when image is fully loaded.\n   */\n  function onImagesLoaded(images, callback) {\n    var self = this,\n        unloaded = images.length;\n\n    if (unloaded === 0) {\n      callback();\n    }\n\n    images.each(function () {\n      // Check if image is loaded\n      if (this.complete || this.readyState === 4 || this.readyState === 'complete') {\n        singleImageLoaded();\n      }\n      // Force load the image\n      else {\n          // fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/\n          var src = $(this).attr('src');\n          $(this).attr('src', src + '?' + new Date().getTime());\n          $(this).one('load', function () {\n            singleImageLoaded();\n          });\n        }\n    });\n\n    function singleImageLoaded() {\n      unloaded--;\n      if (unloaded === 0) {\n        callback();\n      }\n    }\n  }\n\n  Foundation.Timer = Timer;\n  Foundation.onImagesLoaded = onImagesLoaded;\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.touch.js",
    "content": "//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n(function ($) {\n\n\t$.spotSwipe = {\n\t\tversion: '1.0.0',\n\t\tenabled: 'ontouchstart' in document.documentElement,\n\t\tpreventDefault: false,\n\t\tmoveThreshold: 75,\n\t\ttimeThreshold: 200\n\t};\n\n\tvar startPosX,\n\t    startPosY,\n\t    startTime,\n\t    elapsedTime,\n\t    isMoving = false;\n\n\tfunction onTouchEnd() {\n\t\t//  alert(this);\n\t\tthis.removeEventListener('touchmove', onTouchMove);\n\t\tthis.removeEventListener('touchend', onTouchEnd);\n\t\tisMoving = false;\n\t}\n\n\tfunction onTouchMove(e) {\n\t\tif ($.spotSwipe.preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMoving) {\n\t\t\tvar x = e.touches[0].pageX;\n\t\t\tvar y = e.touches[0].pageY;\n\t\t\tvar dx = startPosX - x;\n\t\t\tvar dy = startPosY - y;\n\t\t\tvar dir;\n\t\t\telapsedTime = new Date().getTime() - startTime;\n\t\t\tif (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n\t\t\t\tdir = dx > 0 ? 'left' : 'right';\n\t\t\t}\n\t\t\t// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n\t\t\t//   dir = dy > 0 ? 'down' : 'up';\n\t\t\t// }\n\t\t\tif (dir) {\n\t\t\t\te.preventDefault();\n\t\t\t\tonTouchEnd.call(this);\n\t\t\t\t$(this).trigger('swipe', dir).trigger('swipe' + dir);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onTouchStart(e) {\n\t\tif (e.touches.length == 1) {\n\t\t\tstartPosX = e.touches[0].pageX;\n\t\t\tstartPosY = e.touches[0].pageY;\n\t\t\tisMoving = true;\n\t\t\tstartTime = new Date().getTime();\n\t\t\tthis.addEventListener('touchmove', onTouchMove, false);\n\t\t\tthis.addEventListener('touchend', onTouchEnd, false);\n\t\t}\n\t}\n\n\tfunction init() {\n\t\tthis.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n\t}\n\n\tfunction teardown() {\n\t\tthis.removeEventListener('touchstart', onTouchStart);\n\t}\n\n\t$.event.special.swipe = { setup: init };\n\n\t$.each(['left', 'up', 'down', 'right'], function () {\n\t\t$.event.special['swipe' + this] = { setup: function () {\n\t\t\t\t$(this).on('swipe', $.noop);\n\t\t\t} };\n\t});\n})(jQuery);\n/****************************************************\n * Method for adding psuedo drag events to elements *\n ***************************************************/\n!function ($) {\n\t$.fn.addTouch = function () {\n\t\tthis.each(function (i, el) {\n\t\t\t$(el).bind('touchstart touchmove touchend touchcancel', function () {\n\t\t\t\t//we pass the original event object because the jQuery event\n\t\t\t\t//object is normalized to w3c specs and does not provide the TouchList\n\t\t\t\thandleTouch(event);\n\t\t\t});\n\t\t});\n\n\t\tvar handleTouch = function (event) {\n\t\t\tvar touches = event.changedTouches,\n\t\t\t    first = touches[0],\n\t\t\t    eventTypes = {\n\t\t\t\ttouchstart: 'mousedown',\n\t\t\t\ttouchmove: 'mousemove',\n\t\t\t\ttouchend: 'mouseup'\n\t\t\t},\n\t\t\t    type = eventTypes[event.type],\n\t\t\t    simulatedEvent;\n\n\t\t\tif ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n\t\t\t\tsimulatedEvent = new window.MouseEvent(type, {\n\t\t\t\t\t'bubbles': true,\n\t\t\t\t\t'cancelable': true,\n\t\t\t\t\t'screenX': first.screenX,\n\t\t\t\t\t'screenY': first.screenY,\n\t\t\t\t\t'clientX': first.clientX,\n\t\t\t\t\t'clientY': first.clientY\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsimulatedEvent = document.createEvent('MouseEvent');\n\t\t\t\tsimulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);\n\t\t\t}\n\t\t\tfirst.target.dispatchEvent(simulatedEvent);\n\t\t};\n\t};\n}(jQuery);\n\n//**********************************\n//**From the jQuery Mobile Library**\n//**need to recreate functionality**\n//**and try to improve if possible**\n//**********************************\n\n/* Removing the jQuery function ****\n************************************\n\n(function( $, window, undefined ) {\n\n\tvar $document = $( document ),\n\t\t// supportTouch = $.mobile.support.touch,\n\t\ttouchStartEvent = 'touchstart'//supportTouch ? \"touchstart\" : \"mousedown\",\n\t\ttouchStopEvent = 'touchend'//supportTouch ? \"touchend\" : \"mouseup\",\n\t\ttouchMoveEvent = 'touchmove'//supportTouch ? \"touchmove\" : \"mousemove\";\n\n\t// setup new event shortcuts\n\t$.each( ( \"touchstart touchmove touchend \" +\n\t\t\"swipe swipeleft swiperight\" ).split( \" \" ), function( i, name ) {\n\n\t\t$.fn[ name ] = function( fn ) {\n\t\t\treturn fn ? this.bind( name, fn ) : this.trigger( name );\n\t\t};\n\n\t\t// jQuery < 1.8\n\t\tif ( $.attrFn ) {\n\t\t\t$.attrFn[ name ] = true;\n\t\t}\n\t});\n\n\tfunction triggerCustomEvent( obj, eventType, event, bubble ) {\n\t\tvar originalType = event.type;\n\t\tevent.type = eventType;\n\t\tif ( bubble ) {\n\t\t\t$.event.trigger( event, undefined, obj );\n\t\t} else {\n\t\t\t$.event.dispatch.call( obj, event );\n\t\t}\n\t\tevent.type = originalType;\n\t}\n\n\t// also handles taphold\n\n\t// Also handles swipeleft, swiperight\n\t$.event.special.swipe = {\n\n\t\t// More than this horizontal displacement, and we will suppress scrolling.\n\t\tscrollSupressionThreshold: 30,\n\n\t\t// More time than this, and it isn't a swipe.\n\t\tdurationThreshold: 1000,\n\n\t\t// Swipe horizontal displacement must be more than this.\n\t\thorizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\t// Swipe vertical displacement must be less than this.\n\t\tverticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\tgetLocation: function ( event ) {\n\t\t\tvar winPageX = window.pageXOffset,\n\t\t\t\twinPageY = window.pageYOffset,\n\t\t\t\tx = event.clientX,\n\t\t\t\ty = event.clientY;\n\n\t\t\tif ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||\n\t\t\t\tevent.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {\n\n\t\t\t\t// iOS4 clientX/clientY have the value that should have been\n\t\t\t\t// in pageX/pageY. While pageX/page/ have the value 0\n\t\t\t\tx = x - winPageX;\n\t\t\t\ty = y - winPageY;\n\t\t\t} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {\n\n\t\t\t\t// Some Android browsers have totally bogus values for clientX/Y\n\t\t\t\t// when scrolling/zooming a page. Detectable since clientX/clientY\n\t\t\t\t// should never be smaller than pageX/pageY minus page scroll\n\t\t\t\tx = event.pageX - winPageX;\n\t\t\t\ty = event.pageY - winPageY;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: x,\n\t\t\t\ty: y\n\t\t\t};\n\t\t},\n\n\t\tstart: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ],\n\t\t\t\t\t\torigin: $( event.target )\n\t\t\t\t\t};\n\t\t},\n\n\t\tstop: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ]\n\t\t\t\t\t};\n\t\t},\n\n\t\thandleSwipe: function( start, stop, thisObject, origTarget ) {\n\t\t\tif ( stop.time - start.time < $.event.special.swipe.durationThreshold &&\n\t\t\t\tMath.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&\n\t\t\t\tMath.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {\n\t\t\t\tvar direction = start.coords[0] > stop.coords[ 0 ] ? \"swipeleft\" : \"swiperight\";\n\n\t\t\t\ttriggerCustomEvent( thisObject, \"swipe\", $.Event( \"swipe\", { target: origTarget, swipestart: start, swipestop: stop }), true );\n\t\t\t\ttriggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\n\t\t},\n\n\t\t// This serves as a flag to ensure that at most one swipe event event is\n\t\t// in work at any given time\n\t\teventInProgress: false,\n\n\t\tsetup: function() {\n\t\t\tvar events,\n\t\t\t\tthisObject = this,\n\t\t\t\t$this = $( thisObject ),\n\t\t\t\tcontext = {};\n\n\t\t\t// Retrieve the events data for this element and add the swipe context\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( !events ) {\n\t\t\t\tevents = { length: 0 };\n\t\t\t\t$.data( this, \"mobile-events\", events );\n\t\t\t}\n\t\t\tevents.length++;\n\t\t\tevents.swipe = context;\n\n\t\t\tcontext.start = function( event ) {\n\n\t\t\t\t// Bail if we're already working on a swipe event\n\t\t\t\tif ( $.event.special.swipe.eventInProgress ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$.event.special.swipe.eventInProgress = true;\n\n\t\t\t\tvar stop,\n\t\t\t\t\tstart = $.event.special.swipe.start( event ),\n\t\t\t\t\torigTarget = event.target,\n\t\t\t\t\temitted = false;\n\n\t\t\t\tcontext.move = function( event ) {\n\t\t\t\t\tif ( !start || event.isDefaultPrevented() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstop = $.event.special.swipe.stop( event );\n\t\t\t\t\tif ( !emitted ) {\n\t\t\t\t\t\temitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );\n\t\t\t\t\t\tif ( emitted ) {\n\n\t\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// prevent scrolling\n\t\t\t\t\tif ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tcontext.stop = function() {\n\t\t\t\t\t\temitted = true;\n\n\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t\t\tcontext.move = null;\n\t\t\t\t};\n\n\t\t\t\t$document.on( touchMoveEvent, context.move )\n\t\t\t\t\t.one( touchStopEvent, context.stop );\n\t\t\t};\n\t\t\t$this.on( touchStartEvent, context.start );\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar events, context;\n\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( events ) {\n\t\t\t\tcontext = events.swipe;\n\t\t\t\tdelete events.swipe;\n\t\t\t\tevents.length--;\n\t\t\t\tif ( events.length === 0 ) {\n\t\t\t\t\t$.removeData( this, \"mobile-events\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( context ) {\n\t\t\t\tif ( context.start ) {\n\t\t\t\t\t$( this ).off( touchStartEvent, context.start );\n\t\t\t\t}\n\t\t\t\tif ( context.move ) {\n\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t}\n\t\t\t\tif ( context.stop ) {\n\t\t\t\t\t$document.off( touchStopEvent, context.stop );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\t$.each({\n\t\tswipeleft: \"swipe.left\",\n\t\tswiperight: \"swipe.right\"\n\t}, function( event, sourceEvent ) {\n\n\t\t$.event.special[ event ] = {\n\t\t\tsetup: function() {\n\t\t\t\t$( this ).bind( sourceEvent, $.noop );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\t$( this ).unbind( sourceEvent );\n\t\t\t}\n\t\t};\n\t});\n})( jQuery, this );\n*/"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.util.triggers.js",
    "content": "'use strict';\n\n!function ($) {\n\n  var MutationObserver = function () {\n    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n    for (var i = 0; i < prefixes.length; i++) {\n      if (prefixes[i] + 'MutationObserver' in window) {\n        return window[prefixes[i] + 'MutationObserver'];\n      }\n    }\n    return false;\n  }();\n\n  var triggers = function (el, type) {\n    el.data(type).split(' ').forEach(function (id) {\n      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);\n    });\n  };\n  // Elements with [data-open] will reveal a plugin that supports it when clicked.\n  $(document).on('click.zf.trigger', '[data-open]', function () {\n    triggers($(this), 'open');\n  });\n\n  // Elements with [data-close] will close a plugin that supports it when clicked.\n  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n  $(document).on('click.zf.trigger', '[data-close]', function () {\n    var id = $(this).data('close');\n    if (id) {\n      triggers($(this), 'close');\n    } else {\n      $(this).trigger('close.zf.trigger');\n    }\n  });\n\n  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n  $(document).on('click.zf.trigger', '[data-toggle]', function () {\n    var id = $(this).data('toggle');\n    if (id) {\n      triggers($(this), 'toggle');\n    } else {\n      $(this).trigger('toggle.zf.trigger');\n    }\n  });\n\n  // Elements with [data-closable] will respond to close.zf.trigger events.\n  $(document).on('close.zf.trigger', '[data-closable]', function (e) {\n    e.stopPropagation();\n    var animation = $(this).data('closable');\n\n    if (animation !== '') {\n      Foundation.Motion.animateOut($(this), animation, function () {\n        $(this).trigger('closed.zf');\n      });\n    } else {\n      $(this).fadeOut().trigger('closed.zf');\n    }\n  });\n\n  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {\n    var id = $(this).data('toggle-focus');\n    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);\n  });\n\n  /**\n  * Fires once after all other scripts have loaded\n  * @function\n  * @private\n  */\n  $(window).on('load', function () {\n    checkListeners();\n  });\n\n  function checkListeners() {\n    eventsListener();\n    resizeListener();\n    scrollListener();\n    mutateListener();\n    closemeListener();\n  }\n\n  //******** only fires this function once on load, if there's something to watch ********\n  function closemeListener(pluginName) {\n    var yetiBoxes = $('[data-yeti-box]'),\n        plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n    if (pluginName) {\n      if (typeof pluginName === 'string') {\n        plugNames.push(pluginName);\n      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {\n        plugNames.concat(pluginName);\n      } else {\n        console.error('Plugin names must be strings');\n      }\n    }\n    if (yetiBoxes.length) {\n      var listeners = plugNames.map(function (name) {\n        return 'closeme.zf.' + name;\n      }).join(' ');\n\n      $(window).off(listeners).on(listeners, function (e, pluginId) {\n        var plugin = e.namespace.split('.')[0];\n        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box=\"' + pluginId + '\"]');\n\n        plugins.each(function () {\n          var _this = $(this);\n\n          _this.triggerHandler('close.zf.trigger', [_this]);\n        });\n      });\n    }\n  }\n\n  function resizeListener(debounce) {\n    var timer = void 0,\n        $nodes = $('[data-resize]');\n    if ($nodes.length) {\n      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {\n        if (timer) {\n          clearTimeout(timer);\n        }\n\n        timer = setTimeout(function () {\n\n          if (!MutationObserver) {\n            //fallback for IE 9\n            $nodes.each(function () {\n              $(this).triggerHandler('resizeme.zf.trigger');\n            });\n          }\n          //trigger all listening elements and signal a resize event\n          $nodes.attr('data-events', \"resize\");\n        }, debounce || 10); //default time to emit resize event\n      });\n    }\n  }\n\n  function scrollListener(debounce) {\n    var timer = void 0,\n        $nodes = $('[data-scroll]');\n    if ($nodes.length) {\n      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {\n        if (timer) {\n          clearTimeout(timer);\n        }\n\n        timer = setTimeout(function () {\n\n          if (!MutationObserver) {\n            //fallback for IE 9\n            $nodes.each(function () {\n              $(this).triggerHandler('scrollme.zf.trigger');\n            });\n          }\n          //trigger all listening elements and signal a scroll event\n          $nodes.attr('data-events', \"scroll\");\n        }, debounce || 10); //default time to emit scroll event\n      });\n    }\n  }\n\n  function mutateListener(debounce) {\n    var $nodes = $('[data-mutate]');\n    if ($nodes.length && MutationObserver) {\n      //trigger all listening elements and signal a mutate event\n      //no IE 9 or 10\n      $nodes.each(function () {\n        $(this).triggerHandler('mutateme.zf.trigger');\n      });\n    }\n  }\n\n  function eventsListener() {\n    if (!MutationObserver) {\n      return false;\n    }\n    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');\n\n    //element callback\n    var listeningElementsMutation = function (mutationRecordsList) {\n      var $target = $(mutationRecordsList[0].target);\n\n      //trigger the event handler for the element depending on type\n      switch (mutationRecordsList[0].type) {\n\n        case \"attributes\":\n          if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n            $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n          }\n          if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n            $target.triggerHandler('resizeme.zf.trigger', [$target]);\n          }\n          if (mutationRecordsList[0].attributeName === \"style\") {\n            $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n            $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n          }\n          break;\n\n        case \"childList\":\n          $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n          $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n          break;\n\n        default:\n          return false;\n        //nothing\n      }\n    };\n\n    if (nodes.length) {\n      //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n      for (var i = 0; i <= nodes.length - 1; i++) {\n        var elementObserver = new MutationObserver(listeningElementsMutation);\n        elementObserver.observe(nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n      }\n    }\n  }\n\n  // ------------------------------------\n\n  // [PH]\n  // Foundation.CheckWatchers = checkWatchers;\n  Foundation.IHearYou = checkListeners;\n  // Foundation.ISeeYou = scrollListener;\n  // Foundation.IFeelYou = closemeListener;\n}(jQuery);\n\n// function domMutationObserver(debounce) {\n//   // !!! This is coming soon and needs more work; not active  !!! //\n//   var timer,\n//   nodes = document.querySelectorAll('[data-mutate]');\n//   //\n//   if (nodes.length) {\n//     // var MutationObserver = (function () {\n//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n//     //   for (var i=0; i < prefixes.length; i++) {\n//     //     if (prefixes[i] + 'MutationObserver' in window) {\n//     //       return window[prefixes[i] + 'MutationObserver'];\n//     //     }\n//     //   }\n//     //   return false;\n//     // }());\n//\n//\n//     //for the body, we need to listen for all changes effecting the style and class attributes\n//     var bodyObserver = new MutationObserver(bodyMutation);\n//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:[\"style\", \"class\"]});\n//\n//\n//     //body callback\n//     function bodyMutation(mutate) {\n//       //trigger all listening elements and signal a mutation event\n//       if (timer) { clearTimeout(timer); }\n//\n//       timer = setTimeout(function() {\n//         bodyObserver.disconnect();\n//         $('[data-mutate]').attr('data-events',\"mutate\");\n//       }, debounce || 150);\n//     }\n//   }\n// }"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/dist/js/plugins/foundation.zf.responsiveAccordionTabs.js",
    "content": "'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n!function ($) {\n\n  /**\n   * ResponsiveAccordionTabs module.\n   * @module foundation.responsiveAccordionTabs\n   * @requires foundation.util.keyboard\n   * @requires foundation.util.timerAndImageLoader\n   * @requires foundation.util.motion\n   * @requires foundation.accordion\n   * @requires foundation.tabs\n   */\n\n  var ResponsiveAccordionTabs = function () {\n    /**\n     * Creates a new instance of a responsive accordion tabs.\n     * @class\n     * @fires ResponsiveAccordionTabs#init\n     * @param {jQuery} element - jQuery object to make into a dropdown menu.\n     * @param {Object} options - Overrides to the default plugin settings.\n     */\n    function ResponsiveAccordionTabs(element, options) {\n      _classCallCheck(this, ResponsiveAccordionTabs);\n\n      this.$element = $(element);\n      this.options = $.extend({}, this.$element.data(), options);\n      this.rules = this.$element.data('responsive-accordion-tabs');\n      this.currentMq = null;\n      this.currentPlugin = null;\n      if (!this.$element.attr('id')) {\n        this.$element.attr('id', Foundation.GetYoDigits(6, 'responsiveaccordiontabs'));\n      };\n\n      this._init();\n      this._events();\n\n      Foundation.registerPlugin(this, 'ResponsiveAccordionTabs');\n    }\n\n    /**\n     * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n     * @function\n     * @private\n     */\n\n\n    _createClass(ResponsiveAccordionTabs, [{\n      key: '_init',\n      value: function _init() {\n        // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n        if (typeof this.rules === 'string') {\n          var rulesTree = {};\n\n          // Parse rules from \"classes\" pulled from data attribute\n          var rules = this.rules.split(' ');\n\n          // Iterate through every rule found\n          for (var i = 0; i < rules.length; i++) {\n            var rule = rules[i].split('-');\n            var ruleSize = rule.length > 1 ? rule[0] : 'small';\n            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n            if (MenuPlugins[rulePlugin] !== null) {\n              rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n            }\n          }\n\n          this.rules = rulesTree;\n        }\n\n        this._getAllOptions();\n\n        if (!$.isEmptyObject(this.rules)) {\n          this._checkMediaQueries();\n        }\n      }\n    }, {\n      key: '_getAllOptions',\n      value: function _getAllOptions() {\n        //get all defaults and options\n        var _this = this;\n        _this.allOptions = {};\n        for (var key in MenuPlugins) {\n          if (MenuPlugins.hasOwnProperty(key)) {\n            var obj = MenuPlugins[key];\n            try {\n              var dummyPlugin = $('<ul></ul>');\n              var tmpPlugin = new obj.plugin(dummyPlugin, _this.options);\n              for (var keyKey in tmpPlugin.options) {\n                if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n                  var objObj = tmpPlugin.options[keyKey];\n                  _this.allOptions[keyKey] = objObj;\n                }\n              }\n              tmpPlugin.destroy();\n            } catch (e) {}\n          }\n        }\n      }\n\n      /**\n       * Initializes events for the Menu.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_events',\n      value: function _events() {\n        var _this = this;\n\n        $(window).on('changed.zf.mediaquery', function () {\n          _this._checkMediaQueries();\n        });\n      }\n\n      /**\n       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n       * @function\n       * @private\n       */\n\n    }, {\n      key: '_checkMediaQueries',\n      value: function _checkMediaQueries() {\n        var matchedMq,\n            _this = this;\n        // Iterate through each rule and find the last matching rule\n        $.each(this.rules, function (key) {\n          if (Foundation.MediaQuery.atLeast(key)) {\n            matchedMq = key;\n          }\n        });\n\n        // No match? No dice\n        if (!matchedMq) return;\n\n        // Plugin already initialized? We good\n        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n        // Remove existing plugin-specific CSS classes\n        $.each(MenuPlugins, function (key, value) {\n          _this.$element.removeClass(value.cssClass);\n        });\n\n        // Add the CSS class for the new plugin\n        this.$element.addClass(this.rules[matchedMq].cssClass);\n\n        // Create an instance of the new plugin\n        if (this.currentPlugin) {\n          //don't know why but on nested elements data zfPlugin get's lost\n          if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData);\n          this.currentPlugin.destroy();\n        }\n        this._handleMarkup(this.rules[matchedMq].cssClass);\n        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n        this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n      }\n    }, {\n      key: '_handleMarkup',\n      value: function _handleMarkup(toSet) {\n        var _this = this,\n            fromString = 'accordion';\n        var $panels = $('[data-tabs-content=' + this.$element.attr('id') + ']');\n        if ($panels.length) fromString = 'tabs';\n        if (fromString === toSet) {\n          return;\n        };\n\n        var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title';\n        var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel';\n\n        this.$element.removeAttr('role');\n        var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n        var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n        if (fromString === 'tabs') {\n          $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n          $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n        } else {\n          $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n        };\n\n        $panels.css({ display: '', visibility: '' });\n        $liHeads.css({ display: '', visibility: '' });\n        if (toSet === 'accordion') {\n          $panels.each(function (key, value) {\n            $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({ height: '' });\n            $('[data-tabs-content=' + _this.$element.attr('id') + ']').after('<div id=\"tabs-placeholder-' + _this.$element.attr('id') + '\"></div>').remove();\n            $liHeads.addClass('accordion-item').attr('data-accordion-item', '');\n            $liHeadsA.addClass('accordion-title');\n          });\n        } else if (toSet === 'tabs') {\n          var $tabsContent = $('[data-tabs-content=' + _this.$element.attr('id') + ']');\n          var $placeholder = $('#tabs-placeholder-' + _this.$element.attr('id'));\n          if ($placeholder.length) {\n            $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id'));\n            $placeholder.remove();\n          } else {\n            $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id'));\n          };\n          $panels.each(function (key, value) {\n            var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n            var hash = $liHeadsA.get(key).hash.slice(1);\n            var id = $(value).attr('id') || Foundation.GetYoDigits(6, 'accordion');\n            if (hash !== id) {\n              if (hash !== '') {\n                $(value).attr('id', hash);\n              } else {\n                hash = id;\n                $(value).attr('id', hash);\n                $($liHeadsA.get(key)).attr('href', $($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash);\n              };\n            };\n            var isActive = $($liHeads.get(key)).hasClass('is-active');\n            if (isActive) {\n              tempValue.addClass('is-active');\n            };\n          });\n          $liHeads.addClass(tabsTitle);\n        };\n      }\n\n      /**\n       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n       * @function\n       */\n\n    }, {\n      key: 'destroy',\n      value: function destroy() {\n        if (this.currentPlugin) this.currentPlugin.destroy();\n        $(window).off('.zf.ResponsiveAccordionTabs');\n        Foundation.unregisterPlugin(this);\n      }\n    }]);\n\n    return ResponsiveAccordionTabs;\n  }();\n\n  ResponsiveAccordionTabs.defaults = {};\n\n  // The plugin matches the plugin classes with these plugin instances.\n  var MenuPlugins = {\n    tabs: {\n      cssClass: 'tabs',\n      plugin: Foundation._plugins.tabs || null\n    },\n    accordion: {\n      cssClass: 'accordion',\n      plugin: Foundation._plugins.accordion || null\n    }\n  };\n\n  // Window exports\n  Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n}(jQuery);"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/docslink.sh",
    "content": "# Clones the foundation-docs repo and links it to NPM locally\ngit clone https://github.com/zurb/foundation-docs\nnpm link ./foundation-docs\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.abide.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Abide module.\n * @module foundation.abide\n */\n\nclass Abide {\n  /**\n   * Creates a new instance of Abide.\n   * @class\n   * @fires Abide#init\n   * @param {Object} element - jQuery object to add the trigger to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options = {}) {\n    this.$element = element;\n    this.options  = $.extend({}, Abide.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Abide');\n  }\n\n  /**\n   * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n   * @private\n   */\n  _init() {\n    this.$inputs = this.$element.find('input, textarea, select');\n\n    this._events();\n  }\n\n  /**\n   * Initializes events for Abide.\n   * @private\n   */\n  _events() {\n    this.$element.off('.abide')\n      .on('reset.zf.abide', () => {\n        this.resetForm();\n      })\n      .on('submit.zf.abide', () => {\n        return this.validateForm();\n      });\n\n    if (this.options.validateOn === 'fieldChange') {\n      this.$inputs\n        .off('change.zf.abide')\n        .on('change.zf.abide', (e) => {\n          this.validateInput($(e.target));\n        });\n    }\n\n    if (this.options.liveValidate) {\n      this.$inputs\n        .off('input.zf.abide')\n        .on('input.zf.abide', (e) => {\n          this.validateInput($(e.target));\n        });\n    }\n\n    if (this.options.validateOnBlur) {\n      this.$inputs\n        .off('blur.zf.abide')\n        .on('blur.zf.abide', (e) => {\n          this.validateInput($(e.target));\n        });\n    }\n  }\n\n  /**\n   * Calls necessary functions to update Abide upon DOM change\n   * @private\n   */\n  _reflow() {\n    this._init();\n  }\n\n  /**\n   * Checks whether or not a form element has the required attribute and if it's checked or not\n   * @param {Object} element - jQuery object to check for required attribute\n   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n   */\n  requiredCheck($el) {\n    if (!$el.attr('required')) return true;\n\n    var isGood = true;\n\n    switch ($el[0].type) {\n      case 'checkbox':\n        isGood = $el[0].checked;\n        break;\n\n      case 'select':\n      case 'select-one':\n      case 'select-multiple':\n        var opt = $el.find('option:selected');\n        if (!opt.length || !opt.val()) isGood = false;\n        break;\n\n      default:\n        if(!$el.val() || !$el.val().length) isGood = false;\n    }\n\n    return isGood;\n  }\n\n  /**\n   * Based on $el, get the first element with selector in this order:\n   * 1. The element's direct sibling('s).\n   * 3. The element's parent's children.\n   *\n   * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n   *\n   * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n   * @returns {Object} jQuery object with the selector.\n   */\n  findFormError($el) {\n    var $error = $el.siblings(this.options.formErrorSelector);\n\n    if (!$error.length) {\n      $error = $el.parent().find(this.options.formErrorSelector);\n    }\n\n    return $error;\n  }\n\n  /**\n   * Get the first element in this order:\n   * 2. The <label> with the attribute `[for=\"someInputId\"]`\n   * 3. The `.closest()` <label>\n   *\n   * @param {Object} $el - jQuery object to check for required attribute\n   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n   */\n  findLabel($el) {\n    var id = $el[0].id;\n    var $label = this.$element.find(`label[for=\"${id}\"]`);\n\n    if (!$label.length) {\n      return $el.closest('label');\n    }\n\n    return $label;\n  }\n\n  /**\n   * Get the set of labels associated with a set of radio els in this order\n   * 2. The <label> with the attribute `[for=\"someInputId\"]`\n   * 3. The `.closest()` <label>\n   *\n   * @param {Object} $el - jQuery object to check for required attribute\n   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n   */\n  findRadioLabels($els) {\n    var labels = $els.map((i, el) => {\n      var id = el.id;\n      var $label = this.$element.find(`label[for=\"${id}\"]`);\n\n      if (!$label.length) {\n        $label = $(el).closest('label');\n      }\n      return $label[0];\n    });\n\n    return $(labels);\n  }\n\n  /**\n   * Adds the CSS error class as specified by the Abide settings to the label, input, and the form\n   * @param {Object} $el - jQuery object to add the class to\n   */\n  addErrorClasses($el) {\n    var $label = this.findLabel($el);\n    var $formError = this.findFormError($el);\n\n    if ($label.length) {\n      $label.addClass(this.options.labelErrorClass);\n    }\n\n    if ($formError.length) {\n      $formError.addClass(this.options.formErrorClass);\n    }\n\n    $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');\n  }\n\n  /**\n   * Remove CSS error classes etc from an entire radio button group\n   * @param {String} groupName - A string that specifies the name of a radio button group\n   *\n   */\n\n  removeRadioErrorClasses(groupName) {\n    var $els = this.$element.find(`:radio[name=\"${groupName}\"]`);\n    var $labels = this.findRadioLabels($els);\n    var $formErrors = this.findFormError($els);\n\n    if ($labels.length) {\n      $labels.removeClass(this.options.labelErrorClass);\n    }\n\n    if ($formErrors.length) {\n      $formErrors.removeClass(this.options.formErrorClass);\n    }\n\n    $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n\n  }\n\n  /**\n   * Removes CSS error class as specified by the Abide settings from the label, input, and the form\n   * @param {Object} $el - jQuery object to remove the class from\n   */\n  removeErrorClasses($el) {\n    // radios need to clear all of the els\n    if($el[0].type == 'radio') {\n      return this.removeRadioErrorClasses($el.attr('name'));\n    }\n\n    var $label = this.findLabel($el);\n    var $formError = this.findFormError($el);\n\n    if ($label.length) {\n      $label.removeClass(this.options.labelErrorClass);\n    }\n\n    if ($formError.length) {\n      $formError.removeClass(this.options.formErrorClass);\n    }\n\n    $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');\n  }\n\n  /**\n   * Goes through a form to find inputs and proceeds to validate them in ways specific to their type\n   * @fires Abide#invalid\n   * @fires Abide#valid\n   * @param {Object} element - jQuery object to validate, should be an HTML input\n   * @returns {Boolean} goodToGo - If the input is valid or not.\n   */\n  validateInput($el) {\n    var clearRequire = this.requiredCheck($el),\n        validated = false,\n        customValidator = true,\n        validator = $el.attr('data-validator'),\n        equalTo = true;\n\n    // don't validate ignored inputs or hidden inputs\n    if ($el.is('[data-abide-ignore]') || $el.is('[type=\"hidden\"]')) {\n      return true;\n    }\n\n    switch ($el[0].type) {\n      case 'radio':\n        validated = this.validateRadio($el.attr('name'));\n        break;\n\n      case 'checkbox':\n        validated = clearRequire;\n        break;\n\n      case 'select':\n      case 'select-one':\n      case 'select-multiple':\n        validated = clearRequire;\n        break;\n\n      default:\n        validated = this.validateText($el);\n    }\n\n    if (validator) {\n      customValidator = this.matchValidation($el, validator, $el.attr('required'));\n    }\n\n    if ($el.attr('data-equalto')) {\n      equalTo = this.options.validators.equalTo($el);\n    }\n\n\n    var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;\n    var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';\n\n    if (goodToGo) {\n      // Re-validate inputs that depend on this one with equalto\n      const dependentElements = this.$element.find(`[data-equalto=\"${$el.attr('id')}\"]`);\n      if (dependentElements.length) {\n        let _this = this;\n        dependentElements.each(function() {\n          if ($(this).val()) {\n            _this.validateInput($(this));\n          }\n        });\n      }\n    }\n\n    this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);\n\n    /**\n     * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`\n     * Trigger includes the DOM element of the input.\n     * @event Abide#valid\n     * @event Abide#invalid\n     */\n    $el.trigger(message, [$el]);\n\n    return goodToGo;\n  }\n\n  /**\n   * Goes through a form and if there are any invalid inputs, it will display the form error element\n   * @returns {Boolean} noError - true if no errors were detected...\n   * @fires Abide#formvalid\n   * @fires Abide#forminvalid\n   */\n  validateForm() {\n    var acc = [];\n    var _this = this;\n\n    this.$inputs.each(function() {\n      acc.push(_this.validateInput($(this)));\n    });\n\n    var noError = acc.indexOf(false) === -1;\n\n    this.$element.find('[data-abide-error]').css('display', (noError ? 'none' : 'block'));\n\n    /**\n     * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.\n     * Trigger includes the element of the form.\n     * @event Abide#formvalid\n     * @event Abide#forminvalid\n     */\n    this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);\n\n    return noError;\n  }\n\n  /**\n   * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.\n   * @param {Object} $el - jQuery object to validate, should be a text input HTML element\n   * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns\n   * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified\n   */\n  validateText($el, pattern) {\n    // A pattern can be passed to this function, or it will be infered from the input's \"pattern\" attribute, or it's \"type\" attribute\n    pattern = (pattern || $el.attr('pattern') || $el.attr('type'));\n    var inputText = $el.val();\n    var valid = false;\n\n    if (inputText.length) {\n      // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp\n      if (this.options.patterns.hasOwnProperty(pattern)) {\n        valid = this.options.patterns[pattern].test(inputText);\n      }\n      // If the pattern name isn't also the type attribute of the field, then test it as a regexp\n      else if (pattern !== $el.attr('type')) {\n        valid = new RegExp(pattern).test(inputText);\n      }\n      else {\n        valid = true;\n      }\n    }\n    // An empty field is valid if it's not required\n    else if (!$el.prop('required')) {\n      valid = true;\n    }\n\n    return valid;\n   }\n\n  /**\n   * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.\n   * @param {String} groupName - A string that specifies the name of a radio button group\n   * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)\n   */\n  validateRadio(groupName) {\n    // If at least one radio in the group has the `required` attribute, the group is considered required\n    // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice\n    var $group = this.$element.find(`:radio[name=\"${groupName}\"]`);\n    var valid = false, required = false;\n\n    // For the group to be required, at least one radio needs to be required\n    $group.each((i, e) => {\n      if ($(e).attr('required')) {\n        required = true;\n      }\n    });\n    if(!required) valid=true;\n\n    if (!valid) {\n      // For the group to be valid, at least one radio needs to be checked\n      $group.each((i, e) => {\n        if ($(e).prop('checked')) {\n          valid = true;\n        }\n      });\n    };\n\n    return valid;\n  }\n\n  /**\n   * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator=\"foo bar baz\"` in a space separated listed.\n   * @param {Object} $el - jQuery input element.\n   * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.\n   * @param {Boolean} required - self explanatory?\n   * @returns {Boolean} - true if validations passed.\n   */\n  matchValidation($el, validators, required) {\n    required = required ? true : false;\n\n    var clear = validators.split(' ').map((v) => {\n      return this.options.validators[v]($el, required, $el.parent());\n    });\n    return clear.indexOf(false) === -1;\n  }\n\n  /**\n   * Resets form inputs and styles\n   * @fires Abide#formreset\n   */\n  resetForm() {\n    var $form = this.$element,\n        opts = this.options;\n\n    $(`.${opts.labelErrorClass}`, $form).not('small').removeClass(opts.labelErrorClass);\n    $(`.${opts.inputErrorClass}`, $form).not('small').removeClass(opts.inputErrorClass);\n    $(`${opts.formErrorSelector}.${opts.formErrorClass}`).removeClass(opts.formErrorClass);\n    $form.find('[data-abide-error]').css('display', 'none');\n    $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');\n    $(':input:radio', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');\n    $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');\n    /**\n     * Fires when the form has been reset.\n     * @event Abide#formreset\n     */\n    $form.trigger('formreset.zf.abide', [$form]);\n  }\n\n  /**\n   * Destroys an instance of Abide.\n   * Removes error styles and classes from elements, without resetting their values.\n   */\n  destroy() {\n    var _this = this;\n    this.$element\n      .off('.abide')\n      .find('[data-abide-error]')\n        .css('display', 'none');\n\n    this.$inputs\n      .off('.abide')\n      .each(function() {\n        _this.removeErrorClasses($(this));\n      });\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\n/**\n * Default settings for plugin\n */\nAbide.defaults = {\n  /**\n   * The default event to validate inputs. Checkboxes and radios validate immediately.\n   * Remove or change this value for manual validation.\n   * @option\n   * @example 'fieldChange'\n   */\n  validateOn: 'fieldChange',\n\n  /**\n   * Class to be applied to input labels on failed validation.\n   * @option\n   * @example 'is-invalid-label'\n   */\n  labelErrorClass: 'is-invalid-label',\n\n  /**\n   * Class to be applied to inputs on failed validation.\n   * @option\n   * @example 'is-invalid-input'\n   */\n  inputErrorClass: 'is-invalid-input',\n\n  /**\n   * Class selector to use to target Form Errors for show/hide.\n   * @option\n   * @example '.form-error'\n   */\n  formErrorSelector: '.form-error',\n\n  /**\n   * Class added to Form Errors on failed validation.\n   * @option\n   * @example 'is-visible'\n   */\n  formErrorClass: 'is-visible',\n\n  /**\n   * Set to true to validate text inputs on any value change.\n   * @option\n   * @example false\n   */\n  liveValidate: false,\n\n  /**\n   * Set to true to validate inputs on blur.\n   * @option\n   * @example false\n   */\n  validateOnBlur: false,\n\n  patterns: {\n    alpha : /^[a-zA-Z]+$/,\n    alpha_numeric : /^[a-zA-Z0-9]+$/,\n    integer : /^[-+]?\\d+$/,\n    number : /^[-+]?\\d*(?:[\\.\\,]\\d+)?$/,\n\n    // amex, visa, diners\n    card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/,\n    cvv : /^([0-9]){3,4}$/,\n\n    // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address\n    email : /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,\n\n    url : /^(https?|ftp|file|ssh):\\/\\/(((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-zA-Z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-zA-Z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/,\n    // abc.de\n    domain : /^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,8}$/,\n\n    datetime : /^([0-2][0-9]{3})\\-([0-1][0-9])\\-([0-3][0-9])T([0-5][0-9])\\:([0-5][0-9])\\:([0-5][0-9])(Z|([\\-\\+]([0-1][0-9])\\:00))$/,\n    // YYYY-MM-DD\n    date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,\n    // HH:MM:SS\n    time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,\n    dateISO : /^\\d{4}[\\/\\-]\\d{1,2}[\\/\\-]\\d{1,2}$/,\n    // MM/DD/YYYY\n    month_day_year : /^(0[1-9]|1[012])[- \\/.](0[1-9]|[12][0-9]|3[01])[- \\/.]\\d{4}$/,\n    // DD/MM/YYYY\n    day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \\/.](0[1-9]|1[012])[- \\/.]\\d{4}$/,\n\n    // #FFF or #FFFFFF\n    color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/\n  },\n\n  /**\n   * Optional validation functions to be used. `equalTo` being the only default included function.\n   * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:\n   * el : The jQuery element to validate.\n   * required : Boolean value of the required attribute be present or not.\n   * parent : The direct parent of the input.\n   * @option\n   */\n  validators: {\n    equalTo: function (el, required, parent) {\n      return $(`#${el.attr('data-equalto')}`).val() === el.val();\n    }\n  }\n}\n\n// Window exports\nFoundation.plugin(Abide, 'Abide');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.accordion.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Accordion module.\n * @module foundation.accordion\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n */\n\nclass Accordion {\n  /**\n   * Creates a new instance of an accordion.\n   * @class\n   * @fires Accordion#init\n   * @param {jQuery} element - jQuery object to make into an accordion.\n   * @param {Object} options - a plain object with settings to override the default options.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Accordion');\n    Foundation.Keyboard.register('Accordion', {\n      'ENTER': 'toggle',\n      'SPACE': 'toggle',\n      'ARROW_DOWN': 'next',\n      'ARROW_UP': 'previous'\n    });\n  }\n\n  /**\n   * Initializes the accordion by animating the preset active pane(s).\n   * @private\n   */\n  _init() {\n    this.$element.attr('role', 'tablist');\n    this.$tabs = this.$element.children('[data-accordion-item]');\n\n    this.$tabs.each(function(idx, el) {\n      var $el = $(el),\n          $content = $el.children('[data-tab-content]'),\n          id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),\n          linkId = el.id || `${id}-label`;\n\n      $el.find('a:first').attr({\n        'aria-controls': id,\n        'role': 'tab',\n        'id': linkId,\n        'aria-expanded': false,\n        'aria-selected': false\n      });\n\n      $content.attr({'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id});\n    });\n    var $initActive = this.$element.find('.is-active').children('[data-tab-content]');\n    if($initActive.length){\n      this.down($initActive, true);\n    }\n    this._events();\n  }\n\n  /**\n   * Adds event handlers for items within the accordion.\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    this.$tabs.each(function() {\n      var $elem = $(this);\n      var $tabContent = $elem.children('[data-tab-content]');\n      if ($tabContent.length) {\n        $elem.children('a').off('click.zf.accordion keydown.zf.accordion')\n               .on('click.zf.accordion', function(e) {\n          e.preventDefault();\n          _this.toggle($tabContent);\n        }).on('keydown.zf.accordion', function(e){\n          Foundation.Keyboard.handleKey(e, 'Accordion', {\n            toggle: function() {\n              _this.toggle($tabContent);\n            },\n            next: function() {\n              var $a = $elem.next().find('a').focus();\n              if (!_this.options.multiExpand) {\n                $a.trigger('click.zf.accordion')\n              }\n            },\n            previous: function() {\n              var $a = $elem.prev().find('a').focus();\n              if (!_this.options.multiExpand) {\n                $a.trigger('click.zf.accordion')\n              }\n            },\n            handled: function() {\n              e.preventDefault();\n              e.stopPropagation();\n            }\n          });\n        });\n      }\n    });\n  }\n\n  /**\n   * Toggles the selected content pane's open/close state.\n   * @param {jQuery} $target - jQuery object of the pane to toggle (`.accordion-content`).\n   * @function\n   */\n  toggle($target) {\n    if($target.parent().hasClass('is-active')) {\n      this.up($target);\n    } else {\n      this.down($target);\n    }\n  }\n\n  /**\n   * Opens the accordion tab defined by `$target`.\n   * @param {jQuery} $target - Accordion pane to open (`.accordion-content`).\n   * @param {Boolean} firstTime - flag to determine if reflow should happen.\n   * @fires Accordion#down\n   * @function\n   */\n  down($target, firstTime) {\n    $target\n      .attr('aria-hidden', false)\n      .parent('[data-tab-content]')\n      .addBack()\n      .parent().addClass('is-active');\n\n    if (!this.options.multiExpand && !firstTime) {\n      var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');\n      if ($currentActive.length) {\n        this.up($currentActive.not($target));\n      }\n    }\n\n    $target.slideDown(this.options.slideSpeed, () => {\n      /**\n       * Fires when the tab is done opening.\n       * @event Accordion#down\n       */\n      this.$element.trigger('down.zf.accordion', [$target]);\n    });\n\n    $(`#${$target.attr('aria-labelledby')}`).attr({\n      'aria-expanded': true,\n      'aria-selected': true\n    });\n  }\n\n  /**\n   * Closes the tab defined by `$target`.\n   * @param {jQuery} $target - Accordion tab to close (`.accordion-content`).\n   * @fires Accordion#up\n   * @function\n   */\n  up($target) {\n    var $aunts = $target.parent().siblings(),\n        _this = this;\n\n    if((!this.options.allowAllClosed && !$aunts.hasClass('is-active')) || !$target.parent().hasClass('is-active')) {\n      return;\n    }\n\n    // Foundation.Move(this.options.slideSpeed, $target, function(){\n      $target.slideUp(_this.options.slideSpeed, function () {\n        /**\n         * Fires when the tab is done collapsing up.\n         * @event Accordion#up\n         */\n        _this.$element.trigger('up.zf.accordion', [$target]);\n      });\n    // });\n\n    $target.attr('aria-hidden', true)\n           .parent().removeClass('is-active');\n\n    $(`#${$target.attr('aria-labelledby')}`).attr({\n     'aria-expanded': false,\n     'aria-selected': false\n   });\n  }\n\n  /**\n   * Destroys an instance of an accordion.\n   * @fires Accordion#destroyed\n   * @function\n   */\n  destroy() {\n    this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');\n    this.$element.find('a').off('.zf.accordion');\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nAccordion.defaults = {\n  /**\n   * Amount of time to animate the opening of an accordion pane.\n   * @option\n   * @example 250\n   */\n  slideSpeed: 250,\n  /**\n   * Allow the accordion to have multiple open panes.\n   * @option\n   * @example false\n   */\n  multiExpand: false,\n  /**\n   * Allow the accordion to close all panes.\n   * @option\n   * @example false\n   */\n  allowAllClosed: false\n};\n\n// Window exports\nFoundation.plugin(Accordion, 'Accordion');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.accordionMenu.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * AccordionMenu module.\n * @module foundation.accordionMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.nest\n */\n\nclass AccordionMenu {\n  /**\n   * Creates a new instance of an accordion menu.\n   * @class\n   * @fires AccordionMenu#init\n   * @param {jQuery} element - jQuery object to make into an accordion menu.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);\n\n    Foundation.Nest.Feather(this.$element, 'accordion');\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'AccordionMenu');\n    Foundation.Keyboard.register('AccordionMenu', {\n      'ENTER': 'toggle',\n      'SPACE': 'toggle',\n      'ARROW_RIGHT': 'open',\n      'ARROW_UP': 'up',\n      'ARROW_DOWN': 'down',\n      'ARROW_LEFT': 'close',\n      'ESCAPE': 'closeAll'\n    });\n  }\n\n\n\n  /**\n   * Initializes the accordion menu by hiding all nested menus.\n   * @private\n   */\n  _init() {\n    this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem');\n    this.$element.attr({\n      'role': 'menu',\n      'aria-multiselectable': this.options.multiOpen\n    });\n\n    this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');\n    this.$menuLinks.each(function(){\n      var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),\n          $elem = $(this),\n          $sub = $elem.children('[data-submenu]'),\n          subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),\n          isActive = $sub.hasClass('is-active');\n      $elem.attr({\n        'aria-controls': subId,\n        'aria-expanded': isActive,\n        'role': 'menuitem',\n        'id': linkId\n      });\n      $sub.attr({\n        'aria-labelledby': linkId,\n        'aria-hidden': !isActive,\n        'role': 'menu',\n        'id': subId\n      });\n    });\n    var initPanes = this.$element.find('.is-active');\n    if(initPanes.length){\n      var _this = this;\n      initPanes.each(function(){\n        _this.down($(this));\n      });\n    }\n    this._events();\n  }\n\n  /**\n   * Adds event handlers for items within the menu.\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    this.$element.find('li').each(function() {\n      var $submenu = $(this).children('[data-submenu]');\n\n      if ($submenu.length) {\n        $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {\n          e.preventDefault();\n\n          _this.toggle($submenu);\n        });\n      }\n    }).on('keydown.zf.accordionmenu', function(e){\n      var $element = $(this),\n          $elements = $element.parent('ul').children('li'),\n          $prevElement,\n          $nextElement,\n          $target = $element.children('[data-submenu]');\n\n      $elements.each(function(i) {\n        if ($(this).is($element)) {\n          $prevElement = $elements.eq(Math.max(0, i-1)).find('a').first();\n          $nextElement = $elements.eq(Math.min(i+1, $elements.length-1)).find('a').first();\n\n          if ($(this).children('[data-submenu]:visible').length) { // has open sub menu\n            $nextElement = $element.find('li:first-child').find('a').first();\n          }\n          if ($(this).is(':first-child')) { // is first element of sub menu\n            $prevElement = $element.parents('li').first().find('a').first();\n          } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { // if previous element has open sub menu\n            $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n          }\n          if ($(this).is(':last-child')) { // is last element of sub menu\n            $nextElement = $element.parents('li').first().next('li').find('a').first();\n          }\n\n          return;\n        }\n      });\n\n      Foundation.Keyboard.handleKey(e, 'AccordionMenu', {\n        open: function() {\n          if ($target.is(':hidden')) {\n            _this.down($target);\n            $target.find('li').first().find('a').first().focus();\n          }\n        },\n        close: function() {\n          if ($target.length && !$target.is(':hidden')) { // close active sub of this item\n            _this.up($target);\n          } else if ($element.parent('[data-submenu]').length) { // close currently open sub\n            _this.up($element.parent('[data-submenu]'));\n            $element.parents('li').first().find('a').first().focus();\n          }\n        },\n        up: function() {\n          $prevElement.focus();\n          return true;\n        },\n        down: function() {\n          $nextElement.focus();\n          return true;\n        },\n        toggle: function() {\n          if ($element.children('[data-submenu]').length) {\n            _this.toggle($element.children('[data-submenu]'));\n          }\n        },\n        closeAll: function() {\n          _this.hideAll();\n        },\n        handled: function(preventDefault) {\n          if (preventDefault) {\n            e.preventDefault();\n          }\n          e.stopImmediatePropagation();\n        }\n      });\n    });//.attr('tabindex', 0);\n  }\n\n  /**\n   * Closes all panes of the menu.\n   * @function\n   */\n  hideAll() {\n    this.up(this.$element.find('[data-submenu]'));\n  }\n\n  /**\n   * Opens all panes of the menu.\n   * @function\n   */\n  showAll() {\n    this.down(this.$element.find('[data-submenu]'));\n  }\n\n  /**\n   * Toggles the open/close state of a submenu.\n   * @function\n   * @param {jQuery} $target - the submenu to toggle\n   */\n  toggle($target){\n    if(!$target.is(':animated')) {\n      if (!$target.is(':hidden')) {\n        this.up($target);\n      }\n      else {\n        this.down($target);\n      }\n    }\n  }\n\n  /**\n   * Opens the sub-menu defined by `$target`.\n   * @param {jQuery} $target - Sub-menu to open.\n   * @fires AccordionMenu#down\n   */\n  down($target) {\n    var _this = this;\n\n    if(!this.options.multiOpen) {\n      this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));\n    }\n\n    $target.addClass('is-active').attr({'aria-hidden': false})\n      .parent('.is-accordion-submenu-parent').attr({'aria-expanded': true});\n\n      //Foundation.Move(this.options.slideSpeed, $target, function() {\n        $target.slideDown(_this.options.slideSpeed, function () {\n          /**\n           * Fires when the menu is done opening.\n           * @event AccordionMenu#down\n           */\n          _this.$element.trigger('down.zf.accordionMenu', [$target]);\n        });\n      //});\n  }\n\n  /**\n   * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n   * @param {jQuery} $target - Sub-menu to close.\n   * @fires AccordionMenu#up\n   */\n  up($target) {\n    var _this = this;\n    //Foundation.Move(this.options.slideSpeed, $target, function(){\n      $target.slideUp(_this.options.slideSpeed, function () {\n        /**\n         * Fires when the menu is done collapsing up.\n         * @event AccordionMenu#up\n         */\n        _this.$element.trigger('up.zf.accordionMenu', [$target]);\n      });\n    //});\n\n    var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);\n\n    $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n  }\n\n  /**\n   * Destroys an instance of accordion menu.\n   * @fires AccordionMenu#destroyed\n   */\n  destroy() {\n    this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n    this.$element.find('a').off('click.zf.accordionMenu');\n\n    Foundation.Nest.Burn(this.$element, 'accordion');\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nAccordionMenu.defaults = {\n  /**\n   * Amount of time to animate the opening of a submenu in ms.\n   * @option\n   * @example 250\n   */\n  slideSpeed: 250,\n  /**\n   * Allow the menu to have multiple open panes.\n   * @option\n   * @example true\n   */\n  multiOpen: true\n};\n\n// Window exports\nFoundation.plugin(AccordionMenu, 'AccordionMenu');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.core.js",
    "content": "!function($) {\n\n\"use strict\";\n\nvar FOUNDATION_VERSION = '6.3.0';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n  version: FOUNDATION_VERSION,\n\n  /**\n   * Stores initialized plugins.\n   */\n  _plugins: {},\n\n  /**\n   * Stores generated unique ids for plugin instances\n   */\n  _uuids: [],\n\n  /**\n   * Returns a boolean for RTL support\n   */\n  rtl: function(){\n    return $('html').attr('dir') === 'rtl';\n  },\n  /**\n   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n   * @param {Object} plugin - The constructor of the plugin.\n   */\n  plugin: function(plugin, name) {\n    // Object key to use when adding to global Foundation object\n    // Examples: Foundation.Reveal, Foundation.OffCanvas\n    var className = (name || functionName(plugin));\n    // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n    // Examples: data-reveal, data-off-canvas\n    var attrName  = hyphenate(className);\n\n    // Add to the Foundation object and the plugins list (for reflowing)\n    this._plugins[attrName] = this[className] = plugin;\n  },\n  /**\n   * @function\n   * Populates the _uuids array with pointers to each individual plugin instance.\n   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n   * Also fires the initialization event for each plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @param {String} name - the name of the plugin, passed as a camelCased string.\n   * @fires Plugin#init\n   */\n  registerPlugin: function(plugin, name){\n    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n    plugin.uuid = this.GetYoDigits(6, pluginName);\n\n    if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }\n    if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }\n          /**\n           * Fires when the plugin has initialized.\n           * @event Plugin#init\n           */\n    plugin.$element.trigger(`init.zf.${pluginName}`);\n\n    this._uuids.push(plugin.uuid);\n\n    return;\n  },\n  /**\n   * @function\n   * Removes the plugins uuid from the _uuids array.\n   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n   * Also fires the destroyed event for the plugin, consolidating repetitive code.\n   * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n   * @fires Plugin#destroyed\n   */\n  unregisterPlugin: function(plugin){\n    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n    plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n          /**\n           * Fires when the plugin has been destroyed.\n           * @event Plugin#destroyed\n           */\n          .trigger(`destroyed.zf.${pluginName}`);\n    for(var prop in plugin){\n      plugin[prop] = null;//clean up script to prep for garbage collection.\n    }\n    return;\n  },\n\n  /**\n   * @function\n   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n   * @default If no argument is passed, reflow all currently active plugins.\n   */\n   reInit: function(plugins){\n     var isJQ = plugins instanceof $;\n     try{\n       if(isJQ){\n         plugins.each(function(){\n           $(this).data('zfPlugin')._init();\n         });\n       }else{\n         var type = typeof plugins,\n         _this = this,\n         fns = {\n           'object': function(plgs){\n             plgs.forEach(function(p){\n               p = hyphenate(p);\n               $('[data-'+ p +']').foundation('_init');\n             });\n           },\n           'string': function(){\n             plugins = hyphenate(plugins);\n             $('[data-'+ plugins +']').foundation('_init');\n           },\n           'undefined': function(){\n             this['object'](Object.keys(_this._plugins));\n           }\n         };\n         fns[type](plugins);\n       }\n     }catch(err){\n       console.error(err);\n     }finally{\n       return plugins;\n     }\n   },\n\n  /**\n   * returns a random base-36 uid with namespacing\n   * @function\n   * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n   * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n   * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n   * @returns {String} - unique id\n   */\n  GetYoDigits: function(length, namespace){\n    length = length || 6;\n    return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1) + (namespace ? `-${namespace}` : '');\n  },\n  /**\n   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n   */\n  reflow: function(elem, plugins) {\n\n    // If plugins is undefined, just grab everything\n    if (typeof plugins === 'undefined') {\n      plugins = Object.keys(this._plugins);\n    }\n    // If plugins is a string, convert it to an array with one item\n    else if (typeof plugins === 'string') {\n      plugins = [plugins];\n    }\n\n    var _this = this;\n\n    // Iterate through each plugin\n    $.each(plugins, function(i, name) {\n      // Get the current plugin\n      var plugin = _this._plugins[name];\n\n      // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n      var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']');\n\n      // For each plugin found, initialize it\n      $elem.each(function() {\n        var $el = $(this),\n            opts = {};\n        // Don't double-dip on plugins\n        if ($el.data('zfPlugin')) {\n          console.warn(\"Tried to initialize \"+name+\" on an element that already has a Foundation plugin.\");\n          return;\n        }\n\n        if($el.attr('data-options')){\n          var thing = $el.attr('data-options').split(';').forEach(function(e, i){\n            var opt = e.split(':').map(function(el){ return el.trim(); });\n            if(opt[0]) opts[opt[0]] = parseValue(opt[1]);\n          });\n        }\n        try{\n          $el.data('zfPlugin', new plugin($(this), opts));\n        }catch(er){\n          console.error(er);\n        }finally{\n          return;\n        }\n      });\n    });\n  },\n  getFnName: functionName,\n  transitionend: function($elem){\n    var transitions = {\n      'transition': 'transitionend',\n      'WebkitTransition': 'webkitTransitionEnd',\n      'MozTransition': 'transitionend',\n      'OTransition': 'otransitionend'\n    };\n    var elem = document.createElement('div'),\n        end;\n\n    for (var t in transitions){\n      if (typeof elem.style[t] !== 'undefined'){\n        end = transitions[t];\n      }\n    }\n    if(end){\n      return end;\n    }else{\n      end = setTimeout(function(){\n        $elem.triggerHandler('transitionend', [$elem]);\n      }, 1);\n      return 'transitionend';\n    }\n  }\n};\n\nFoundation.util = {\n  /**\n   * Function for applying a debounce effect to a function call.\n   * @function\n   * @param {Function} func - Function to be called at end of timeout.\n   * @param {Number} delay - Time in ms to delay the call of `func`.\n   * @returns function\n   */\n  throttle: function (func, delay) {\n    var timer = null;\n\n    return function () {\n      var context = this, args = arguments;\n\n      if (timer === null) {\n        timer = setTimeout(function () {\n          func.apply(context, args);\n          timer = null;\n        }, delay);\n      }\n    };\n  }\n};\n\n// TODO: consider not making this a jQuery function\n// TODO: need way to reflow vs. re-initialize\n/**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\nvar foundation = function(method) {\n  var type = typeof method,\n      $meta = $('meta.foundation-mq'),\n      $noJS = $('.no-js');\n\n  if(!$meta.length){\n    $('<meta class=\"foundation-mq\">').appendTo(document.head);\n  }\n  if($noJS.length){\n    $noJS.removeClass('no-js');\n  }\n\n  if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.\n    Foundation.MediaQuery._init();\n    Foundation.reflow(this);\n  }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins\n    var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary\n    var plugClass = this.data('zfPlugin');//determine the class of plugin\n\n    if(plugClass !== undefined && plugClass[method] !== undefined){//make sure both the class and method exist\n      if(this.length === 1){//if there's only one, call it directly.\n          plugClass[method].apply(plugClass, args);\n      }else{\n        this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each\n          plugClass[method].apply($(el).data('zfPlugin'), args);\n        });\n      }\n    }else{//error for no class or no method\n      throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n    }\n  }else{//error for invalid argument type\n    throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);\n  }\n  return this;\n};\n\nwindow.Foundation = Foundation;\n$.fn.foundation = foundation;\n\n// Polyfill for requestAnimationFrame\n(function() {\n  if (!Date.now || !window.Date.now)\n    window.Date.now = Date.now = function() { return new Date().getTime(); };\n\n  var vendors = ['webkit', 'moz'];\n  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n      window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n                                 || window[vp+'CancelRequestAnimationFrame']);\n  }\n  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n    || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n    var lastTime = 0;\n    window.requestAnimationFrame = function(callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function() { callback(lastTime = nextTime); },\n                          nextTime - now);\n    };\n    window.cancelAnimationFrame = clearTimeout;\n  }\n  /**\n   * Polyfill for performance.now, required by rAF\n   */\n  if(!window.performance || !window.performance.now){\n    window.performance = {\n      start: Date.now(),\n      now: function(){ return Date.now() - this.start; }\n    };\n  }\n})();\nif (!Function.prototype.bind) {\n  Function.prototype.bind = function(oThis) {\n    if (typeof this !== 'function') {\n      // closest thing possible to the ECMAScript 5\n      // internal IsCallable function\n      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n    }\n\n    var aArgs   = Array.prototype.slice.call(arguments, 1),\n        fToBind = this,\n        fNOP    = function() {},\n        fBound  = function() {\n          return fToBind.apply(this instanceof fNOP\n                 ? this\n                 : oThis,\n                 aArgs.concat(Array.prototype.slice.call(arguments)));\n        };\n\n    if (this.prototype) {\n      // native functions don't have a prototype\n      fNOP.prototype = this.prototype;\n    }\n    fBound.prototype = new fNOP();\n\n    return fBound;\n  };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n  if (Function.prototype.name === undefined) {\n    var funcNameRegex = /function\\s([^(]{1,})\\(/;\n    var results = (funcNameRegex).exec((fn).toString());\n    return (results && results.length > 1) ? results[1].trim() : \"\";\n  }\n  else if (fn.prototype === undefined) {\n    return fn.constructor.name;\n  }\n  else {\n    return fn.prototype.constructor.name;\n  }\n}\nfunction parseValue(str){\n  if ('true' === str) return true;\n  else if ('false' === str) return false;\n  else if (!isNaN(str * 1)) return parseFloat(str);\n  return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.drilldown.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Drilldown module.\n * @module foundation.drilldown\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.nest\n */\n\nclass Drilldown {\n  /**\n   * Creates a new instance of a drilldown menu.\n   * @class\n   * @param {jQuery} element - jQuery object to make into an accordion menu.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);\n\n    Foundation.Nest.Feather(this.$element, 'drilldown');\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Drilldown');\n    Foundation.Keyboard.register('Drilldown', {\n      'ENTER': 'open',\n      'SPACE': 'open',\n      'ARROW_RIGHT': 'next',\n      'ARROW_UP': 'up',\n      'ARROW_DOWN': 'down',\n      'ARROW_LEFT': 'previous',\n      'ESCAPE': 'close',\n      'TAB': 'down',\n      'SHIFT_TAB': 'up'\n    });\n  }\n\n  /**\n   * Initializes the drilldown by creating jQuery collections of elements\n   * @private\n   */\n  _init() {\n    this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n    this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');\n    this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');\n    this.$element.attr('data-mutate', (this.$element.attr('data-drilldown') || Foundation.GetYoDigits(6, 'drilldown')));\n\n    this._prepareMenu();\n    this._registerEvents();\n\n    this._keyboardEvents();\n  }\n\n  /**\n   * prepares drilldown menu by setting attributes to links and elements\n   * sets a min height to prevent content jumping\n   * wraps the element if not already wrapped\n   * @private\n   * @function\n   */\n  _prepareMenu() {\n    var _this = this;\n    // if(!this.options.holdOpen){\n    //   this._menuLinkEvents();\n    // }\n    this.$submenuAnchors.each(function(){\n      var $link = $(this);\n      var $sub = $link.parent();\n      if(_this.options.parentLink){\n        $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class=\"is-submenu-parent-item is-submenu-item is-drilldown-submenu-item\" role=\"menu-item\"></li>');\n      }\n      $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n      $link.children('[data-submenu]')\n          .attr({\n            'aria-hidden': true,\n            'tabindex': 0,\n            'role': 'menu'\n          });\n      _this._events($link);\n    });\n    this.$submenus.each(function(){\n      var $menu = $(this),\n          $back = $menu.find('.js-drilldown-back');\n      if(!$back.length){\n        switch (_this.options.backButtonPosition) {\n          case \"bottom\":\n            $menu.append(_this.options.backButton);\n            break;\n          case \"top\":\n            $menu.prepend(_this.options.backButton);\n            break;\n          default:\n            console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n        }\n      }\n      _this._back($menu);\n    });\n\n    if(!this.options.autoHeight) {\n      this.$submenus.addClass('drilldown-submenu-cover-previous');\n    }\n\n    if(!this.$element.parent().hasClass('is-drilldown')){\n      this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');\n      if(this.options.animateHeight) this.$wrapper.addClass('animate-height');\n      this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());\n    }\n  }\n\n  _resize() {\n    this.$wrapper.css({'max-width': 'none', 'min-height': 'none'});\n    // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n    this.$wrapper.css(this._getMaxDims());\n  }\n\n  /**\n   * Adds event handlers to elements in the menu.\n   * @function\n   * @private\n   * @param {jQuery} $elem - the current menu item to add handlers to.\n   */\n  _events($elem) {\n    var _this = this;\n\n    $elem.off('click.zf.drilldown')\n    .on('click.zf.drilldown', function(e){\n      if($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')){\n        e.stopImmediatePropagation();\n        e.preventDefault();\n      }\n\n      // if(e.target !== e.currentTarget.firstElementChild){\n      //   return false;\n      // }\n      _this._show($elem.parent('li'));\n\n      if(_this.options.closeOnClick){\n        var $body = $('body');\n        $body.off('.zf.drilldown').on('click.zf.drilldown', function(e){\n          if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }\n          e.preventDefault();\n          _this._hideAll();\n          $body.off('.zf.drilldown');\n        });\n      }\n    });\n\t  this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n  }\n\n  /**\n   * Adds event handlers to the menu element.\n   * @function\n   * @private\n   */\n  _registerEvents() {\n    if(this.options.scrollTop){\n      this._bindHandler = this._scrollTop.bind(this);\n      this.$element.on('open.zf.drilldown hide.zf.drilldown closed.zf.drilldown',this._bindHandler);\n    }\n  }\n\n  /**\n   * Scroll to Top of Element or data-scroll-top-element\n   * @function\n   * @fires Drilldown#scrollme\n   */\n  _scrollTop() {\n    var _this = this;\n    var $scrollTopElement = _this.options.scrollTopElement!=''?$(_this.options.scrollTopElement):_this.$element,\n        scrollPos = parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset);\n    $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing,function(){\n      /**\n        * Fires after the menu has scrolled\n        * @event Drilldown#scrollme\n        */\n      if(this===$('html')[0])_this.$element.trigger('scrollme.zf.drilldown');\n    });\n  }\n\n  /**\n   * Adds keydown event listener to `li`'s in the menu.\n   * @private\n   */\n  _keyboardEvents() {\n    var _this = this;\n\n    this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function(e){\n      var $element = $(this),\n          $elements = $element.parent('li').parent('ul').children('li').children('a'),\n          $prevElement,\n          $nextElement;\n\n      $elements.each(function(i) {\n        if ($(this).is($element)) {\n          $prevElement = $elements.eq(Math.max(0, i-1));\n          $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n          return;\n        }\n      });\n\n      Foundation.Keyboard.handleKey(e, 'Drilldown', {\n        next: function() {\n          if ($element.is(_this.$submenuAnchors)) {\n            _this._show($element.parent('li'));\n            $element.parent('li').one(Foundation.transitionend($element), function(){\n              $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n            });\n            return true;\n          }\n        },\n        previous: function() {\n          _this._hide($element.parent('li').parent('ul'));\n          $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){\n            setTimeout(function() {\n              $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n            }, 1);\n          });\n          return true;\n        },\n        up: function() {\n          $prevElement.focus();\n          return true;\n        },\n        down: function() {\n          $nextElement.focus();\n          return true;\n        },\n        close: function() {\n          _this._back();\n          //_this.$menuItems.first().focus(); // focus to first element\n        },\n        open: function() {\n          if (!$element.is(_this.$menuItems)) { // not menu item means back button\n            _this._hide($element.parent('li').parent('ul'));\n            $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){\n              setTimeout(function() {\n                $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n              }, 1);\n            });\n            return true;\n          } else if ($element.is(_this.$submenuAnchors)) {\n            _this._show($element.parent('li'));\n            $element.parent('li').one(Foundation.transitionend($element), function(){\n              $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();\n            });\n            return true;\n          }\n        },\n        handled: function(preventDefault) {\n          if (preventDefault) {\n            e.preventDefault();\n          }\n          e.stopImmediatePropagation();\n        }\n      });\n    }); // end keyboardAccess\n  }\n\n  /**\n   * Closes all open elements, and returns to root menu.\n   * @function\n   * @fires Drilldown#closed\n   */\n  _hideAll() {\n    var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');\n    if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});\n    $elem.one(Foundation.transitionend($elem), function(e){\n      $elem.removeClass('is-active is-closing');\n    });\n        /**\n         * Fires when the menu is fully closed.\n         * @event Drilldown#closed\n         */\n    this.$element.trigger('closed.zf.drilldown');\n  }\n\n  /**\n   * Adds event listener for each `back` button, and closes open menus.\n   * @function\n   * @fires Drilldown#back\n   * @param {jQuery} $elem - the current sub-menu to add `back` event.\n   */\n  _back($elem) {\n    var _this = this;\n    $elem.off('click.zf.drilldown');\n    $elem.children('.js-drilldown-back')\n      .on('click.zf.drilldown', function(e){\n        e.stopImmediatePropagation();\n        // console.log('mouseup on back');\n        _this._hide($elem);\n\n        // If there is a parent submenu, call show\n        let parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n        if (parentSubMenu.length) {\n          _this._show(parentSubMenu);\n        }\n      });\n  }\n\n  /**\n   * Adds event listener to menu items w/o submenus to close open menus on click.\n   * @function\n   * @private\n   */\n  _menuLinkEvents() {\n    var _this = this;\n    this.$menuItems.not('.is-drilldown-submenu-parent')\n        .off('click.zf.drilldown')\n        .on('click.zf.drilldown', function(e){\n          // e.stopImmediatePropagation();\n          setTimeout(function(){\n            _this._hideAll();\n          }, 0);\n      });\n  }\n\n  /**\n   * Opens a submenu.\n   * @function\n   * @fires Drilldown#open\n   * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n   */\n  _show($elem) {\n    if(this.options.autoHeight) this.$wrapper.css({height:$elem.children('[data-submenu]').data('calcHeight')});\n    $elem.attr('aria-expanded', true);\n    $elem.children('[data-submenu]').addClass('is-active').attr('aria-hidden', false);\n    /**\n     * Fires when the submenu has opened.\n     * @event Drilldown#open\n     */\n    this.$element.trigger('open.zf.drilldown', [$elem]);\n  };\n\n  /**\n   * Hides a submenu\n   * @function\n   * @fires Drilldown#hide\n   * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n   */\n  _hide($elem) {\n    if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});\n    var _this = this;\n    $elem.parent('li').attr('aria-expanded', false);\n    $elem.attr('aria-hidden', true).addClass('is-closing')\n    $elem.addClass('is-closing')\n         .one(Foundation.transitionend($elem), function(){\n           $elem.removeClass('is-active is-closing');\n           $elem.blur();\n         });\n    /**\n     * Fires when the submenu has closed.\n     * @event Drilldown#hide\n     */\n    $elem.trigger('hide.zf.drilldown', [$elem]);\n  }\n\n  /**\n   * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n   * Prevents content jumping.\n   * @function\n   * @private\n   */\n  _getMaxDims() {\n    var  maxHeight = 0, result = {}, _this = this;\n    this.$submenus.add(this.$element).each(function(){\n      var numOfElems = $(this).children('li').length;\n      var height = Foundation.Box.GetDimensions(this).height;\n      maxHeight = height > maxHeight ? height : maxHeight;\n      if(_this.options.autoHeight) {\n        $(this).data('calcHeight',height);\n        if (!$(this).hasClass('is-drilldown-submenu')) result['height'] = height;\n      }\n    });\n\n    if(!this.options.autoHeight) result['min-height'] = `${maxHeight}px`;\n\n    result['max-width'] = `${this.$element[0].getBoundingClientRect().width}px`;\n\n    return result;\n  }\n\n  /**\n   * Destroys the Drilldown Menu\n   * @function\n   */\n  destroy() {\n    if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler);\n    this._hideAll();\n\t  this.$element.off('mutateme.zf.trigger');\n    Foundation.Nest.Burn(this.$element, 'drilldown');\n    this.$element.unwrap()\n                 .find('.js-drilldown-back, .is-submenu-parent-item').remove()\n                 .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu')\n                 .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n    this.$submenuAnchors.each(function() {\n      $(this).off('.zf.drilldown');\n    });\n\n    this.$submenus.removeClass('drilldown-submenu-cover-previous');\n\n    this.$element.find('a').each(function(){\n      var $link = $(this);\n      $link.removeAttr('tabindex');\n      if($link.data('savedHref')){\n        $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n      }else{ return; }\n    });\n    Foundation.unregisterPlugin(this);\n  };\n}\n\nDrilldown.defaults = {\n  /**\n   * Markup used for JS generated back button. Prepended  or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n   * @option\n   * @example '<\\li><\\a>Back<\\/a><\\/li>'\n   */\n  backButton: '<li class=\"js-drilldown-back\"><a tabindex=\"0\">Back</a></li>',\n  /**\n   * Position the back button either at the top or bottom of drilldown submenus.\n   * @option\n   * @example bottom\n   */\n  backButtonPosition: 'top',\n  /**\n   * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n   * @option\n   * @example '<\\div class=\"is-drilldown\"><\\/div>'\n   */\n  wrapper: '<div></div>',\n  /**\n   * Adds the parent link to the submenu.\n   * @option\n   * @example false\n   */\n  parentLink: false,\n  /**\n   * Allow the menu to return to root list on body click.\n   * @option\n   * @example false\n   */\n  closeOnClick: false,\n  /**\n   * Allow the menu to auto adjust height.\n   * @option\n   * @example false\n   */\n  autoHeight: false,\n  /**\n   * Animate the auto adjust height.\n   * @option\n   * @example false\n   */\n  animateHeight: false,\n  /**\n   * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n   * @option\n   * @example false\n   */\n  scrollTop: false,\n  /**\n   * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n   * @option\n   * @example ''\n   */\n  scrollTopElement: '',\n  /**\n   * ScrollTop offset\n   * @option\n   * @example 100\n   */\n  scrollTopOffset: 0,\n  /**\n   * Scroll animation duration\n   * @option\n   * @example 500\n   */\n  animationDuration: 500,\n  /**\n   * Scroll animation easing\n   * @option\n   * @example 'swing'\n   */\n  animationEasing: 'swing'\n  // holdOpen: false\n};\n\n// Window exports\nFoundation.plugin(Drilldown, 'Drilldown');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.dropdown.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.triggers\n */\n\nclass Dropdown {\n  /**\n   * Creates a new instance of a dropdown.\n   * @class\n   * @param {jQuery} element - jQuery object to make into a dropdown.\n   *        Object should be of the dropdown panel, rather than its anchor.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n    this._init();\n\n    Foundation.registerPlugin(this, 'Dropdown');\n    Foundation.Keyboard.register('Dropdown', {\n      'ENTER': 'open',\n      'SPACE': 'open',\n      'ESCAPE': 'close'\n    });\n  }\n\n  /**\n   * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n   * @function\n   * @private\n   */\n  _init() {\n    var $id = this.$element.attr('id');\n\n    this.$anchor = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n    this.$anchor.attr({\n      'aria-controls': $id,\n      'data-is-focus': false,\n      'data-yeti-box': $id,\n      'aria-haspopup': true,\n      'aria-expanded': false\n\n    });\n\n    if(this.options.parentClass){\n      this.$parent = this.$element.parents('.' + this.options.parentClass);\n    }else{\n      this.$parent = null;\n    }\n    this.options.positionClass = this.getPositionClass();\n    this.counter = 4;\n    this.usedPositions = [];\n    this.$element.attr({\n      'aria-hidden': 'true',\n      'data-yeti-box': $id,\n      'data-resize': $id,\n      'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')\n    });\n    this._events();\n  }\n\n  /**\n   * Helper function to determine current orientation of dropdown pane.\n   * @function\n   * @returns {String} position - string value of a position class.\n   */\n  getPositionClass() {\n    var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);\n        verticalPosition = verticalPosition ? verticalPosition[0] : '';\n    var horizontalPosition = /float-(\\S+)/.exec(this.$anchor[0].className);\n        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';\n    var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;\n\n    return position;\n  }\n\n  /**\n   * Adjusts the dropdown panes orientation by adding/removing positioning classes.\n   * @function\n   * @private\n   * @param {String} position - position class to remove.\n   */\n  _reposition(position) {\n    this.usedPositions.push(position ? position : 'bottom');\n    //default, try switching to opposite side\n    if(!position && (this.usedPositions.indexOf('top') < 0)){\n      this.$element.addClass('top');\n    }else if(position === 'top' && (this.usedPositions.indexOf('bottom') < 0)){\n      this.$element.removeClass(position);\n    }else if(position === 'left' && (this.usedPositions.indexOf('right') < 0)){\n      this.$element.removeClass(position)\n          .addClass('right');\n    }else if(position === 'right' && (this.usedPositions.indexOf('left') < 0)){\n      this.$element.removeClass(position)\n          .addClass('left');\n    }\n\n    //if default change didn't work, try bottom or left first\n    else if(!position && (this.usedPositions.indexOf('top') > -1) && (this.usedPositions.indexOf('left') < 0)){\n      this.$element.addClass('left');\n    }else if(position === 'top' && (this.usedPositions.indexOf('bottom') > -1) && (this.usedPositions.indexOf('left') < 0)){\n      this.$element.removeClass(position)\n          .addClass('left');\n    }else if(position === 'left' && (this.usedPositions.indexOf('right') > -1) && (this.usedPositions.indexOf('bottom') < 0)){\n      this.$element.removeClass(position);\n    }else if(position === 'right' && (this.usedPositions.indexOf('left') > -1) && (this.usedPositions.indexOf('bottom') < 0)){\n      this.$element.removeClass(position);\n    }\n    //if nothing cleared, set to bottom\n    else{\n      this.$element.removeClass(position);\n    }\n    this.classChanged = true;\n    this.counter--;\n  }\n\n  /**\n   * Sets the position and orientation of the dropdown pane, checks for collisions.\n   * Recursively calls itself if a collision is detected, with a new position class.\n   * @function\n   * @private\n   */\n  _setPosition() {\n    if(this.$anchor.attr('aria-expanded') === 'false'){ return false; }\n    var position = this.getPositionClass(),\n        $eleDims = Foundation.Box.GetDimensions(this.$element),\n        $anchorDims = Foundation.Box.GetDimensions(this.$anchor),\n        _this = this,\n        direction = (position === 'left' ? 'left' : ((position === 'right') ? 'left' : 'top')),\n        param = (direction === 'top') ? 'height' : 'width',\n        offset = (param === 'height') ? this.options.vOffset : this.options.hOffset;\n\n    if(($eleDims.width >= $eleDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent))){\n      var newWidth = $eleDims.windowDims.width,\n          parentHOffset = 0;\n      if(this.$parent){\n        var $parentDims = Foundation.Box.GetDimensions(this.$parent),\n            parentHOffset = $parentDims.offset.left;\n        if ($parentDims.width < newWidth){\n          newWidth = $parentDims.width;\n        }\n      }\n\n      this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset + parentHOffset, true)).css({\n        'width': newWidth - (this.options.hOffset * 2),\n        'height': 'auto'\n      });\n      this.classChanged = true;\n      return false;\n    }\n\n    this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));\n\n    while(!Foundation.Box.ImNotTouchingYou(this.$element, this.$parent, true) && this.counter){\n      this._reposition(position);\n      this._setPosition();\n    }\n  }\n\n  /**\n   * Adds event listeners to the element utilizing the triggers utility library.\n   * @function\n   * @private\n   */\n  _events() {\n    var _this = this;\n    this.$element.on({\n      'open.zf.trigger': this.open.bind(this),\n      'close.zf.trigger': this.close.bind(this),\n      'toggle.zf.trigger': this.toggle.bind(this),\n      'resizeme.zf.trigger': this._setPosition.bind(this)\n    });\n\n    if(this.options.hover){\n      this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n      .on('mouseenter.zf.dropdown', function(){\n        var bodyData = $('body').data();\n        if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n          clearTimeout(_this.timeout);\n          _this.timeout = setTimeout(function(){\n            _this.open();\n            _this.$anchor.data('hover', true);\n          }, _this.options.hoverDelay);\n        }\n      }).on('mouseleave.zf.dropdown', function(){\n        clearTimeout(_this.timeout);\n        _this.timeout = setTimeout(function(){\n          _this.close();\n          _this.$anchor.data('hover', false);\n        }, _this.options.hoverDelay);\n      });\n      if(this.options.hoverPane){\n        this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n            .on('mouseenter.zf.dropdown', function(){\n              clearTimeout(_this.timeout);\n            }).on('mouseleave.zf.dropdown', function(){\n              clearTimeout(_this.timeout);\n              _this.timeout = setTimeout(function(){\n                _this.close();\n                _this.$anchor.data('hover', false);\n              }, _this.options.hoverDelay);\n            });\n      }\n    }\n    this.$anchor.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n      var $target = $(this),\n        visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);\n\n      Foundation.Keyboard.handleKey(e, 'Dropdown', {\n        open: function() {\n          if ($target.is(_this.$anchor)) {\n            _this.open();\n            _this.$element.attr('tabindex', -1).focus();\n            e.preventDefault();\n          }\n        },\n        close: function() {\n          _this.close();\n          _this.$anchor.focus();\n        }\n      });\n    });\n  }\n\n  /**\n   * Adds an event handler to the body to close any dropdowns on a click.\n   * @function\n   * @private\n   */\n  _addBodyHandler() {\n     var $body = $(document.body).not(this.$element),\n         _this = this;\n     $body.off('click.zf.dropdown')\n          .on('click.zf.dropdown', function(e){\n            if(_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {\n              return;\n            }\n            if(_this.$element.find(e.target).length) {\n              return;\n            }\n            _this.close();\n            $body.off('click.zf.dropdown');\n          });\n  }\n\n  /**\n   * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n   * @function\n   * @fires Dropdown#closeme\n   * @fires Dropdown#show\n   */\n  open() {\n    // var _this = this;\n    /**\n     * Fires to close other open dropdowns\n     * @event Dropdown#closeme\n     */\n    this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n    this.$anchor.addClass('hover')\n        .attr({'aria-expanded': true});\n    // this.$element/*.show()*/;\n    this._setPosition();\n    this.$element.addClass('is-open')\n        .attr({'aria-hidden': false});\n\n    if(this.options.autoFocus){\n      var $focusable = Foundation.Keyboard.findFocusable(this.$element);\n      if($focusable.length){\n        $focusable.eq(0).focus();\n      }\n    }\n\n    if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n    if (this.options.trapFocus) {\n      Foundation.Keyboard.trapFocus(this.$element);\n    }\n\n    /**\n     * Fires once the dropdown is visible.\n     * @event Dropdown#show\n     */\n    this.$element.trigger('show.zf.dropdown', [this.$element]);\n  }\n\n  /**\n   * Closes the open dropdown pane.\n   * @function\n   * @fires Dropdown#hide\n   */\n  close() {\n    if(!this.$element.hasClass('is-open')){\n      return false;\n    }\n    this.$element.removeClass('is-open')\n        .attr({'aria-hidden': true});\n\n    this.$anchor.removeClass('hover')\n        .attr('aria-expanded', false);\n\n    if(this.classChanged){\n      var curPositionClass = this.getPositionClass();\n      if(curPositionClass){\n        this.$element.removeClass(curPositionClass);\n      }\n      this.$element.addClass(this.options.positionClass)\n          /*.hide()*/.css({height: '', width: ''});\n      this.classChanged = false;\n      this.counter = 4;\n      this.usedPositions.length = 0;\n    }\n    this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n    if (this.options.trapFocus) {\n      Foundation.Keyboard.releaseFocus(this.$element);\n    }\n  }\n\n  /**\n   * Toggles the dropdown pane's visibility.\n   * @function\n   */\n  toggle() {\n    if(this.$element.hasClass('is-open')){\n      if(this.$anchor.data('hover')) return;\n      this.close();\n    }else{\n      this.open();\n    }\n  }\n\n  /**\n   * Destroys the dropdown.\n   * @function\n   */\n  destroy() {\n    this.$element.off('.zf.trigger').hide();\n    this.$anchor.off('.zf.dropdown');\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nDropdown.defaults = {\n  /**\n   * Class that designates bounding container of Dropdown (Default: window)\n   * @option\n   * @example 'dropdown-parent'\n   */\n  parentClass: null,\n  /**\n   * Amount of time to delay opening a submenu on hover event.\n   * @option\n   * @example 250\n   */\n  hoverDelay: 250,\n  /**\n   * Allow submenus to open on hover events\n   * @option\n   * @example false\n   */\n  hover: false,\n  /**\n   * Don't close dropdown when hovering over dropdown pane\n   * @option\n   * @example true\n   */\n  hoverPane: false,\n  /**\n   * Number of pixels between the dropdown pane and the triggering element on open.\n   * @option\n   * @example 1\n   */\n  vOffset: 1,\n  /**\n   * Number of pixels between the dropdown pane and the triggering element on open.\n   * @option\n   * @example 1\n   */\n  hOffset: 1,\n  /**\n   * Class applied to adjust open position. JS will test and fill this in.\n   * @option\n   * @example 'top'\n   */\n  positionClass: '',\n  /**\n   * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n   * @option\n   * @example false\n   */\n  trapFocus: false,\n  /**\n   * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n   * @option\n   * @example true\n   */\n  autoFocus: false,\n  /**\n   * Allows a click on the body to close the dropdown.\n   * @option\n   * @example false\n   */\n  closeOnClick: false\n}\n\n// Window exports\nFoundation.plugin(Dropdown, 'Dropdown');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.dropdownMenu.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * DropdownMenu module.\n * @module foundation.dropdown-menu\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.nest\n */\n\nclass DropdownMenu {\n  /**\n   * Creates a new instance of DropdownMenu.\n   * @class\n   * @fires DropdownMenu#init\n   * @param {jQuery} element - jQuery object to make into a dropdown menu.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n\n    Foundation.Nest.Feather(this.$element, 'dropdown');\n    this._init();\n\n    Foundation.registerPlugin(this, 'DropdownMenu');\n    Foundation.Keyboard.register('DropdownMenu', {\n      'ENTER': 'open',\n      'SPACE': 'open',\n      'ARROW_RIGHT': 'next',\n      'ARROW_UP': 'up',\n      'ARROW_DOWN': 'down',\n      'ARROW_LEFT': 'previous',\n      'ESCAPE': 'close'\n    });\n  }\n\n  /**\n   * Initializes the plugin, and calls _prepareMenu\n   * @private\n   * @function\n   */\n  _init() {\n    var subs = this.$element.find('li.is-dropdown-submenu-parent');\n    this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n\n    this.$menuItems = this.$element.find('[role=\"menuitem\"]');\n    this.$tabs = this.$element.children('[role=\"menuitem\"]');\n    this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n    if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {\n      this.options.alignment = 'right';\n      subs.addClass('opens-left');\n    } else {\n      subs.addClass('opens-right');\n    }\n    this.changed = false;\n    this._events();\n  };\n\n  _isVertical() {\n    return this.$tabs.css('display') === 'block';\n  }\n\n  /**\n   * Adds event listeners to elements within the menu\n   * @private\n   * @function\n   */\n  _events() {\n    var _this = this,\n        hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined'),\n        parClass = 'is-dropdown-submenu-parent';\n\n    // used for onClick and in the keyboard handlers\n    var handleClickFn = function(e) {\n      var $elem = $(e.target).parentsUntil('ul', `.${parClass}`),\n          hasSub = $elem.hasClass(parClass),\n          hasClicked = $elem.attr('data-is-click') === 'true',\n          $sub = $elem.children('.is-dropdown-submenu');\n\n      if (hasSub) {\n        if (hasClicked) {\n          if (!_this.options.closeOnClick || (!_this.options.clickOpen && !hasTouch) || (_this.options.forceFollow && hasTouch)) { return; }\n          else {\n            e.stopImmediatePropagation();\n            e.preventDefault();\n            _this._hide($elem);\n          }\n        } else {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n          _this._show($sub);\n          $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);\n        }\n      }\n    };\n\n    if (this.options.clickOpen || hasTouch) {\n      this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);\n    }\n\n    // Handle Leaf element Clicks\n    if(_this.options.closeOnClickInside){\n      this.$menuItems.on('click.zf.dropdownmenu touchend.zf.dropdownmenu', function(e) {\n        var $elem = $(this),\n            hasSub = $elem.hasClass(parClass);\n        if(!hasSub){\n          _this._hide();\n        }\n      });\n    }\n\n    if (!this.options.disableHover) {\n      this.$menuItems.on('mouseenter.zf.dropdownmenu', function(e) {\n        var $elem = $(this),\n            hasSub = $elem.hasClass(parClass);\n\n        if (hasSub) {\n          clearTimeout($elem.data('_delay'));\n          $elem.data('_delay', setTimeout(function() {\n            _this._show($elem.children('.is-dropdown-submenu'));\n          }, _this.options.hoverDelay));\n        }\n      }).on('mouseleave.zf.dropdownmenu', function(e) {\n        var $elem = $(this),\n            hasSub = $elem.hasClass(parClass);\n        if (hasSub && _this.options.autoclose) {\n          if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { return false; }\n\n          clearTimeout($elem.data('_delay'));\n          $elem.data('_delay', setTimeout(function() {\n            _this._hide($elem);\n          }, _this.options.closingTime));\n        }\n      });\n    }\n    this.$menuItems.on('keydown.zf.dropdownmenu', function(e) {\n      var $element = $(e.target).parentsUntil('ul', '[role=\"menuitem\"]'),\n          isTab = _this.$tabs.index($element) > -1,\n          $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n          $prevElement,\n          $nextElement;\n\n      $elements.each(function(i) {\n        if ($(this).is($element)) {\n          $prevElement = $elements.eq(i-1);\n          $nextElement = $elements.eq(i+1);\n          return;\n        }\n      });\n\n      var nextSibling = function() {\n        if (!$element.is(':last-child')) {\n          $nextElement.children('a:first').focus();\n          e.preventDefault();\n        }\n      }, prevSibling = function() {\n        $prevElement.children('a:first').focus();\n        e.preventDefault();\n      }, openSub = function() {\n        var $sub = $element.children('ul.is-dropdown-submenu');\n        if ($sub.length) {\n          _this._show($sub);\n          $element.find('li > a:first').focus();\n          e.preventDefault();\n        } else { return; }\n      }, closeSub = function() {\n        //if ($element.is(':first-child')) {\n        var close = $element.parent('ul').parent('li');\n        close.children('a:first').focus();\n        _this._hide(close);\n        e.preventDefault();\n        //}\n      };\n      var functions = {\n        open: openSub,\n        close: function() {\n          _this._hide(_this.$element);\n          _this.$menuItems.find('a:first').focus(); // focus to first element\n          e.preventDefault();\n        },\n        handled: function() {\n          e.stopImmediatePropagation();\n        }\n      };\n\n      if (isTab) {\n        if (_this._isVertical()) { // vertical menu\n          if (Foundation.rtl()) { // right aligned\n            $.extend(functions, {\n              down: nextSibling,\n              up: prevSibling,\n              next: closeSub,\n              previous: openSub\n            });\n          } else { // left aligned\n            $.extend(functions, {\n              down: nextSibling,\n              up: prevSibling,\n              next: openSub,\n              previous: closeSub\n            });\n          }\n        } else { // horizontal menu\n          if (Foundation.rtl()) { // right aligned\n            $.extend(functions, {\n              next: prevSibling,\n              previous: nextSibling,\n              down: openSub,\n              up: closeSub\n            });\n          } else { // left aligned\n            $.extend(functions, {\n              next: nextSibling,\n              previous: prevSibling,\n              down: openSub,\n              up: closeSub\n            });\n          }\n        }\n      } else { // not tabs -> one sub\n        if (Foundation.rtl()) { // right aligned\n          $.extend(functions, {\n            next: closeSub,\n            previous: openSub,\n            down: nextSibling,\n            up: prevSibling\n          });\n        } else { // left aligned\n          $.extend(functions, {\n            next: openSub,\n            previous: closeSub,\n            down: nextSibling,\n            up: prevSibling\n          });\n        }\n      }\n      Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);\n\n    });\n  }\n\n  /**\n   * Adds an event handler to the body to close any dropdowns on a click.\n   * @function\n   * @private\n   */\n  _addBodyHandler() {\n    var $body = $(document.body),\n        _this = this;\n    $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu')\n         .on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function(e) {\n           var $link = _this.$element.find(e.target);\n           if ($link.length) { return; }\n\n           _this._hide();\n           $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');\n         });\n  }\n\n  /**\n   * Opens a dropdown pane, and checks for collisions first.\n   * @param {jQuery} $sub - ul element that is a submenu to show\n   * @function\n   * @private\n   * @fires DropdownMenu#show\n   */\n  _show($sub) {\n    var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {\n      return $(el).find($sub).length > 0;\n    }));\n    var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n    this._hide($sibs, idx);\n    $sub.css('visibility', 'hidden').addClass('js-dropdown-active')\n        .parent('li.is-dropdown-submenu-parent').addClass('is-active');\n    var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n    if (!clear) {\n      var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n          $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n      $parentLi.removeClass(`opens${oldClass}`).addClass(`opens-${this.options.alignment}`);\n      clear = Foundation.Box.ImNotTouchingYou($sub, null, true);\n      if (!clear) {\n        $parentLi.removeClass(`opens-${this.options.alignment}`).addClass('opens-inner');\n      }\n      this.changed = true;\n    }\n    $sub.css('visibility', '');\n    if (this.options.closeOnClick) { this._addBodyHandler(); }\n    /**\n     * Fires when the new dropdown pane is visible.\n     * @event DropdownMenu#show\n     */\n    this.$element.trigger('show.zf.dropdownmenu', [$sub]);\n  }\n\n  /**\n   * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n   * @function\n   * @param {jQuery} $elem - element with a submenu to hide\n   * @param {Number} idx - index of the $tabs collection to hide\n   * @private\n   */\n  _hide($elem, idx) {\n    var $toClose;\n    if ($elem && $elem.length) {\n      $toClose = $elem;\n    } else if (idx !== undefined) {\n      $toClose = this.$tabs.not(function(i, el) {\n        return i === idx;\n      });\n    }\n    else {\n      $toClose = this.$element;\n    }\n    var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n    if (somethingToClose) {\n      $toClose.find('li.is-active').add($toClose).attr({\n        'data-is-click': false\n      }).removeClass('is-active');\n\n      $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n      if (this.changed || $toClose.find('opens-inner').length) {\n        var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n        $toClose.find('li.is-dropdown-submenu-parent').add($toClose)\n                .removeClass(`opens-inner opens-${this.options.alignment}`)\n                .addClass(`opens-${oldClass}`);\n        this.changed = false;\n      }\n      /**\n       * Fires when the open menus are closed.\n       * @event DropdownMenu#hide\n       */\n      this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);\n    }\n  }\n\n  /**\n   * Destroys the plugin.\n   * @function\n   */\n  destroy() {\n    this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click')\n        .removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n    $(document.body).off('.zf.dropdownmenu');\n    Foundation.Nest.Burn(this.$element, 'dropdown');\n    Foundation.unregisterPlugin(this);\n  }\n}\n\n/**\n * Default settings for plugin\n */\nDropdownMenu.defaults = {\n  /**\n   * Disallows hover events from opening submenus\n   * @option\n   * @example false\n   */\n  disableHover: false,\n  /**\n   * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n   * @option\n   * @example true\n   */\n  autoclose: true,\n  /**\n   * Amount of time to delay opening a submenu on hover event.\n   * @option\n   * @example 50\n   */\n  hoverDelay: 50,\n  /**\n   * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n   * @option\n   * @example true\n   */\n  clickOpen: false,\n  /**\n   * Amount of time to delay closing a submenu on a mouseleave event.\n   * @option\n   * @example 500\n   */\n\n  closingTime: 500,\n  /**\n   * Position of the menu relative to what direction the submenus should open. Handled by JS.\n   * @option\n   * @example 'left'\n   */\n  alignment: 'left',\n  /**\n   * Allow clicks on the body to close any open submenus.\n   * @option\n   * @example true\n   */\n  closeOnClick: true,\n  /**\n   * Allow clicks on leaf anchor links to close any open submenus.\n   * @option\n   * @example true\n   */\n  closeOnClickInside: true,\n  /**\n   * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n   * @option\n   * @example 'vertical'\n   */\n  verticalClass: 'vertical',\n  /**\n   * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n   * @option\n   * @example 'align-right'\n   */\n  rightClass: 'align-right',\n  /**\n   * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n   * @option\n   * @example false\n   */\n  forceFollow: true\n};\n\n// Window exports\nFoundation.plugin(DropdownMenu, 'DropdownMenu');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.equalizer.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Equalizer module.\n * @module foundation.equalizer\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.timerAndImageLoader if equalizer contains images\n */\n\nclass Equalizer {\n  /**\n   * Creates a new instance of Equalizer.\n   * @class\n   * @fires Equalizer#init\n   * @param {Object} element - jQuery object to add the trigger to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options){\n    this.$element = element;\n    this.options  = $.extend({}, Equalizer.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Equalizer');\n  }\n\n  /**\n   * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n   * @private\n   */\n  _init() {\n    var eqId = this.$element.attr('data-equalizer') || '';\n    var $watched = this.$element.find(`[data-equalizer-watch=\"${eqId}\"]`);\n\n    this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');\n    this.$element.attr('data-resize', (eqId || Foundation.GetYoDigits(6, 'eq')));\n\tthis.$element.attr('data-mutate', (eqId || Foundation.GetYoDigits(6, 'eq')));\n\n    this.hasNested = this.$element.find('[data-equalizer]').length > 0;\n    this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;\n    this.isOn = false;\n    this._bindHandler = {\n      onResizeMeBound: this._onResizeMe.bind(this),\n      onPostEqualizedBound: this._onPostEqualized.bind(this)\n    };\n\n    var imgs = this.$element.find('img');\n    var tooSmall;\n    if(this.options.equalizeOn){\n      tooSmall = this._checkMQ();\n      $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));\n    }else{\n      this._events();\n    }\n    if((tooSmall !== undefined && tooSmall === false) || tooSmall === undefined){\n      if(imgs.length){\n        Foundation.onImagesLoaded(imgs, this._reflow.bind(this));\n      }else{\n        this._reflow();\n      }\n    }\n  }\n\n  /**\n   * Removes event listeners if the breakpoint is too small.\n   * @private\n   */\n  _pauseEvents() {\n    this.isOn = false;\n    this.$element.off({\n      '.zf.equalizer': this._bindHandler.onPostEqualizedBound,\n      'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,\n\t  'mutateme.zf.trigger': this._bindHandler.onResizeMeBound\n    });\n  }\n\n  /**\n   * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n   * @private\n   */\n  _onResizeMe(e) {\n    this._reflow();\n  }\n\n  /**\n   * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n   * @private\n   */\n  _onPostEqualized(e) {\n    if(e.target !== this.$element[0]){ this._reflow(); }\n  }\n\n  /**\n   * Initializes events for Equalizer.\n   * @private\n   */\n  _events() {\n    var _this = this;\n    this._pauseEvents();\n    if(this.hasNested){\n      this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);\n    }else{\n      this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);\n\t  this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);\n    }\n    this.isOn = true;\n  }\n\n  /**\n   * Checks the current breakpoint to the minimum required size.\n   * @private\n   */\n  _checkMQ() {\n    var tooSmall = !Foundation.MediaQuery.is(this.options.equalizeOn);\n    if(tooSmall){\n      if(this.isOn){\n        this._pauseEvents();\n        this.$watched.css('height', 'auto');\n      }\n    }else{\n      if(!this.isOn){\n        this._events();\n      }\n    }\n    return tooSmall;\n  }\n\n  /**\n   * A noop version for the plugin\n   * @private\n   */\n  _killswitch() {\n    return;\n  }\n\n  /**\n   * Calls necessary functions to update Equalizer upon DOM change\n   * @private\n   */\n  _reflow() {\n    if(!this.options.equalizeOnStack){\n      if(this._isStacked()){\n        this.$watched.css('height', 'auto');\n        return false;\n      }\n    }\n    if (this.options.equalizeByRow) {\n      this.getHeightsByRow(this.applyHeightByRow.bind(this));\n    }else{\n      this.getHeights(this.applyHeight.bind(this));\n    }\n  }\n\n  /**\n   * Manually determines if the first 2 elements are *NOT* stacked.\n   * @private\n   */\n  _isStacked() {\n    if (!this.$watched[0] || !this.$watched[1]) {\n      return true;\n    }\n    return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n  }\n\n  /**\n   * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n   * @param {Function} cb - A non-optional callback to return the heights array to.\n   * @returns {Array} heights - An array of heights of children within Equalizer container\n   */\n  getHeights(cb) {\n    var heights = [];\n    for(var i = 0, len = this.$watched.length; i < len; i++){\n      this.$watched[i].style.height = 'auto';\n      heights.push(this.$watched[i].offsetHeight);\n    }\n    cb(heights);\n  }\n\n  /**\n   * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n   * @param {Function} cb - A non-optional callback to return the heights array to.\n   * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n   */\n  getHeightsByRow(cb) {\n    var lastElTopOffset = (this.$watched.length ? this.$watched.first().offset().top : 0),\n        groups = [],\n        group = 0;\n    //group by Row\n    groups[group] = [];\n    for(var i = 0, len = this.$watched.length; i < len; i++){\n      this.$watched[i].style.height = 'auto';\n      //maybe could use this.$watched[i].offsetTop\n      var elOffsetTop = $(this.$watched[i]).offset().top;\n      if (elOffsetTop!=lastElTopOffset) {\n        group++;\n        groups[group] = [];\n        lastElTopOffset=elOffsetTop;\n      }\n      groups[group].push([this.$watched[i],this.$watched[i].offsetHeight]);\n    }\n\n    for (var j = 0, ln = groups.length; j < ln; j++) {\n      var heights = $(groups[j]).map(function(){ return this[1]; }).get();\n      var max         = Math.max.apply(null, heights);\n      groups[j].push(max);\n    }\n    cb(groups);\n  }\n\n  /**\n   * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n   * @param {array} heights - An array of heights of children within Equalizer container\n   * @fires Equalizer#preequalized\n   * @fires Equalizer#postequalized\n   */\n  applyHeight(heights) {\n    var max = Math.max.apply(null, heights);\n    /**\n     * Fires before the heights are applied\n     * @event Equalizer#preequalized\n     */\n    this.$element.trigger('preequalized.zf.equalizer');\n\n    this.$watched.css('height', max);\n\n    /**\n     * Fires when the heights have been applied\n     * @event Equalizer#postequalized\n     */\n     this.$element.trigger('postequalized.zf.equalizer');\n  }\n\n  /**\n   * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n   * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n   * @fires Equalizer#preequalized\n   * @fires Equalizer#preequalizedrow\n   * @fires Equalizer#postequalizedrow\n   * @fires Equalizer#postequalized\n   */\n  applyHeightByRow(groups) {\n    /**\n     * Fires before the heights are applied\n     */\n    this.$element.trigger('preequalized.zf.equalizer');\n    for (var i = 0, len = groups.length; i < len ; i++) {\n      var groupsILength = groups[i].length,\n          max = groups[i][groupsILength - 1];\n      if (groupsILength<=2) {\n        $(groups[i][0][0]).css({'height':'auto'});\n        continue;\n      }\n      /**\n        * Fires before the heights per row are applied\n        * @event Equalizer#preequalizedrow\n        */\n      this.$element.trigger('preequalizedrow.zf.equalizer');\n      for (var j = 0, lenJ = (groupsILength-1); j < lenJ ; j++) {\n        $(groups[i][j][0]).css({'height':max});\n      }\n      /**\n        * Fires when the heights per row have been applied\n        * @event Equalizer#postequalizedrow\n        */\n      this.$element.trigger('postequalizedrow.zf.equalizer');\n    }\n    /**\n     * Fires when the heights have been applied\n     */\n     this.$element.trigger('postequalized.zf.equalizer');\n  }\n\n  /**\n   * Destroys an instance of Equalizer.\n   * @function\n   */\n  destroy() {\n    this._pauseEvents();\n    this.$watched.css('height', 'auto');\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\n/**\n * Default settings for plugin\n */\nEqualizer.defaults = {\n  /**\n   * Enable height equalization when stacked on smaller screens.\n   * @option\n   * @example true\n   */\n  equalizeOnStack: false,\n  /**\n   * Enable height equalization row by row.\n   * @option\n   * @example false\n   */\n  equalizeByRow: false,\n  /**\n   * String representing the minimum breakpoint size the plugin should equalize heights on.\n   * @option\n   * @example 'medium'\n   */\n  equalizeOn: ''\n};\n\n// Window exports\nFoundation.plugin(Equalizer, 'Equalizer');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.interchange.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.timerAndImageLoader\n */\n\nclass Interchange {\n  /**\n   * Creates a new instance of Interchange.\n   * @class\n   * @fires Interchange#init\n   * @param {Object} element - jQuery object to add the trigger to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Interchange.defaults, options);\n    this.rules = [];\n    this.currentPath = '';\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'Interchange');\n  }\n\n  /**\n   * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n   * @function\n   * @private\n   */\n  _init() {\n    this._addBreakpoints();\n    this._generateRules();\n    this._reflow();\n  }\n\n  /**\n   * Initializes events for Interchange.\n   * @function\n   * @private\n   */\n  _events() {\n    $(window).on('resize.zf.interchange', Foundation.util.throttle(() => {\n      this._reflow();\n    }, 50));\n  }\n\n  /**\n   * Calls necessary functions to update Interchange upon DOM change\n   * @function\n   * @private\n   */\n  _reflow() {\n    var match;\n\n    // Iterate through each rule, but only save the last match\n    for (var i in this.rules) {\n      if(this.rules.hasOwnProperty(i)) {\n        var rule = this.rules[i];\n        if (window.matchMedia(rule.query).matches) {\n          match = rule;\n        }\n      }\n    }\n\n    if (match) {\n      this.replace(match.path);\n    }\n  }\n\n  /**\n   * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n   * @function\n   * @private\n   */\n  _addBreakpoints() {\n    for (var i in Foundation.MediaQuery.queries) {\n      if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {\n        var query = Foundation.MediaQuery.queries[i];\n        Interchange.SPECIAL_QUERIES[query.name] = query.value;\n      }\n    }\n  }\n\n  /**\n   * Checks the Interchange element for the provided media query + content pairings\n   * @function\n   * @private\n   * @param {Object} element - jQuery object that is an Interchange instance\n   * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n   */\n  _generateRules(element) {\n    var rulesList = [];\n    var rules;\n\n    if (this.options.rules) {\n      rules = this.options.rules;\n    }\n    else {\n      rules = this.$element.data('interchange').match(/\\[.*?\\]/g);\n    }\n\n    for (var i in rules) {\n      if(rules.hasOwnProperty(i)) {\n        var rule = rules[i].slice(1, -1).split(', ');\n        var path = rule.slice(0, -1).join('');\n        var query = rule[rule.length - 1];\n\n        if (Interchange.SPECIAL_QUERIES[query]) {\n          query = Interchange.SPECIAL_QUERIES[query];\n        }\n\n        rulesList.push({\n          path: path,\n          query: query\n        });\n      }\n    }\n\n    this.rules = rulesList;\n  }\n\n  /**\n   * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n   * @function\n   * @param {String} path - Path to the image or HTML partial.\n   * @fires Interchange#replaced\n   */\n  replace(path) {\n    if (this.currentPath === path) return;\n\n    var _this = this,\n        trigger = 'replaced.zf.interchange';\n\n    // Replacing images\n    if (this.$element[0].nodeName === 'IMG') {\n      this.$element.attr('src', path).on('load', function() {\n        _this.currentPath = path;\n      })\n      .trigger(trigger);\n    }\n    // Replacing background images\n    else if (path.match(/\\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {\n      this.$element.css({ 'background-image': 'url('+path+')' })\n          .trigger(trigger);\n    }\n    // Replacing HTML\n    else {\n      $.get(path, function(response) {\n        _this.$element.html(response)\n             .trigger(trigger);\n        $(response).foundation();\n        _this.currentPath = path;\n      });\n    }\n\n    /**\n     * Fires when content in an Interchange element is done being loaded.\n     * @event Interchange#replaced\n     */\n    // this.$element.trigger('replaced.zf.interchange');\n  }\n\n  /**\n   * Destroys an instance of interchange.\n   * @function\n   */\n  destroy() {\n    //TODO this.\n  }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n  /**\n   * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n   * @option\n   */\n  rules: null\n};\n\nInterchange.SPECIAL_QUERIES = {\n  'landscape': 'screen and (orientation: landscape)',\n  'portrait': 'screen and (orientation: portrait)',\n  'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\n// Window exports\nFoundation.plugin(Interchange, 'Interchange');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.magellan.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Magellan module.\n * @module foundation.magellan\n */\n\nclass Magellan {\n  /**\n   * Creates a new instance of Magellan.\n   * @class\n   * @fires Magellan#init\n   * @param {Object} element - jQuery object to add the trigger to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options  = $.extend({}, Magellan.defaults, this.$element.data(), options);\n\n    this._init();\n    this.calcPoints();\n\n    Foundation.registerPlugin(this, 'Magellan');\n  }\n\n  /**\n   * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n   * @private\n   */\n  _init() {\n    var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');\n    var _this = this;\n    this.$targets = $('[data-magellan-target]');\n    this.$links = this.$element.find('a');\n    this.$element.attr({\n      'data-resize': id,\n      'data-scroll': id,\n      'id': id\n    });\n    this.$active = $();\n    this.scrollPos = parseInt(window.pageYOffset, 10);\n\n    this._events();\n  }\n\n  /**\n   * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n   * Can be invoked if new elements are added or the size of a location changes.\n   * @function\n   */\n  calcPoints() {\n    var _this = this,\n        body = document.body,\n        html = document.documentElement;\n\n    this.points = [];\n    this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n    this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n    this.$targets.each(function(){\n      var $tar = $(this),\n          pt = Math.round($tar.offset().top - _this.options.threshold);\n      $tar.targetPoint = pt;\n      _this.points.push(pt);\n    });\n  }\n\n  /**\n   * Initializes events for Magellan.\n   * @private\n   */\n  _events() {\n    var _this = this,\n        $body = $('html, body'),\n        opts = {\n          duration: _this.options.animationDuration,\n          easing:   _this.options.animationEasing\n        };\n    $(window).one('load', function(){\n      if(_this.options.deepLinking){\n        if(location.hash){\n          _this.scrollToLoc(location.hash);\n        }\n      }\n      _this.calcPoints();\n      _this._updateActive();\n    });\n\n    this.$element.on({\n      'resizeme.zf.trigger': this.reflow.bind(this),\n      'scrollme.zf.trigger': this._updateActive.bind(this)\n    }).on('click.zf.magellan', 'a[href^=\"#\"]', function(e) {\n        e.preventDefault();\n        var arrival   = this.getAttribute('href');\n        _this.scrollToLoc(arrival);\n      });\n    $(window).on('popstate', function(e) {\n      if(_this.options.deepLinking) {\n        _this.scrollToLoc(window.location.hash);\n      }\n    });\n  }\n\n  /**\n   * Function to scroll to a given location on the page.\n   * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n   * @function\n   */\n  scrollToLoc(loc) {\n    // Do nothing if target does not exist to prevent errors\n    if (!$(loc).length) {return false;}\n    this._inTransition = true;\n    var _this = this,\n        scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);\n\n    $('html, body').stop(true).animate(\n      { scrollTop: scrollPos },\n      this.options.animationDuration,\n      this.options.animationEasing,\n      function() {_this._inTransition = false; _this._updateActive()}\n    );\n  }\n\n  /**\n   * Calls necessary functions to update Magellan upon DOM change\n   * @function\n   */\n  reflow() {\n    this.calcPoints();\n    this._updateActive();\n  }\n\n  /**\n   * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n   * @private\n   * @function\n   * @fires Magellan#update\n   */\n  _updateActive(/*evt, elem, scrollPos*/) {\n    if(this._inTransition) {return;}\n    var winPos = /*scrollPos ||*/ parseInt(window.pageYOffset, 10),\n        curIdx;\n\n    if(winPos + this.winHeight === this.docHeight){ curIdx = this.points.length - 1; }\n    else if(winPos < this.points[0]){ curIdx = undefined; }\n    else{\n      var isDown = this.scrollPos < winPos,\n          _this = this,\n          curVisible = this.points.filter(function(p, i){\n            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;\n          });\n      curIdx = curVisible.length ? curVisible.length - 1 : 0;\n    }\n\n    this.$active.removeClass(this.options.activeClass);\n    this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(curIdx).data('magellan-target') + '\"]').addClass(this.options.activeClass);\n\n    if(this.options.deepLinking){\n      var hash = \"\";\n      if(curIdx != undefined){\n        hash = this.$active[0].getAttribute('href');\n      }\n      if(hash !== window.location.hash) {\n        if(window.history.pushState){\n          window.history.pushState(null, null, hash);\n        }else{\n          window.location.hash = hash;\n        }\n      }\n    }\n\n    this.scrollPos = winPos;\n    /**\n     * Fires when magellan is finished updating to the new active element.\n     * @event Magellan#update\n     */\n    this.$element.trigger('update.zf.magellan', [this.$active]);\n  }\n\n  /**\n   * Destroys an instance of Magellan and resets the url of the window.\n   * @function\n   */\n  destroy() {\n    this.$element.off('.zf.trigger .zf.magellan')\n        .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n    if(this.options.deepLinking){\n      var hash = this.$active[0].getAttribute('href');\n      window.location.hash.replace(hash, '');\n    }\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n  /**\n   * Amount of time, in ms, the animated scrolling should take between locations.\n   * @option\n   * @example 500\n   */\n  animationDuration: 500,\n  /**\n   * Animation style to use when scrolling between locations.\n   * @option\n   * @example 'ease-in-out'\n   */\n  animationEasing: 'linear',\n  /**\n   * Number of pixels to use as a marker for location changes.\n   * @option\n   * @example 50\n   */\n  threshold: 50,\n  /**\n   * Class applied to the active locations link on the magellan container.\n   * @option\n   * @example 'active'\n   */\n  activeClass: 'active',\n  /**\n   * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n   * @option\n   * @example true\n   */\n  deepLinking: false,\n  /**\n   * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n   * @option\n   * @example 25\n   */\n  barOffset: 0\n}\n\n// Window exports\nFoundation.plugin(Magellan, 'Magellan');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.offcanvas.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * OffCanvas module.\n * @module foundation.offcanvas\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n * @requires foundation.util.motion\n */\n\nclass OffCanvas {\n  /**\n   * Creates a new instance of an off-canvas wrapper.\n   * @class\n   * @fires OffCanvas#init\n   * @param {Object} element - jQuery object to initialize.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n    this.$lastTrigger = $();\n    this.$triggers = $();\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'OffCanvas')\n    Foundation.Keyboard.register('OffCanvas', {\n      'ESCAPE': 'close'\n    });\n\n  }\n\n  /**\n   * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n   * @function\n   * @private\n   */\n  _init() {\n    var id = this.$element.attr('id');\n\n    this.$element.attr('aria-hidden', 'true');\n\n    this.$element.addClass(`is-transition-${this.options.transition}`);\n\n    // Find triggers that affect this element and add aria-expanded to them\n    this.$triggers = $(document)\n      .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n      .attr('aria-expanded', 'false')\n      .attr('aria-controls', id);\n\n    // Add an overlay over the content if necessary\n    if (this.options.contentOverlay === true) {\n      var overlay = document.createElement('div');\n      var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n      overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n      this.$overlay = $(overlay);\n      if(overlayPosition === 'is-overlay-fixed') {\n        $('body').append(this.$overlay);\n      } else {\n        this.$element.siblings('[data-off-canvas-content]').append(this.$overlay);\n      }\n    }\n\n    this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);\n\n    if (this.options.isRevealed === true) {\n      this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];\n      this._setMQChecker();\n    }\n    if (!this.options.transitionTime === true) {\n      this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas]')[0]).transitionDuration) * 1000;\n    }\n  }\n\n  /**\n   * Adds event handlers to the off-canvas wrapper and the exit overlay.\n   * @function\n   * @private\n   */\n  _events() {\n    this.$element.off('.zf.trigger .zf.offcanvas').on({\n      'open.zf.trigger': this.open.bind(this),\n      'close.zf.trigger': this.close.bind(this),\n      'toggle.zf.trigger': this.toggle.bind(this),\n      'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n    });\n\n    if (this.options.closeOnClick === true) {\n      var $target = this.options.contentOverlay ? this.$overlay : $('[data-off-canvas-content]');\n      $target.on({'click.zf.offcanvas': this.close.bind(this)});\n    }\n  }\n\n  /**\n   * Applies event listener for elements that will reveal at certain breakpoints.\n   * @private\n   */\n  _setMQChecker() {\n    var _this = this;\n\n    $(window).on('changed.zf.mediaquery', function() {\n      if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      } else {\n        _this.reveal(false);\n      }\n    }).one('load.zf.offcanvas', function() {\n      if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      }\n    });\n  }\n\n  /**\n   * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n   * @param {Boolean} isRevealed - true if element should be revealed.\n   * @function\n   */\n  reveal(isRevealed) {\n    var $closer = this.$element.find('[data-close]');\n    if (isRevealed) {\n      this.close();\n      this.isRevealed = true;\n      this.$element.attr('aria-hidden', 'false');\n      this.$element.off('open.zf.trigger toggle.zf.trigger');\n      if ($closer.length) { $closer.hide(); }\n    } else {\n      this.isRevealed = false;\n      this.$element.attr('aria-hidden', 'true');\n      this.$element.on({\n        'open.zf.trigger': this.open.bind(this),\n        'toggle.zf.trigger': this.toggle.bind(this)\n      });\n      if ($closer.length) {\n        $closer.show();\n      }\n    }\n  }\n\n  /**\n   * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n   * @private\n   */\n  _stopScrolling(event) {\n  \treturn false;\n  }\n\n  /**\n   * Opens the off-canvas menu.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   * @fires OffCanvas#opened\n   */\n  open(event, trigger) {\n    if (this.$element.hasClass('is-open') || this.isRevealed) { return; }\n    var _this = this;\n\n    if (trigger) {\n      this.$lastTrigger = trigger;\n    }\n\n    if (this.options.forceTo === 'top') {\n      window.scrollTo(0, 0);\n    } else if (this.options.forceTo === 'bottom') {\n      window.scrollTo(0,document.body.scrollHeight);\n    }\n\n    /**\n     * Fires when the off-canvas menu opens.\n     * @event OffCanvas#opened\n     */\n    _this.$element.addClass('is-open')\n\n    this.$triggers.attr('aria-expanded', 'true');\n    this.$element.attr('aria-hidden', 'false')\n        .trigger('opened.zf.offcanvas');\n\n    // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-closable');\n    }\n\n    if (this.options.autoFocus === true) {\n      this.$element.one(Foundation.transitionend(this.$element), function() {\n        _this.$element.find('a, button').eq(0).focus();\n      });\n    }\n\n    if (this.options.trapFocus === true) {\n      this.$element.siblings('[data-off-canvas-content]').attr('tabindex', '-1');\n      Foundation.Keyboard.trapFocus(this.$element);\n    }\n  }\n\n  /**\n   * Closes the off-canvas menu.\n   * @function\n   * @param {Function} cb - optional cb to fire after closure.\n   * @fires OffCanvas#closed\n   */\n  close(cb) {\n    if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n    var _this = this;\n\n    _this.$element.removeClass('is-open');\n\n    this.$element.attr('aria-hidden', 'true')\n      /**\n       * Fires when the off-canvas menu opens.\n       * @event OffCanvas#closed\n       */\n        .trigger('closed.zf.offcanvas');\n\n    // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-closable');\n    }\n\n    this.$triggers.attr('aria-expanded', 'false');\n\n    if (this.options.trapFocus === true) {\n      this.$element.siblings('[data-off-canvas-content]').removeAttr('tabindex');\n      Foundation.Keyboard.releaseFocus(this.$element);\n    }\n  }\n\n  /**\n   * Toggles the off-canvas menu open or closed.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   */\n  toggle(event, trigger) {\n    if (this.$element.hasClass('is-open')) {\n      this.close(event, trigger);\n    }\n    else {\n      this.open(event, trigger);\n    }\n  }\n\n  /**\n   * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n   * @function\n   * @private\n   */\n  _handleKeyboard(e) {\n    Foundation.Keyboard.handleKey(e, 'OffCanvas', {\n      close: () => {\n        this.close();\n        this.$lastTrigger.focus();\n        return true;\n      },\n      handled: () => {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    });\n  }\n\n  /**\n   * Destroys the offcanvas plugin.\n   * @function\n   */\n  destroy() {\n    this.close();\n    this.$element.off('.zf.trigger .zf.offcanvas');\n    this.$overlay.off('.zf.offcanvas');\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nOffCanvas.defaults = {\n  /**\n   * Allow the user to click outside of the menu to close it.\n   * @option\n   * @example true\n   */\n  closeOnClick: true,\n\n  /**\n   * Adds an overlay on top of `[data-off-canvas-content]`.\n   * @option\n   * @example true\n   */\n  contentOverlay: true,\n\n  /**\n   * Enable/disable scrolling of the main content when an off canvas panel is open.\n   * @option\n   * @example true\n   */\n  contentScroll: true,\n\n  /**\n   * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n   * @option\n   * @example 500\n   */\n  transitionTime: 0,\n\n  /**\n   * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n   * @option\n   * @example push\n   */\n  transition: 'push',\n\n  /**\n   * Force the page to scroll to top or bottom on open.\n   * @option\n   * @example top\n   */\n  forceTo: null,\n\n  /**\n   * Allow the offcanvas to remain open for certain breakpoints.\n   * @option\n   * @example false\n   */\n  isRevealed: false,\n\n  /**\n   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n   * @option\n   * @example reveal-for-large\n   */\n  revealOn: null,\n\n  /**\n   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n   * @option\n   * @example true\n   */\n  autoFocus: true,\n\n  /**\n   * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n   * @option\n   * TODO improve the regex testing for this.\n   * @example reveal-for-large\n   */\n  revealClass: 'reveal-for-',\n\n  /**\n   * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n   * @option\n   * @example true\n   */\n  trapFocus: false\n}\n\n// Window exports\nFoundation.plugin(OffCanvas, 'OffCanvas');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.orbit.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Orbit module.\n * @module foundation.orbit\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.timerAndImageLoader\n * @requires foundation.util.touch\n */\n\nclass Orbit {\n  /**\n  * Creates a new instance of an orbit carousel.\n  * @class\n  * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n  * @param {Object} options - Overrides to the default plugin settings.\n  */\n  constructor(element, options){\n    this.$element = element;\n    this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Orbit');\n    Foundation.Keyboard.register('Orbit', {\n      'ltr': {\n        'ARROW_RIGHT': 'next',\n        'ARROW_LEFT': 'previous'\n      },\n      'rtl': {\n        'ARROW_LEFT': 'next',\n        'ARROW_RIGHT': 'previous'\n      }\n    });\n  }\n\n  /**\n  * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n  * @function\n  * @private\n  */\n  _init() {\n    // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n    this._reset();\n\n    this.$wrapper = this.$element.find(`.${this.options.containerClass}`);\n    this.$slides = this.$element.find(`.${this.options.slideClass}`);\n\n    var $images = this.$element.find('img'),\n        initActive = this.$slides.filter('.is-active'),\n        id = this.$element[0].id || Foundation.GetYoDigits(6, 'orbit');\n\n    this.$element.attr({\n      'data-resize': id,\n      'id': id\n    });\n\n    if (!initActive.length) {\n      this.$slides.eq(0).addClass('is-active');\n    }\n\n    if (!this.options.useMUI) {\n      this.$slides.addClass('no-motionui');\n    }\n\n    if ($images.length) {\n      Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));\n    } else {\n      this._prepareForOrbit();//hehe\n    }\n\n    if (this.options.bullets) {\n      this._loadBullets();\n    }\n\n    this._events();\n\n    if (this.options.autoPlay && this.$slides.length > 1) {\n      this.geoSync();\n    }\n\n    if (this.options.accessible) { // allow wrapper to be focusable to enable arrow navigation\n      this.$wrapper.attr('tabindex', 0);\n    }\n  }\n\n  /**\n  * Creates a jQuery collection of bullets, if they are being used.\n  * @function\n  * @private\n  */\n  _loadBullets() {\n    this.$bullets = this.$element.find(`.${this.options.boxOfBullets}`).find('button');\n  }\n\n  /**\n  * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n  * @function\n  */\n  geoSync() {\n    var _this = this;\n    this.timer = new Foundation.Timer(\n      this.$element,\n      {\n        duration: this.options.timerDelay,\n        infinite: false\n      },\n      function() {\n        _this.changeSlide(true);\n      });\n    this.timer.start();\n  }\n\n  /**\n  * Sets wrapper and slide heights for the orbit.\n  * @function\n  * @private\n  */\n  _prepareForOrbit() {\n    var _this = this;\n    this._setWrapperHeight();\n  }\n\n  /**\n  * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n  * @function\n  * @private\n  * @param {Function} cb - a callback function to fire when complete.\n  */\n  _setWrapperHeight(cb) {//rewrite this to `for` loop\n    var max = 0, temp, counter = 0, _this = this;\n\n    this.$slides.each(function() {\n      temp = this.getBoundingClientRect().height;\n      $(this).attr('data-slide', counter);\n\n      if (_this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {//if not the active slide, set css position and display property\n        $(this).css({'position': 'relative', 'display': 'none'});\n      }\n      max = temp > max ? temp : max;\n      counter++;\n    });\n\n    if (counter === this.$slides.length) {\n      this.$wrapper.css({'height': max}); //only change the wrapper height property once.\n      if(cb) {cb(max);} //fire callback with max height dimension.\n    }\n  }\n\n  /**\n  * Sets the max-height of each slide.\n  * @function\n  * @private\n  */\n  _setSlideHeight(height) {\n    this.$slides.each(function() {\n      $(this).css('max-height', height);\n    });\n  }\n\n  /**\n  * Adds event listeners to basically everything within the element.\n  * @function\n  * @private\n  */\n  _events() {\n    var _this = this;\n\n    //***************************************\n    //**Now using custom event - thanks to:**\n    //**      Yohai Ararat of Toronto      **\n    //***************************************\n    //\n    this.$element.off('.resizeme.zf.trigger').on({\n      'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n    })\n    if (this.$slides.length > 1) {\n\n      if (this.options.swipe) {\n        this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit')\n        .on('swipeleft.zf.orbit', function(e){\n          e.preventDefault();\n          _this.changeSlide(true);\n        }).on('swiperight.zf.orbit', function(e){\n          e.preventDefault();\n          _this.changeSlide(false);\n        });\n      }\n      //***************************************\n\n      if (this.options.autoPlay) {\n        this.$slides.on('click.zf.orbit', function() {\n          _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n          _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n        });\n\n        if (this.options.pauseOnHover) {\n          this.$element.on('mouseenter.zf.orbit', function() {\n            _this.timer.pause();\n          }).on('mouseleave.zf.orbit', function() {\n            if (!_this.$element.data('clickedOn')) {\n              _this.timer.start();\n            }\n          });\n        }\n      }\n\n      if (this.options.navButtons) {\n        var $controls = this.$element.find(`.${this.options.nextClass}, .${this.options.prevClass}`);\n        $controls.attr('tabindex', 0)\n        //also need to handle enter/return and spacebar key presses\n        .on('click.zf.orbit touchend.zf.orbit', function(e){\n\t  e.preventDefault();\n          _this.changeSlide($(this).hasClass(_this.options.nextClass));\n        });\n      }\n\n      if (this.options.bullets) {\n        this.$bullets.on('click.zf.orbit touchend.zf.orbit', function() {\n          if (/is-active/g.test(this.className)) { return false; }//if this is active, kick out of function.\n          var idx = $(this).data('slide'),\n          ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n          $slide = _this.$slides.eq(idx);\n\n          _this.changeSlide(ltr, $slide, idx);\n        });\n      }\n\n      if (this.options.accessible) {\n        this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function(e) {\n          // handle keyboard event with keyboard util\n          Foundation.Keyboard.handleKey(e, 'Orbit', {\n            next: function() {\n              _this.changeSlide(true);\n            },\n            previous: function() {\n              _this.changeSlide(false);\n            },\n            handled: function() { // if bullet is focused, make sure focus moves\n              if ($(e.target).is(_this.$bullets)) {\n                _this.$bullets.filter('.is-active').focus();\n              }\n            }\n          });\n        });\n      }\n    }\n  }\n\n  /**\n   * Resets Orbit so it can be reinitialized\n   */\n  _reset() {\n    // Don't do anything if there are no slides (first run)\n    if (typeof this.$slides == 'undefined') {\n      return;\n    }\n\n    if (this.$slides.length > 1) {\n      // Remove old events\n      this.$element.off('.zf.orbit').find('*').off('.zf.orbit')\n\n      // Restart timer if autoPlay is enabled\n      if (this.options.autoPlay) {\n        this.timer.restart();\n      }\n\n      // Reset all sliddes\n      this.$slides.each(function(el) {\n        $(el).removeClass('is-active is-active is-in')\n          .removeAttr('aria-live')\n          .hide();\n      });\n\n      // Show the first slide\n      this.$slides.first().addClass('is-active').show();\n\n      // Triggers when the slide has finished animating\n      this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n      // Select first bullet if bullets are present\n      if (this.options.bullets) {\n        this._updateBullets(0);\n      }\n    }\n  }\n\n  /**\n  * Changes the current slide to a new one.\n  * @function\n  * @param {Boolean} isLTR - flag if the slide should move left to right.\n  * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n  * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n  * @fires Orbit#slidechange\n  */\n  changeSlide(isLTR, chosenSlide, idx) {\n    if (!this.$slides) {return; } // Don't freak out if we're in the middle of cleanup\n    var $curSlide = this.$slides.filter('.is-active').eq(0);\n\n    if (/mui/g.test($curSlide[0].className)) { return false; } //if the slide is currently animating, kick out of the function\n\n    var $firstSlide = this.$slides.first(),\n    $lastSlide = this.$slides.last(),\n    dirIn = isLTR ? 'Right' : 'Left',\n    dirOut = isLTR ? 'Left' : 'Right',\n    _this = this,\n    $newSlide;\n\n    if (!chosenSlide) { //most of the time, this will be auto played or clicked from the navButtons.\n      $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n      (this.options.infiniteWrap ? $curSlide.next(`.${this.options.slideClass}`).length ? $curSlide.next(`.${this.options.slideClass}`) : $firstSlide : $curSlide.next(`.${this.options.slideClass}`))//pick next slide if moving left to right\n      :\n      (this.options.infiniteWrap ? $curSlide.prev(`.${this.options.slideClass}`).length ? $curSlide.prev(`.${this.options.slideClass}`) : $lastSlide : $curSlide.prev(`.${this.options.slideClass}`));//pick prev slide if moving right to left\n    } else {\n      $newSlide = chosenSlide;\n    }\n\n    if ($newSlide.length) {\n      /**\n      * Triggers before the next slide starts animating in and only if a next slide has been found.\n      * @event Orbit#beforeslidechange\n      */\n      this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n\n      if (this.options.bullets) {\n        idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n        this._updateBullets(idx);\n      }\n\n      if (this.options.useMUI && !this.$element.is(':hidden')) {\n        Foundation.Motion.animateIn(\n          $newSlide.addClass('is-active').css({'position': 'absolute', 'top': 0}),\n          this.options[`animInFrom${dirIn}`],\n          function(){\n            $newSlide.css({'position': 'relative', 'display': 'block'})\n            .attr('aria-live', 'polite');\n        });\n\n        Foundation.Motion.animateOut(\n          $curSlide.removeClass('is-active'),\n          this.options[`animOutTo${dirOut}`],\n          function(){\n            $curSlide.removeAttr('aria-live');\n            if(_this.options.autoPlay && !_this.timer.isPaused){\n              _this.timer.restart();\n            }\n            //do stuff?\n          });\n      } else {\n        $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n        $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n        if (this.options.autoPlay && !this.timer.isPaused) {\n          this.timer.restart();\n        }\n      }\n    /**\n    * Triggers when the slide has finished animating in.\n    * @event Orbit#slidechange\n    */\n      this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n    }\n  }\n\n  /**\n  * Updates the active state of the bullets, if displayed.\n  * @function\n  * @private\n  * @param {Number} idx - the index of the current slide.\n  */\n  _updateBullets(idx) {\n    var $oldBullet = this.$element.find(`.${this.options.boxOfBullets}`)\n    .find('.is-active').removeClass('is-active').blur(),\n    span = $oldBullet.find('span:last').detach(),\n    $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);\n  }\n\n  /**\n  * Destroys the carousel and hides the element.\n  * @function\n  */\n  destroy() {\n    this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nOrbit.defaults = {\n  /**\n  * Tells the JS to look for and loadBullets.\n  * @option\n  * @example true\n  */\n  bullets: true,\n  /**\n  * Tells the JS to apply event listeners to nav buttons\n  * @option\n  * @example true\n  */\n  navButtons: true,\n  /**\n  * motion-ui animation class to apply\n  * @option\n  * @example 'slide-in-right'\n  */\n  animInFromRight: 'slide-in-right',\n  /**\n  * motion-ui animation class to apply\n  * @option\n  * @example 'slide-out-right'\n  */\n  animOutToRight: 'slide-out-right',\n  /**\n  * motion-ui animation class to apply\n  * @option\n  * @example 'slide-in-left'\n  *\n  */\n  animInFromLeft: 'slide-in-left',\n  /**\n  * motion-ui animation class to apply\n  * @option\n  * @example 'slide-out-left'\n  */\n  animOutToLeft: 'slide-out-left',\n  /**\n  * Allows Orbit to automatically animate on page load.\n  * @option\n  * @example true\n  */\n  autoPlay: true,\n  /**\n  * Amount of time, in ms, between slide transitions\n  * @option\n  * @example 5000\n  */\n  timerDelay: 5000,\n  /**\n  * Allows Orbit to infinitely loop through the slides\n  * @option\n  * @example true\n  */\n  infiniteWrap: true,\n  /**\n  * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n  * @option\n  * @example true\n  */\n  swipe: true,\n  /**\n  * Allows the timing function to pause animation on hover.\n  * @option\n  * @example true\n  */\n  pauseOnHover: true,\n  /**\n  * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n  * @option\n  * @example true\n  */\n  accessible: true,\n  /**\n  * Class applied to the container of Orbit\n  * @option\n  * @example 'orbit-container'\n  */\n  containerClass: 'orbit-container',\n  /**\n  * Class applied to individual slides.\n  * @option\n  * @example 'orbit-slide'\n  */\n  slideClass: 'orbit-slide',\n  /**\n  * Class applied to the bullet container. You're welcome.\n  * @option\n  * @example 'orbit-bullets'\n  */\n  boxOfBullets: 'orbit-bullets',\n  /**\n  * Class applied to the `next` navigation button.\n  * @option\n  * @example 'orbit-next'\n  */\n  nextClass: 'orbit-next',\n  /**\n  * Class applied to the `previous` navigation button.\n  * @option\n  * @example 'orbit-previous'\n  */\n  prevClass: 'orbit-previous',\n  /**\n  * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.\n  * @option\n  * @example true\n  */\n  useMUI: true\n};\n\n// Window exports\nFoundation.plugin(Orbit, 'Orbit');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.responsiveMenu.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * ResponsiveMenu module.\n * @module foundation.responsiveMenu\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.accordionMenu\n * @requires foundation.util.drilldown\n * @requires foundation.util.dropdown-menu\n */\n\nclass ResponsiveMenu {\n  /**\n   * Creates a new instance of a responsive menu.\n   * @class\n   * @fires ResponsiveMenu#init\n   * @param {jQuery} element - jQuery object to make into a dropdown menu.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = $(element);\n    this.rules = this.$element.data('responsive-menu');\n    this.currentMq = null;\n    this.currentPlugin = null;\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'ResponsiveMenu');\n  }\n\n  /**\n   * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.\n   * @function\n   * @private\n   */\n  _init() {\n    // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n    if (typeof this.rules === 'string') {\n      let rulesTree = {};\n\n      // Parse rules from \"classes\" pulled from data attribute\n      let rules = this.rules.split(' ');\n\n      // Iterate through every rule found\n      for (let i = 0; i < rules.length; i++) {\n        let rule = rules[i].split('-');\n        let ruleSize = rule.length > 1 ? rule[0] : 'small';\n        let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n        if (MenuPlugins[rulePlugin] !== null) {\n          rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n        }\n      }\n\n      this.rules = rulesTree;\n    }\n\n    if (!$.isEmptyObject(this.rules)) {\n      this._checkMediaQueries();\n    }\n    // Add data-mutate since children may need it.\n    this.$element.attr('data-mutate', (this.$element.attr('data-mutate') || Foundation.GetYoDigits(6, 'responsive-menu')));\n  }\n\n  /**\n   * Initializes events for the Menu.\n   * @function\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    $(window).on('changed.zf.mediaquery', function() {\n      _this._checkMediaQueries();\n    });\n    // $(window).on('resize.zf.ResponsiveMenu', function() {\n    //   _this._checkMediaQueries();\n    // });\n  }\n\n  /**\n   * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n   * @function\n   * @private\n   */\n  _checkMediaQueries() {\n    var matchedMq, _this = this;\n    // Iterate through each rule and find the last matching rule\n    $.each(this.rules, function(key) {\n      if (Foundation.MediaQuery.atLeast(key)) {\n        matchedMq = key;\n      }\n    });\n\n    // No match? No dice\n    if (!matchedMq) return;\n\n    // Plugin already initialized? We good\n    if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n    // Remove existing plugin-specific CSS classes\n    $.each(MenuPlugins, function(key, value) {\n      _this.$element.removeClass(value.cssClass);\n    });\n\n    // Add the CSS class for the new plugin\n    this.$element.addClass(this.rules[matchedMq].cssClass);\n\n    // Create an instance of the new plugin\n    if (this.currentPlugin) this.currentPlugin.destroy();\n    this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n  }\n\n  /**\n   * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n   * @function\n   */\n  destroy() {\n    this.currentPlugin.destroy();\n    $(window).off('.zf.ResponsiveMenu');\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nResponsiveMenu.defaults = {};\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n  dropdown: {\n    cssClass: 'dropdown',\n    plugin: Foundation._plugins['dropdown-menu'] || null\n  },\n drilldown: {\n    cssClass: 'drilldown',\n    plugin: Foundation._plugins['drilldown'] || null\n  },\n  accordion: {\n    cssClass: 'accordion-menu',\n    plugin: Foundation._plugins['accordion-menu'] || null\n  }\n};\n\n// Window exports\nFoundation.plugin(ResponsiveMenu, 'ResponsiveMenu');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.responsiveToggle.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * ResponsiveToggle module.\n * @module foundation.responsiveToggle\n * @requires foundation.util.mediaQuery\n */\n\nclass ResponsiveToggle {\n  /**\n   * Creates a new instance of Tab Bar.\n   * @class\n   * @fires ResponsiveToggle#init\n   * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = $(element);\n    this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'ResponsiveToggle');\n  }\n\n  /**\n   * Initializes the tab bar by finding the target element, toggling element, and running update().\n   * @function\n   * @private\n   */\n  _init() {\n    var targetID = this.$element.data('responsive-toggle');\n    if (!targetID) {\n      console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n    }\n\n    this.$targetMenu = $(`#${targetID}`);\n    this.$toggler = this.$element.find('[data-toggle]');\n    this.options = $.extend({}, this.options, this.$targetMenu.data());\n\n    // If they were set, parse the animation classes\n    if(this.options.animate) {\n      let input = this.options.animate.split(' ');\n\n      this.animationIn = input[0];\n      this.animationOut = input[1] || null;\n    }\n\n    this._update();\n  }\n\n  /**\n   * Adds necessary event handlers for the tab bar to work.\n   * @function\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    this._updateMqHandler = this._update.bind(this);\n\n    $(window).on('changed.zf.mediaquery', this._updateMqHandler);\n\n    this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n  }\n\n  /**\n   * Checks the current media query to determine if the tab bar should be visible or hidden.\n   * @function\n   * @private\n   */\n  _update() {\n    // Mobile\n    if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n      this.$element.show();\n      this.$targetMenu.hide();\n    }\n\n    // Desktop\n    else {\n      this.$element.hide();\n      this.$targetMenu.show();\n    }\n  }\n\n  /**\n   * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n   * @function\n   * @fires ResponsiveToggle#toggled\n   */\n  toggleMenu() {\n    if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {\n      if(this.options.animate) {\n        if (this.$targetMenu.is(':hidden')) {\n          Foundation.Motion.animateIn(this.$targetMenu, this.animationIn, () => {\n            /**\n             * Fires when the element attached to the tab bar toggles.\n             * @event ResponsiveToggle#toggled\n             */\n            this.$element.trigger('toggled.zf.responsiveToggle');\n            this.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n          });\n        }\n        else {\n          Foundation.Motion.animateOut(this.$targetMenu, this.animationOut, () => {\n            /**\n             * Fires when the element attached to the tab bar toggles.\n             * @event ResponsiveToggle#toggled\n             */\n            this.$element.trigger('toggled.zf.responsiveToggle');\n          });\n        }\n      }\n      else {\n        this.$targetMenu.toggle(0);\n        this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n\n        /**\n         * Fires when the element attached to the tab bar toggles.\n         * @event ResponsiveToggle#toggled\n         */\n        this.$element.trigger('toggled.zf.responsiveToggle');\n      }\n    }\n  };\n\n  destroy() {\n    this.$element.off('.zf.responsiveToggle');\n    this.$toggler.off('.zf.responsiveToggle');\n\n    $(window).off('changed.zf.mediaquery', this._updateMqHandler);\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nResponsiveToggle.defaults = {\n  /**\n   * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n   * @option\n   * @example 'medium'\n   */\n  hideFor: 'medium',\n\n  /**\n   * To decide if the toggle should be animated or not.\n   * @option\n   * @example false\n   */\n  animate: false\n};\n\n// Window exports\nFoundation.plugin(ResponsiveToggle, 'ResponsiveToggle');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.reveal.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal {\n  /**\n   * Creates a new instance of Reveal.\n   * @class\n   * @param {jQuery} element - jQuery object to use for the modal.\n   * @param {Object} options - optional parameters.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n    this._init();\n\n    Foundation.registerPlugin(this, 'Reveal');\n    Foundation.Keyboard.register('Reveal', {\n      'ENTER': 'open',\n      'SPACE': 'open',\n      'ESCAPE': 'close',\n    });\n  }\n\n  /**\n   * Initializes the modal by adding the overlay and close buttons, (if selected).\n   * @private\n   */\n  _init() {\n    this.id = this.$element.attr('id');\n    this.isActive = false;\n    this.cached = {mq: Foundation.MediaQuery.current};\n    this.isMobile = mobileSniff();\n\n    this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n    this.$anchor.attr({\n      'aria-controls': this.id,\n      'aria-haspopup': true,\n      'tabindex': 0\n    });\n\n    if (this.options.fullScreen || this.$element.hasClass('full')) {\n      this.options.fullScreen = true;\n      this.options.overlay = false;\n    }\n    if (this.options.overlay && !this.$overlay) {\n      this.$overlay = this._makeOverlay(this.id);\n    }\n\n    this.$element.attr({\n        'role': 'dialog',\n        'aria-hidden': true,\n        'data-yeti-box': this.id,\n        'data-resize': this.id\n    });\n\n    if(this.$overlay) {\n      this.$element.detach().appendTo(this.$overlay);\n    } else {\n      this.$element.detach().appendTo($(this.options.appendTo));\n      this.$element.addClass('without-overlay');\n    }\n    this._events();\n    if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n      $(window).one('load.zf.reveal', this.open.bind(this));\n    }\n  }\n\n  /**\n   * Creates an overlay div to display behind the modal.\n   * @private\n   */\n  _makeOverlay() {\n    return $('<div></div>')\n      .addClass('reveal-overlay')\n      .appendTo(this.options.appendTo);\n  }\n\n  /**\n   * Updates position of modal\n   * TODO:  Figure out if we actually need to cache these values or if it doesn't matter\n   * @private\n   */\n  _updatePosition() {\n    var width = this.$element.outerWidth();\n    var outerWidth = $(window).width();\n    var height = this.$element.outerHeight();\n    var outerHeight = $(window).height();\n    var left, top;\n    if (this.options.hOffset === 'auto') {\n      left = parseInt((outerWidth - width) / 2, 10);\n    } else {\n      left = parseInt(this.options.hOffset, 10);\n    }\n    if (this.options.vOffset === 'auto') {\n      if (height > outerHeight) {\n        top = parseInt(Math.min(100, outerHeight / 10), 10);\n      } else {\n        top = parseInt((outerHeight - height) / 4, 10);\n      }\n    } else {\n      top = parseInt(this.options.vOffset, 10);\n    }\n    this.$element.css({top: top + 'px'});\n    // only worry about left if we don't have an overlay or we havea  horizontal offset,\n    // otherwise we're perfectly in the middle\n    if(!this.$overlay || (this.options.hOffset !== 'auto')) {\n      this.$element.css({left: left + 'px'});\n      this.$element.css({margin: '0px'});\n    }\n\n  }\n\n  /**\n   * Adds event handlers for the modal.\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    this.$element.on({\n      'open.zf.trigger': this.open.bind(this),\n      'close.zf.trigger': (event, $element) => {\n        if ((event.target === _this.$element[0]) ||\n            ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n          return this.close.apply(this);\n        }\n      },\n      'toggle.zf.trigger': this.toggle.bind(this),\n      'resizeme.zf.trigger': function() {\n        _this._updatePosition();\n      }\n    });\n\n    if (this.$anchor.length) {\n      this.$anchor.on('keydown.zf.reveal', function(e) {\n        if (e.which === 13 || e.which === 32) {\n          e.stopPropagation();\n          e.preventDefault();\n          _this.open();\n        }\n      });\n    }\n\n    if (this.options.closeOnClick && this.options.overlay) {\n      this.$overlay.off('.zf.reveal').on('click.zf.reveal', function(e) {\n        if (e.target === _this.$element[0] ||\n          $.contains(_this.$element[0], e.target) ||\n            !$.contains(document, e.target)) {\n              return;\n        }\n        _this.close();\n      });\n    }\n    if (this.options.deepLink) {\n      $(window).on(`popstate.zf.reveal:${this.id}`, this._handleState.bind(this));\n    }\n  }\n\n  /**\n   * Handles modal methods on back/forward button clicks or any other event that triggers popstate.\n   * @private\n   */\n  _handleState(e) {\n    if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n    else{ this.close(); }\n  }\n\n\n  /**\n   * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n   * @function\n   * @fires Reveal#closeme\n   * @fires Reveal#open\n   */\n  open() {\n    if (this.options.deepLink) {\n      var hash = `#${this.id}`;\n\n      if (window.history.pushState) {\n        window.history.pushState(null, null, hash);\n      } else {\n        window.location.hash = hash;\n      }\n    }\n\n    this.isActive = true;\n\n    // Make elements invisible, but remove display: none so we can get size and positioning\n    this.$element\n        .css({ 'visibility': 'hidden' })\n        .show()\n        .scrollTop(0);\n    if (this.options.overlay) {\n      this.$overlay.css({'visibility': 'hidden'}).show();\n    }\n\n    this._updatePosition();\n\n    this.$element\n      .hide()\n      .css({ 'visibility': '' });\n\n    if(this.$overlay) {\n      this.$overlay.css({'visibility': ''}).hide();\n      if(this.$element.hasClass('fast')) {\n        this.$overlay.addClass('fast');\n      } else if (this.$element.hasClass('slow')) {\n        this.$overlay.addClass('slow');\n      }\n    }\n\n\n    if (!this.options.multipleOpened) {\n      /**\n       * Fires immediately before the modal opens.\n       * Closes any other modals that are currently open\n       * @event Reveal#closeme\n       */\n      this.$element.trigger('closeme.zf.reveal', this.id);\n    }\n\n    var _this = this;\n\n    function addRevealOpenClasses() {\n      if (_this.isMobile) {\n        if(!_this.originalScrollPos) {\n          _this.originalScrollPos = window.pageYOffset;\n        }\n        $('html, body').addClass('is-reveal-open');\n      }\n      else {\n        $('body').addClass('is-reveal-open');\n      }\n    }\n    // Motion UI method of reveal\n    if (this.options.animationIn) {\n      function afterAnimation(){\n        _this.$element\n          .attr({\n            'aria-hidden': false,\n            'tabindex': -1\n          })\n          .focus();\n        addRevealOpenClasses();\n        Foundation.Keyboard.trapFocus(_this.$element);\n      }\n      if (this.options.overlay) {\n        Foundation.Motion.animateIn(this.$overlay, 'fade-in');\n      }\n      Foundation.Motion.animateIn(this.$element, this.options.animationIn, () => {\n        if(this.$element) { // protect against object having been removed\n          this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);\n          afterAnimation();\n        }\n      });\n    }\n    // jQuery method of reveal\n    else {\n      if (this.options.overlay) {\n        this.$overlay.show(0);\n      }\n      this.$element.show(this.options.showDelay);\n    }\n\n    // handle accessibility\n    this.$element\n      .attr({\n        'aria-hidden': false,\n        'tabindex': -1\n      })\n      .focus();\n    Foundation.Keyboard.trapFocus(this.$element);\n\n    /**\n     * Fires when the modal has successfully opened.\n     * @event Reveal#open\n     */\n    this.$element.trigger('open.zf.reveal');\n\n    addRevealOpenClasses();\n\n    setTimeout(() => {\n      this._extraHandlers();\n    }, 0);\n  }\n\n  /**\n   * Adds extra event handlers for the body and window if necessary.\n   * @private\n   */\n  _extraHandlers() {\n    var _this = this;\n    if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n    this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);\n\n    if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n      $('body').on('click.zf.reveal', function(e) {\n        if (e.target === _this.$element[0] ||\n          $.contains(_this.$element[0], e.target) ||\n            !$.contains(document, e.target)) { return; }\n        _this.close();\n      });\n    }\n\n    if (this.options.closeOnEsc) {\n      $(window).on('keydown.zf.reveal', function(e) {\n        Foundation.Keyboard.handleKey(e, 'Reveal', {\n          close: function() {\n            if (_this.options.closeOnEsc) {\n              _this.close();\n              _this.$anchor.focus();\n            }\n          }\n        });\n      });\n    }\n\n    // lock focus within modal while tabbing\n    this.$element.on('keydown.zf.reveal', function(e) {\n      var $target = $(this);\n      // handle keyboard event with keyboard util\n      Foundation.Keyboard.handleKey(e, 'Reveal', {\n        open: function() {\n          if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {\n            setTimeout(function() { // set focus back to anchor if close button has been activated\n              _this.$anchor.focus();\n            }, 1);\n          } else if ($target.is(_this.focusableElements)) { // dont't trigger if acual element has focus (i.e. inputs, links, ...)\n            _this.open();\n          }\n        },\n        close: function() {\n          if (_this.options.closeOnEsc) {\n            _this.close();\n            _this.$anchor.focus();\n          }\n        },\n        handled: function(preventDefault) {\n          if (preventDefault) {\n            e.preventDefault();\n          }\n        }\n      });\n    });\n  }\n\n  /**\n   * Closes the modal.\n   * @function\n   * @fires Reveal#closed\n   */\n  close() {\n    if (!this.isActive || !this.$element.is(':visible')) {\n      return false;\n    }\n    var _this = this;\n\n    // Motion UI method of hiding\n    if (this.options.animationOut) {\n      if (this.options.overlay) {\n        Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);\n      }\n      else {\n        finishUp();\n      }\n\n      Foundation.Motion.animateOut(this.$element, this.options.animationOut);\n    }\n    // jQuery method of hiding\n    else {\n      if (this.options.overlay) {\n        this.$overlay.hide(0, finishUp);\n      }\n      else {\n        finishUp();\n      }\n\n      this.$element.hide(this.options.hideDelay);\n    }\n\n    // Conditionals to remove extra event listeners added on open\n    if (this.options.closeOnEsc) {\n      $(window).off('keydown.zf.reveal');\n    }\n\n    if (!this.options.overlay && this.options.closeOnClick) {\n      $('body').off('click.zf.reveal');\n    }\n\n    this.$element.off('keydown.zf.reveal');\n\n    function finishUp() {\n      if (_this.isMobile) {\n        $('html, body').removeClass('is-reveal-open');\n        if(_this.originalScrollPos) {\n          $('body').scrollTop(_this.originalScrollPos);\n          _this.originalScrollPos = null;\n        }\n      }\n      else {\n        $('body').removeClass('is-reveal-open');\n      }\n\n\n      Foundation.Keyboard.releaseFocus(_this.$element);\n\n      _this.$element.attr('aria-hidden', true);\n\n      /**\n      * Fires when the modal is done closing.\n      * @event Reveal#closed\n      */\n      _this.$element.trigger('closed.zf.reveal');\n    }\n\n    /**\n    * Resets the modal content\n    * This prevents a running video to keep going in the background\n    */\n    if (this.options.resetOnClose) {\n      this.$element.html(this.$element.html());\n    }\n\n    this.isActive = false;\n     if (_this.options.deepLink) {\n       if (window.history.replaceState) {\n         window.history.replaceState('', document.title, window.location.href.replace(`#${this.id}`, ''));\n       } else {\n         window.location.hash = '';\n       }\n     }\n  }\n\n  /**\n   * Toggles the open/closed state of a modal.\n   * @function\n   */\n  toggle() {\n    if (this.isActive) {\n      this.close();\n    } else {\n      this.open();\n    }\n  };\n\n  /**\n   * Destroys an instance of a modal.\n   * @function\n   */\n  destroy() {\n    if (this.options.overlay) {\n      this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n      this.$overlay.hide().off().remove();\n    }\n    this.$element.hide().off();\n    this.$anchor.off('.zf');\n    $(window).off(`.zf.reveal:${this.id}`);\n\n    Foundation.unregisterPlugin(this);\n  };\n}\n\nReveal.defaults = {\n  /**\n   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n   * @option\n   * @example 'slide-in-left'\n   */\n  animationIn: '',\n  /**\n   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n   * @option\n   * @example 'slide-out-right'\n   */\n  animationOut: '',\n  /**\n   * Time, in ms, to delay the opening of a modal after a click if no animation used.\n   * @option\n   * @example 10\n   */\n  showDelay: 0,\n  /**\n   * Time, in ms, to delay the closing of a modal after a click if no animation used.\n   * @option\n   * @example 10\n   */\n  hideDelay: 0,\n  /**\n   * Allows a click on the body/overlay to close the modal.\n   * @option\n   * @example true\n   */\n  closeOnClick: true,\n  /**\n   * Allows the modal to close if the user presses the `ESCAPE` key.\n   * @option\n   * @example true\n   */\n  closeOnEsc: true,\n  /**\n   * If true, allows multiple modals to be displayed at once.\n   * @option\n   * @example false\n   */\n  multipleOpened: false,\n  /**\n   * Distance, in pixels, the modal should push down from the top of the screen.\n   * @option\n   * @example auto\n   */\n  vOffset: 'auto',\n  /**\n   * Distance, in pixels, the modal should push in from the side of the screen.\n   * @option\n   * @example auto\n   */\n  hOffset: 'auto',\n  /**\n   * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n   * @option\n   * @example false\n   */\n  fullScreen: false,\n  /**\n   * Percentage of screen height the modal should push up from the bottom of the view.\n   * @option\n   * @example 10\n   */\n  btmOffsetPct: 10,\n  /**\n   * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n   * @option\n   * @example true\n   */\n  overlay: true,\n  /**\n   * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n   * @option\n   * @example false\n   */\n  resetOnClose: false,\n  /**\n   * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.\n   * @option\n   * @example false\n   */\n  deepLink: false,\n    /**\n   * Allows the modal to append to custom div.\n   * @option\n   * @example false\n   */\n  appendTo: \"body\"\n\n};\n\n// Window exports\nFoundation.plugin(Reveal, 'Reveal');\n\nfunction iPhoneSniff() {\n  return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);\n}\n\nfunction androidSniff() {\n  return /Android/.test(window.navigator.userAgent);\n}\n\nfunction mobileSniff() {\n  return iPhoneSniff() || androidSniff();\n}\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.slider.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider {\n  /**\n   * Creates a new instance of a slider control.\n   * @class\n   * @param {jQuery} element - jQuery object to make into a slider control.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Slider');\n    Foundation.Keyboard.register('Slider', {\n      'ltr': {\n        'ARROW_RIGHT': 'increase',\n        'ARROW_UP': 'increase',\n        'ARROW_DOWN': 'decrease',\n        'ARROW_LEFT': 'decrease',\n        'SHIFT_ARROW_RIGHT': 'increase_fast',\n        'SHIFT_ARROW_UP': 'increase_fast',\n        'SHIFT_ARROW_DOWN': 'decrease_fast',\n        'SHIFT_ARROW_LEFT': 'decrease_fast'\n      },\n      'rtl': {\n        'ARROW_LEFT': 'increase',\n        'ARROW_RIGHT': 'decrease',\n        'SHIFT_ARROW_LEFT': 'increase_fast',\n        'SHIFT_ARROW_RIGHT': 'decrease_fast'\n      }\n    });\n  }\n\n  /**\n   * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n   * @function\n   * @private\n   */\n  _init() {\n    this.inputs = this.$element.find('input');\n    this.handles = this.$element.find('[data-slider-handle]');\n\n    this.$handle = this.handles.eq(0);\n    this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n    this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n    var isDbl = false,\n        _this = this;\n    if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n      this.options.disabled = true;\n      this.$element.addClass(this.options.disabledClass);\n    }\n    if (!this.inputs.length) {\n      this.inputs = $().add(this.$input);\n      this.options.binding = true;\n    }\n\n    this._setInitAttr(0);\n\n    if (this.handles[1]) {\n      this.options.doubleSided = true;\n      this.$handle2 = this.handles.eq(1);\n      this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n      if (!this.inputs[1]) {\n        this.inputs = this.inputs.add(this.$input2);\n      }\n      isDbl = true;\n\n      // this.$handle.triggerHandler('click.zf.slider');\n      this._setInitAttr(1);\n    }\n\n    // Set handle positions\n    this.setHandles();\n\n    this._events();\n  }\n\n  setHandles() {\n    if(this.handles[1]) {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true, () => {\n        this._setHandlePos(this.$handle2, this.inputs.eq(1).val(), true);\n      });\n    } else {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true);\n    }\n  }\n\n  _reflow() {\n    this.setHandles();\n  }\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n  */\n  _pctOfBar(value) {\n    var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    }\n\n    return pctOfBar.toFixed(2)\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n  */\n  _value(pctOfBar) {\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    }\n    var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;\n\n    return value\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n  */\n  _logTransform(value) {\n    return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n  */\n  _powTransform(value) {\n    return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n  }\n\n  /**\n   * Sets the position of the selected handle and fill bar.\n   * @function\n   * @private\n   * @param {jQuery} $hndl - the selected handle to move.\n   * @param {Number} location - floating point between the start and end values of the slider bar.\n   * @param {Function} cb - callback function to fire on completion.\n   * @fires Slider#moved\n   * @fires Slider#changed\n   */\n  _setHandlePos($hndl, location, noInvert, cb) {\n    // don't move if the slider has been disabled since its initialization\n    if (this.$element.hasClass(this.options.disabledClass)) {\n      return;\n    }\n    //might need to alter that slightly for bars that will have odd number selections.\n    location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n    // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n    if (location < this.options.start) { location = this.options.start; }\n    else if (location > this.options.end) { location = this.options.end; }\n\n    var isDbl = this.options.doubleSided;\n\n    if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n      if (this.handles.index($hndl) === 0) {\n        var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n        location = location >= h2Val ? h2Val - this.options.step : location;\n      } else {\n        var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n        location = location <= h1Val ? h1Val + this.options.step : location;\n      }\n    }\n\n    //this is for single-handled vertical sliders, it adjusts the value to account for the slider being \"upside-down\"\n    //for click and drag events, it's weird due to the scale(-1, 1) css property\n    if (this.options.vertical && !noInvert) {\n      location = this.options.end - location;\n    }\n\n    var _this = this,\n        vert = this.options.vertical,\n        hOrW = vert ? 'height' : 'width',\n        lOrT = vert ? 'top' : 'left',\n        handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n        elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n        location = parseFloat(location.toFixed(this.options.decimal));\n        // declare empty object for css adjustments, only used with 2 handled-sliders\n    var css = {};\n\n    this._setValues($hndl, location);\n\n    // TODO update to calculate based on values set to respective inputs??\n    if (isDbl) {\n      var isLeftHndl = this.handles.index($hndl) === 0,\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n          //percentage w/h of the handle compared to the slider bar\n          handlePct =  ~~(percent(handleDim, elemDim) * 100);\n      //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n      if (isLeftHndl) {\n        //left or top percentage value to apply to the fill bar.\n        css[lOrT] = `${movement}%`;\n        //calculate the new min-height/width for the fill bar.\n        dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n        //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n        //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n        if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n      } else {\n        //just caching the value of the left/bottom handle's left/top property\n        var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n        //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n        //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n        dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n      }\n      // assign the min-height/width to our css object\n      css[`min-${hOrW}`] = `${dim}%`;\n    }\n\n    this.$element.one('finished.zf.animate', function() {\n                    /**\n                     * Fires when the handle is done moving.\n                     * @event Slider#moved\n                     */\n                    _this.$element.trigger('moved.zf.slider', [$hndl]);\n                });\n\n    //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n    var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n    Foundation.Move(moveTime, $hndl, function() {\n      // adjusting the left/top property of the handle, based on the percentage calculated above\n      // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n      // fall back to next best guess.\n      if (isNaN(movement)) {\n        $hndl.css(lOrT, `${pctOfBar * 100}%`);\n      }\n      else {\n        $hndl.css(lOrT, `${movement}%`);\n      }\n\n      if (!_this.options.doubleSided) {\n        //if single-handled, a simple method to expand the fill bar\n        _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n      } else {\n        //otherwise, use the css object we created above\n        _this.$fill.css(css);\n      }\n    });\n\n\n    /**\n     * Fires when the value has not been change for a given time.\n     * @event Slider#changed\n     */\n    clearTimeout(_this.timeout);\n    _this.timeout = setTimeout(function(){\n      _this.$element.trigger('changed.zf.slider', [$hndl]);\n    }, _this.options.changedDelay);\n  }\n\n  /**\n   * Sets the initial attribute for the slider element.\n   * @function\n   * @private\n   * @param {Number} idx - index of the current handle/input to use.\n   */\n  _setInitAttr(idx) {\n    var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n    var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');\n    this.inputs.eq(idx).attr({\n      'id': id,\n      'max': this.options.end,\n      'min': this.options.start,\n      'step': this.options.step\n    });\n    this.inputs.eq(idx).val(initVal);\n    this.handles.eq(idx).attr({\n      'role': 'slider',\n      'aria-controls': id,\n      'aria-valuemax': this.options.end,\n      'aria-valuemin': this.options.start,\n      'aria-valuenow': initVal,\n      'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n      'tabindex': 0\n    });\n  }\n\n  /**\n   * Sets the input and `aria-valuenow` values for the slider element.\n   * @function\n   * @private\n   * @param {jQuery} $handle - the currently selected handle.\n   * @param {Number} val - floating point of the new value.\n   */\n  _setValues($handle, val) {\n    var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n    this.inputs.eq(idx).val(val);\n    $handle.attr('aria-valuenow', val);\n  }\n\n  /**\n   * Handles events on the slider element.\n   * Calculates the new location of the current handle.\n   * If there are two handles and the bar was clicked, it determines which handle to move.\n   * @function\n   * @private\n   * @param {Object} e - the `event` object passed from the listener.\n   * @param {jQuery} $handle - the current handle to calculate for, if selected.\n   * @param {Number} val - floating point number for the new value of the slider.\n   * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n   */\n  _handleEvent(e, $handle, val) {\n    var value, hasVal;\n    if (!val) {//click or drag events\n      e.preventDefault();\n      var _this = this,\n          vertical = this.options.vertical,\n          param = vertical ? 'height' : 'width',\n          direction = vertical ? 'top' : 'left',\n          eventOffset = vertical ? e.pageY : e.pageX,\n          halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,\n          barDim = this.$element[0].getBoundingClientRect()[param],\n          windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n\n      var elemOffset = this.$element.offset()[direction];\n\n      // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n      // best way to guess this is simulated is if clientY == pageY\n      if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n      var eventFromBar = eventOffset - elemOffset;\n      var barXY;\n      if (eventFromBar < 0) {\n        barXY = 0;\n      } else if (eventFromBar > barDim) {\n        barXY = barDim;\n      } else {\n        barXY = eventFromBar;\n      }\n      var offsetPct = percent(barXY, barDim);\n\n      value = this._value(offsetPct);\n\n      // turn everything around for RTL, yay math!\n      if (Foundation.rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n      value = _this._adjustValue(null, value);\n      //boolean flag for the setHandlePos fn, specifically for vertical sliders\n      hasVal = false;\n\n      if (!$handle) {//figure out which handle it is, pass it to the next function.\n        var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n            secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n      }\n\n    } else {//change event on input\n      value = this._adjustValue(null, val);\n      hasVal = true;\n    }\n\n    this._setHandlePos($handle, value, hasVal);\n  }\n\n  /**\n   * Adjustes value for handle in regard to step value. returns adjusted value\n   * @function\n   * @private\n   * @param {jQuery} $handle - the selected handle.\n   * @param {Number} value - value to adjust. used if $handle is falsy\n   */\n  _adjustValue($handle, value) {\n    var val,\n      step = this.options.step,\n      div = parseFloat(step/2),\n      left, prev_val, next_val;\n    if (!!$handle) {\n      val = parseFloat($handle.attr('aria-valuenow'));\n    }\n    else {\n      val = value;\n    }\n    left = val % step;\n    prev_val = val - left;\n    next_val = prev_val + step;\n    if (left === 0) {\n      return val;\n    }\n    val = val >= prev_val + div ? next_val : prev_val;\n    return val;\n  }\n\n  /**\n   * Adds event listeners to the slider elements.\n   * @function\n   * @private\n   */\n  _events() {\n    this._eventsForHandle(this.$handle);\n    if(this.handles[1]) {\n      this._eventsForHandle(this.$handle2);\n    }\n  }\n\n\n  /**\n   * Adds event listeners a particular handle\n   * @function\n   * @private\n   * @param {jQuery} $handle - the current handle to apply listeners to.\n   */\n  _eventsForHandle($handle) {\n    var _this = this,\n        curHandle,\n        timer;\n\n      this.inputs.off('change.zf.slider').on('change.zf.slider', function(e) {\n        var idx = _this.inputs.index($(this));\n        _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n      });\n\n      if (this.options.clickSelect) {\n        this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n          if (_this.$element.data('dragging')) { return false; }\n\n          if (!$(e.target).is('[data-slider-handle]')) {\n            if (_this.options.doubleSided) {\n              _this._handleEvent(e);\n            } else {\n              _this._handleEvent(e, _this.$handle);\n            }\n          }\n        });\n      }\n\n    if (this.options.draggable) {\n      this.handles.addTouch();\n\n      var $body = $('body');\n      $handle\n        .off('mousedown.zf.slider')\n        .on('mousedown.zf.slider', function(e) {\n          $handle.addClass('is-dragging');\n          _this.$fill.addClass('is-dragging');//\n          _this.$element.data('dragging', true);\n\n          curHandle = $(e.currentTarget);\n\n          $body.on('mousemove.zf.slider', function(e) {\n            e.preventDefault();\n            _this._handleEvent(e, curHandle);\n\n          }).on('mouseup.zf.slider', function(e) {\n            _this._handleEvent(e, curHandle);\n\n            $handle.removeClass('is-dragging');\n            _this.$fill.removeClass('is-dragging');\n            _this.$element.data('dragging', false);\n\n            $body.off('mousemove.zf.slider mouseup.zf.slider');\n          });\n      })\n      // prevent events triggered by touch\n      .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n        e.preventDefault();\n      });\n    }\n\n    $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n      var _$handle = $(this),\n          idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n          oldValue = parseFloat(_this.inputs.eq(idx).val()),\n          newValue;\n\n      // handle keyboard event with keyboard util\n      Foundation.Keyboard.handleKey(e, 'Slider', {\n        decrease: function() {\n          newValue = oldValue - _this.options.step;\n        },\n        increase: function() {\n          newValue = oldValue + _this.options.step;\n        },\n        decrease_fast: function() {\n          newValue = oldValue - _this.options.step * 10;\n        },\n        increase_fast: function() {\n          newValue = oldValue + _this.options.step * 10;\n        },\n        handled: function() { // only set handle pos when event was handled specially\n          e.preventDefault();\n          _this._setHandlePos(_$handle, newValue, true);\n        }\n      });\n      /*if (newValue) { // if pressed key has special function, update value\n        e.preventDefault();\n        _this._setHandlePos(_$handle, newValue);\n      }*/\n    });\n  }\n\n  /**\n   * Destroys the slider plugin.\n   */\n  destroy() {\n    this.handles.off('.zf.slider');\n    this.inputs.off('.zf.slider');\n    this.$element.off('.zf.slider');\n\n    clearTimeout(this.timeout);\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nSlider.defaults = {\n  /**\n   * Minimum value for the slider scale.\n   * @option\n   * @example 0\n   */\n  start: 0,\n  /**\n   * Maximum value for the slider scale.\n   * @option\n   * @example 100\n   */\n  end: 100,\n  /**\n   * Minimum value change per change event.\n   * @option\n   * @example 1\n   */\n  step: 1,\n  /**\n   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n   * @option\n   * @example 0\n   */\n  initialStart: 0,\n  /**\n   * Value at which the right handle/second input should be set to on initialization.\n   * @option\n   * @example 100\n   */\n  initialEnd: 100,\n  /**\n   * Allows the input to be located outside the container and visible. Set to by the JS\n   * @option\n   * @example false\n   */\n  binding: false,\n  /**\n   * Allows the user to click/tap on the slider bar to select a value.\n   * @option\n   * @example true\n   */\n  clickSelect: true,\n  /**\n   * Set to true and use the `vertical` class to change alignment to vertical.\n   * @option\n   * @example false\n   */\n  vertical: false,\n  /**\n   * Allows the user to drag the slider handle(s) to select a value.\n   * @option\n   * @example true\n   */\n  draggable: true,\n  /**\n   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n   * @option\n   * @example false\n   */\n  disabled: false,\n  /**\n   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n   * @option\n   * @example false\n   */\n  doubleSided: false,\n  /**\n   * Potential future feature.\n   */\n  // steps: 100,\n  /**\n   * Number of decimal places the plugin should go to for floating point precision.\n   * @option\n   * @example 2\n   */\n  decimal: 2,\n  /**\n   * Time delay for dragged elements.\n   */\n  // dragDelay: 0,\n  /**\n   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n   * @option\n   * @example 200\n   */\n  moveTime: 200,//update this if changing the transition time in the sass\n  /**\n   * Class applied to disabled sliders.\n   * @option\n   * @example 'disabled'\n   */\n  disabledClass: 'disabled',\n  /**\n   * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n   * @option\n   * @example false\n   */\n  invertVertical: false,\n  /**\n   * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n   * @option\n   * @example 500\n   */\n  changedDelay: 500,\n  /**\n  * Basevalue for non-linear sliders\n  * @option\n  * @example 5\n  */\n  nonLinearBase: 5,\n  /**\n  * Basevalue for non-linear sliders, possible values are: 'linear', 'pow' & 'log'. Pow and Log use the nonLinearBase setting.\n  * @option\n  * @example 'linear'\n  */\n  positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n  return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n  return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n  return Math.log(value)/Math.log(base)\n}\n\n// Window exports\nFoundation.plugin(Slider, 'Slider');\n\n}(jQuery);\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.sticky.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky {\n  /**\n   * Creates a new instance of a sticky thing.\n   * @class\n   * @param {jQuery} element - jQuery object to make sticky.\n   * @param {Object} options - options object passed when creating the element programmatically.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n\n    this._init();\n\n    Foundation.registerPlugin(this, 'Sticky');\n  }\n\n  /**\n   * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n   * @function\n   * @private\n   */\n  _init() {\n    var $parent = this.$element.parent('[data-sticky-container]'),\n        id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),\n        _this = this;\n\n    if (!$parent.length) {\n      this.wasWrapped = true;\n    }\n    this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);\n    this.$container.addClass(this.options.containerClass);\n\n    this.$element.addClass(this.options.stickyClass)\n                 .attr({'data-resize': id});\n\n    this.scrollCount = this.options.checkEvery;\n    this.isStuck = false;\n    $(window).one('load.zf.sticky', function(){\n      //We calculate the container height to have correct values for anchor points offset calculation.\n      _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n      _this.$container.css('height', _this.containerHeight);\n      _this.elemHeight = _this.containerHeight;\n      if(_this.options.anchor !== ''){\n        _this.$anchor = $('#' + _this.options.anchor);\n      }else{\n        _this._parsePoints();\n      }\n\n      _this._setSizes(function(){\n        var scroll = window.pageYOffset;\n        _this._calc(false, scroll);\n        //Unstick the element will ensure that proper classes are set.\n        if (!_this.isStuck) {\n          _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n        }\n      });\n      _this._events(id.split('-').reverse().join('-'));\n    });\n  }\n\n  /**\n   * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n   * @function\n   * @private\n   */\n  _parsePoints() {\n    var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n        btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n        pts = [top, btm],\n        breaks = {};\n    for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n      var pt;\n      if (typeof pts[i] === 'number') {\n        pt = pts[i];\n      } else {\n        var place = pts[i].split(':'),\n            anchor = $(`#${place[0]}`);\n\n        pt = anchor.offset().top;\n        if (place[1] && place[1].toLowerCase() === 'bottom') {\n          pt += anchor[0].getBoundingClientRect().height;\n        }\n      }\n      breaks[i] = pt;\n    }\n\n\n    this.points = breaks;\n    return;\n  }\n\n  /**\n   * Adds event handlers for the scrolling element.\n   * @private\n   * @param {String} id - psuedo-random id for unique scroll event listener.\n   */\n  _events(id) {\n    var _this = this,\n        scrollListener = this.scrollListener = `scroll.zf.${id}`;\n    if (this.isOn) { return; }\n    if (this.canStick) {\n      this.isOn = true;\n      $(window).off(scrollListener)\n               .on(scrollListener, function(e) {\n                 if (_this.scrollCount === 0) {\n                   _this.scrollCount = _this.options.checkEvery;\n                   _this._setSizes(function() {\n                     _this._calc(false, window.pageYOffset);\n                   });\n                 } else {\n                   _this.scrollCount--;\n                   _this._calc(false, window.pageYOffset);\n                 }\n              });\n    }\n\n    this.$element.off('resizeme.zf.trigger')\n                 .on('resizeme.zf.trigger', function(e, el) {\n                     _this._setSizes(function() {\n                       _this._calc(false);\n                       if (_this.canStick) {\n                         if (!_this.isOn) {\n                           _this._events(id);\n                         }\n                       } else if (_this.isOn) {\n                         _this._pauseListeners(scrollListener);\n                       }\n                     });\n    });\n  }\n\n  /**\n   * Removes event handlers for scroll and change events on anchor.\n   * @fires Sticky#pause\n   * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n   */\n  _pauseListeners(scrollListener) {\n    this.isOn = false;\n    $(window).off(scrollListener);\n\n    /**\n     * Fires when the plugin is paused due to resize event shrinking the view.\n     * @event Sticky#pause\n     * @private\n     */\n     this.$element.trigger('pause.zf.sticky');\n  }\n\n  /**\n   * Called on every `scroll` event and on `_init`\n   * fires functions based on booleans and cached values\n   * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n   * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n   */\n  _calc(checkSizes, scroll) {\n    if (checkSizes) { this._setSizes(); }\n\n    if (!this.canStick) {\n      if (this.isStuck) {\n        this._removeSticky(true);\n      }\n      return false;\n    }\n\n    if (!scroll) { scroll = window.pageYOffset; }\n\n    if (scroll >= this.topPoint) {\n      if (scroll <= this.bottomPoint) {\n        if (!this.isStuck) {\n          this._setSticky();\n        }\n      } else {\n        if (this.isStuck) {\n          this._removeSticky(false);\n        }\n      }\n    } else {\n      if (this.isStuck) {\n        this._removeSticky(true);\n      }\n    }\n  }\n\n  /**\n   * Causes the $element to become stuck.\n   * Adds `position: fixed;`, and helper classes.\n   * @fires Sticky#stuckto\n   * @function\n   * @private\n   */\n  _setSticky() {\n    var _this = this,\n        stickTo = this.options.stickTo,\n        mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n        notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n        css = {};\n\n    css[mrgn] = `${this.options[mrgn]}em`;\n    css[stickTo] = 0;\n    css[notStuckTo] = 'auto';\n    this.isStuck = true;\n    this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n                 .addClass(`is-stuck is-at-${stickTo}`)\n                 .css(css)\n                 /**\n                  * Fires when the $element has become `position: fixed;`\n                  * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n                  * @event Sticky#stuckto\n                  */\n                 .trigger(`sticky.zf.stuckto:${stickTo}`);\n    this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n      _this._setSizes();\n    });\n  }\n\n  /**\n   * Causes the $element to become unstuck.\n   * Removes `position: fixed;`, and helper classes.\n   * Adds other helper classes.\n   * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n   * @fires Sticky#unstuckfrom\n   * @private\n   */\n  _removeSticky(isTop) {\n    var stickTo = this.options.stickTo,\n        stickToTop = stickTo === 'top',\n        css = {},\n        anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n        mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n        notStuckTo = stickToTop ? 'bottom' : 'top',\n        topOrBottom = isTop ? 'top' : 'bottom';\n\n    css[mrgn] = 0;\n\n    css['bottom'] = 'auto';\n    if(isTop) {\n      css['top'] = 0;\n    } else {\n      css['top'] = anchorPt;\n    }\n\n    this.isStuck = false;\n    this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n                 .addClass(`is-anchored is-at-${topOrBottom}`)\n                 .css(css)\n                 /**\n                  * Fires when the $element has become anchored.\n                  * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n                  * @event Sticky#unstuckfrom\n                  */\n                 .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n  }\n\n  /**\n   * Sets the $element and $container sizes for plugin.\n   * Calls `_setBreakPoints`.\n   * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n   * @private\n   */\n  _setSizes(cb) {\n    this.canStick = Foundation.MediaQuery.is(this.options.stickyOn);\n    if (!this.canStick) {\n      if (cb && typeof cb === 'function') { cb(); }\n    }\n    var _this = this,\n        newElemWidth = this.$container[0].getBoundingClientRect().width,\n        comp = window.getComputedStyle(this.$container[0]),\n        pdngl = parseInt(comp['padding-left'], 10),\n        pdngr = parseInt(comp['padding-right'], 10);\n\n    if (this.$anchor && this.$anchor.length) {\n      this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n    } else {\n      this._parsePoints();\n    }\n\n    this.$element.css({\n      'max-width': `${newElemWidth - pdngl - pdngr}px`\n    });\n\n    var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n    if (this.$element.css(\"display\") == \"none\") {\n      newContainerHeight = 0;\n    }\n    this.containerHeight = newContainerHeight;\n    this.$container.css({\n      height: newContainerHeight\n    });\n    this.elemHeight = newContainerHeight;\n\n    if (!this.isStuck) {\n      if (this.$element.hasClass('is-at-bottom')) {\n        var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n        this.$element.css('top', anchorPt);\n      }\n    }\n\n    this._setBreakPoints(newContainerHeight, function() {\n      if (cb && typeof cb === 'function') { cb(); }\n    });\n  }\n\n  /**\n   * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n   * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n   * @param {Function} cb - optional callback function to be called on completion.\n   * @private\n   */\n  _setBreakPoints(elemHeight, cb) {\n    if (!this.canStick) {\n      if (cb && typeof cb === 'function') { cb(); }\n      else { return false; }\n    }\n    var mTop = emCalc(this.options.marginTop),\n        mBtm = emCalc(this.options.marginBottom),\n        topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n        bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n        // topPoint = this.$anchor.offset().top || this.points[0],\n        // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n        winHeight = window.innerHeight;\n\n    if (this.options.stickTo === 'top') {\n      topPoint -= mTop;\n      bottomPoint -= (elemHeight + mTop);\n    } else if (this.options.stickTo === 'bottom') {\n      topPoint -= (winHeight - (elemHeight + mBtm));\n      bottomPoint -= (winHeight - mBtm);\n    } else {\n      //this would be the stickTo: both option... tricky\n    }\n\n    this.topPoint = topPoint;\n    this.bottomPoint = bottomPoint;\n\n    if (cb && typeof cb === 'function') { cb(); }\n  }\n\n  /**\n   * Destroys the current sticky element.\n   * Resets the element to the top position first.\n   * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n   * @function\n   */\n  destroy() {\n    this._removeSticky(true);\n\n    this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n                 .css({\n                   height: '',\n                   top: '',\n                   bottom: '',\n                   'max-width': ''\n                 })\n                 .off('resizeme.zf.trigger');\n    if (this.$anchor && this.$anchor.length) {\n      this.$anchor.off('change.zf.sticky');\n    }\n    $(window).off(this.scrollListener);\n\n    if (this.wasWrapped) {\n      this.$element.unwrap();\n    } else {\n      this.$container.removeClass(this.options.containerClass)\n                     .css({\n                       height: ''\n                     });\n    }\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nSticky.defaults = {\n  /**\n   * Customizable container template. Add your own classes for styling and sizing.\n   * @option\n   * @example '&lt;div data-sticky-container class=\"small-6 columns\"&gt;&lt;/div&gt;'\n   */\n  container: '<div data-sticky-container></div>',\n  /**\n   * Location in the view the element sticks to.\n   * @option\n   * @example 'top'\n   */\n  stickTo: 'top',\n  /**\n   * If anchored to a single element, the id of that element.\n   * @option\n   * @example 'exampleId'\n   */\n  anchor: '',\n  /**\n   * If using more than one element as anchor points, the id of the top anchor.\n   * @option\n   * @example 'exampleId:top'\n   */\n  topAnchor: '',\n  /**\n   * If using more than one element as anchor points, the id of the bottom anchor.\n   * @option\n   * @example 'exampleId:bottom'\n   */\n  btmAnchor: '',\n  /**\n   * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n   * @option\n   * @example 1\n   */\n  marginTop: 1,\n  /**\n   * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n   * @option\n   * @example 1\n   */\n  marginBottom: 1,\n  /**\n   * Breakpoint string that is the minimum screen size an element should become sticky.\n   * @option\n   * @example 'medium'\n   */\n  stickyOn: 'medium',\n  /**\n   * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n   * @option\n   * @example 'sticky'\n   */\n  stickyClass: 'sticky',\n  /**\n   * Class applied to sticky container. Foundation defaults to `sticky-container`.\n   * @option\n   * @example 'sticky-container'\n   */\n  containerClass: 'sticky-container',\n  /**\n   * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n   * @option\n   * @example 50\n   */\n  checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n  return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\n// Window exports\nFoundation.plugin(Sticky, 'Sticky');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.tabs.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.timerAndImageLoader if tabs contain images\n */\n\nclass Tabs {\n  /**\n   * Creates a new instance of tabs.\n   * @class\n   * @fires Tabs#init\n   * @param {jQuery} element - jQuery object to make into tabs.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n\n    this._init();\n    Foundation.registerPlugin(this, 'Tabs');\n    Foundation.Keyboard.register('Tabs', {\n      'ENTER': 'open',\n      'SPACE': 'open',\n      'ARROW_RIGHT': 'next',\n      'ARROW_UP': 'previous',\n      'ARROW_DOWN': 'next',\n      'ARROW_LEFT': 'previous'\n      // 'TAB': 'next',\n      // 'SHIFT_TAB': 'previous'\n    });\n  }\n\n  /**\n   * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n   * @private\n   */\n  _init() {\n    var _this = this;\n\n    this.$element.attr({'role': 'tablist'});\n    this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n    this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n    this.$tabTitles.each(function(){\n      var $elem = $(this),\n          $link = $elem.find('a'),\n          isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n          hash = $link[0].hash.slice(1),\n          linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n          $tabContent = $(`#${hash}`);\n\n      $elem.attr({'role': 'presentation'});\n\n      $link.attr({\n        'role': 'tab',\n        'aria-controls': hash,\n        'aria-selected': isActive,\n        'id': linkId\n      });\n\n      $tabContent.attr({\n        'role': 'tabpanel',\n        'aria-hidden': !isActive,\n        'aria-labelledby': linkId\n      });\n\n      if(isActive && _this.options.autoFocus){\n        $(window).load(function() {\n          $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n            $link.focus();\n          });\n        });\n      }\n\n      //use browser to open a tab, if it exists in this tabset\n      if (_this.options.deepLink) {\n        var anchor = window.location.hash;\n        //need a hash and a relevant anchor in this tabset\n        if(anchor.length) {\n          var $link = $elem.find('[href=\"'+anchor+'\"]');\n          if ($link.length) {\n            _this.selectTab($(anchor));\n\n            //roll up a little to show the titles\n            if (_this.options.deepLinkSmudge) {\n              $(window).load(function() {\n                var offset = $elem.offset();\n                $('html, body').animate({ scrollTop: offset.top }, _this.options.deepLinkSmudgeDelay);\n              });\n            }\n\n            /**\n              * Fires when the zplugin has deeplinked at pageload\n              * @event Tabs#deeplink\n              */\n             $elem.trigger('deeplink.zf.tabs', [$link, $(anchor)]);\n           }\n        }\n      }\n    });\n\n    if(this.options.matchHeight) {\n      var $images = this.$tabContent.find('img');\n\n      if ($images.length) {\n        Foundation.onImagesLoaded($images, this._setHeight.bind(this));\n      } else {\n        this._setHeight();\n      }\n    }\n\n    this._events();\n  }\n\n  /**\n   * Adds event handlers for items within the tabs.\n   * @private\n   */\n  _events() {\n    this._addKeyHandler();\n    this._addClickHandler();\n    this._setHeightMqHandler = null;\n\n    if (this.options.matchHeight) {\n      this._setHeightMqHandler = this._setHeight.bind(this);\n\n      $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n    }\n  }\n\n  /**\n   * Adds click handlers for items within the tabs.\n   * @private\n   */\n  _addClickHandler() {\n    var _this = this;\n\n    this.$element\n      .off('click.zf.tabs')\n      .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n        e.preventDefault();\n        e.stopPropagation();\n        _this._handleTabChange($(this));\n      });\n  }\n\n  /**\n   * Adds keyboard event handlers for items within the tabs.\n   * @private\n   */\n  _addKeyHandler() {\n    var _this = this;\n\n    this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n      if (e.which === 9) return;\n\n\n      var $element = $(this),\n        $elements = $element.parent('ul').children('li'),\n        $prevElement,\n        $nextElement;\n\n      $elements.each(function(i) {\n        if ($(this).is($element)) {\n          if (_this.options.wrapOnKeys) {\n            $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n            $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n          } else {\n            $prevElement = $elements.eq(Math.max(0, i-1));\n            $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n          }\n          return;\n        }\n      });\n\n      // handle keyboard event with keyboard util\n      Foundation.Keyboard.handleKey(e, 'Tabs', {\n        open: function() {\n          $element.find('[role=\"tab\"]').focus();\n          _this._handleTabChange($element);\n        },\n        previous: function() {\n          $prevElement.find('[role=\"tab\"]').focus();\n          _this._handleTabChange($prevElement);\n        },\n        next: function() {\n          $nextElement.find('[role=\"tab\"]').focus();\n          _this._handleTabChange($nextElement);\n        },\n        handled: function() {\n          e.stopPropagation();\n          e.preventDefault();\n        }\n      });\n    });\n  }\n\n  /**\n   * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n   * @param {jQuery} $target - Tab to open.\n   * @fires Tabs#change\n   * @function\n   */\n  _handleTabChange($target) {\n\n    /**\n     * Check for active class on target. Collapse if exists.\n     */\n    if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n        if(this.options.activeCollapse) {\n            this._collapseTab($target);\n\n           /**\n            * Fires when the zplugin has successfully collapsed tabs.\n            * @event Tabs#collapse\n            */\n            this.$element.trigger('collapse.zf.tabs', [$target]);\n        }\n        return;\n    }\n\n    var $oldTab = this.$element.\n          find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n          $tabLink = $target.find('[role=\"tab\"]'),\n          hash = $tabLink[0].hash,\n          $targetContent = this.$tabContent.find(hash);\n\n    //close old tab\n    this._collapseTab($oldTab);\n\n    //open new tab\n    this._openTab($target);\n\n    //either replace or update browser history\n    if (this.options.deepLink) {\n      var anchor = $target.find('a').attr('href');\n\n      if (this.options.updateHistory) {\n        history.pushState({}, '', anchor);\n      } else {\n        history.replaceState({}, '', anchor);\n      }\n    }\n\n    /**\n     * Fires when the plugin has successfully changed tabs.\n     * @event Tabs#change\n     */\n    this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n    //fire to children a mutation event\n    $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n  }\n\n  /**\n   * Opens the tab `$targetContent` defined by `$target`.\n   * @param {jQuery} $target - Tab to Open.\n   * @function\n   */\n  _openTab($target) {\n      var $tabLink = $target.find('[role=\"tab\"]'),\n          hash = $tabLink[0].hash,\n          $targetContent = this.$tabContent.find(hash);\n\n      $target.addClass(`${this.options.linkActiveClass}`);\n\n      $tabLink.attr({'aria-selected': 'true'});\n\n      $targetContent\n        .addClass(`${this.options.panelActiveClass}`)\n        .attr({'aria-hidden': 'false'});\n  }\n\n  /**\n   * Collapses `$targetContent` defined by `$target`.\n   * @param {jQuery} $target - Tab to Open.\n   * @function\n   */\n  _collapseTab($target) {\n    var $target_anchor = $target\n      .removeClass(`${this.options.linkActiveClass}`)\n      .find('[role=\"tab\"]')\n      .attr({ 'aria-selected': 'false' });\n\n    $(`#${$target_anchor.attr('aria-controls')}`)\n      .removeClass(`${this.options.panelActiveClass}`)\n      .attr({ 'aria-hidden': 'true' });\n  }\n\n  /**\n   * Public method for selecting a content pane to display.\n   * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n   * @function\n   */\n  selectTab(elem) {\n    var idStr;\n\n    if (typeof elem === 'object') {\n      idStr = elem[0].id;\n    } else {\n      idStr = elem;\n    }\n\n    if (idStr.indexOf('#') < 0) {\n      idStr = `#${idStr}`;\n    }\n\n    var $target = this.$tabTitles.find(`[href=\"${idStr}\"]`).parent(`.${this.options.linkClass}`);\n\n    this._handleTabChange($target);\n  };\n  /**\n   * Sets the height of each panel to the height of the tallest panel.\n   * If enabled in options, gets called on media query change.\n   * If loading content via external source, can be called directly or with _reflow.\n   * @function\n   * @private\n   */\n  _setHeight() {\n    var max = 0;\n    this.$tabContent\n      .find(`.${this.options.panelClass}`)\n      .css('height', '')\n      .each(function() {\n        var panel = $(this),\n            isActive = panel.hasClass(`${this.options.panelActiveClass}`);\n\n        if (!isActive) {\n          panel.css({'visibility': 'hidden', 'display': 'block'});\n        }\n\n        var temp = this.getBoundingClientRect().height;\n\n        if (!isActive) {\n          panel.css({\n            'visibility': '',\n            'display': ''\n          });\n        }\n\n        max = temp > max ? temp : max;\n      })\n      .css('height', `${max}px`);\n  }\n\n  /**\n   * Destroys an instance of an tabs.\n   * @fires Tabs#destroyed\n   */\n  destroy() {\n    this.$element\n      .find(`.${this.options.linkClass}`)\n      .off('.zf.tabs').hide().end()\n      .find(`.${this.options.panelClass}`)\n      .hide();\n\n    if (this.options.matchHeight) {\n      if (this._setHeightMqHandler != null) {\n         $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n      }\n    }\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nTabs.defaults = {\n  /**\n   * Allows the window to scroll to content of pane specified by hash anchor\n   * @option\n   * @example false\n   */\n  deepLink: false,\n\n  /**\n   * Adjust the deep link scroll to make sure the top of the tab panel is visible\n   * @option\n   * @example false\n   */\n  deepLinkSmudge: false,\n\n  /**\n   * Animation time (ms) for the deep link adjustment\n   * @option\n   * @example 300\n   */\n  deepLinkSmudgeDelay: 300,\n\n  /**\n   * Update the browser history with the open tab\n   * @option\n   * @example false\n   */\n  updateHistory: false,\n\n  /**\n   * Allows the window to scroll to content of active pane on load if set to true.\n   * Not recommended if more than one tab panel per page.\n   * @option\n   * @example false\n   */\n  autoFocus: false,\n\n  /**\n   * Allows keyboard input to 'wrap' around the tab links.\n   * @option\n   * @example true\n   */\n  wrapOnKeys: true,\n\n  /**\n   * Allows the tab content panes to match heights if set to true.\n   * @option\n   * @example false\n   */\n  matchHeight: false,\n\n  /**\n   * Allows active tabs to collapse when clicked.\n   * @option\n   * @example false\n   */\n  activeCollapse: false,\n\n  /**\n   * Class applied to `li`'s in tab link list.\n   * @option\n   * @example 'tabs-title'\n   */\n  linkClass: 'tabs-title',\n\n  /**\n   * Class applied to the active `li` in tab link list.\n   * @option\n   * @example 'is-active'\n   */\n  linkActiveClass: 'is-active',\n\n  /**\n   * Class applied to the content containers.\n   * @option\n   * @example 'tabs-panel'\n   */\n  panelClass: 'tabs-panel',\n\n  /**\n   * Class applied to the active content container.\n   * @option\n   * @example 'is-active'\n   */\n  panelActiveClass: 'is-active'\n};\n\n// Window exports\nFoundation.plugin(Tabs, 'Tabs');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.toggler.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler {\n  /**\n   * Creates a new instance of Toggler.\n   * @class\n   * @fires Toggler#init\n   * @param {Object} element - jQuery object to add the trigger to.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Toggler.defaults, element.data(), options);\n    this.className = '';\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'Toggler');\n  }\n\n  /**\n   * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n   * @function\n   * @private\n   */\n  _init() {\n    var input;\n    // Parse animation classes if they were set\n    if (this.options.animate) {\n      input = this.options.animate.split(' ');\n\n      this.animationIn = input[0];\n      this.animationOut = input[1] || null;\n    }\n    // Otherwise, parse toggle class\n    else {\n      input = this.$element.data('toggler');\n      // Allow for a . at the beginning of the string\n      this.className = input[0] === '.' ? input.slice(1) : input;\n    }\n\n    // Add ARIA attributes to triggers\n    var id = this.$element[0].id;\n    $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n      .attr('aria-controls', id);\n    // If the target is hidden, add aria-hidden\n    this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);\n  }\n\n  /**\n   * Initializes events for the toggle trigger.\n   * @function\n   * @private\n   */\n  _events() {\n    this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n  }\n\n  /**\n   * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n   * @function\n   * @fires Toggler#on\n   * @fires Toggler#off\n   */\n  toggle() {\n    this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n  }\n\n  _toggleClass() {\n    this.$element.toggleClass(this.className);\n\n    var isOn = this.$element.hasClass(this.className);\n    if (isOn) {\n      /**\n       * Fires if the target element has the class after a toggle.\n       * @event Toggler#on\n       */\n      this.$element.trigger('on.zf.toggler');\n    }\n    else {\n      /**\n       * Fires if the target element does not have the class after a toggle.\n       * @event Toggler#off\n       */\n      this.$element.trigger('off.zf.toggler');\n    }\n\n    this._updateARIA(isOn);\n    this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n  }\n\n  _toggleAnimate() {\n    var _this = this;\n\n    if (this.$element.is(':hidden')) {\n      Foundation.Motion.animateIn(this.$element, this.animationIn, function() {\n        _this._updateARIA(true);\n        this.trigger('on.zf.toggler');\n        this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n      });\n    }\n    else {\n      Foundation.Motion.animateOut(this.$element, this.animationOut, function() {\n        _this._updateARIA(false);\n        this.trigger('off.zf.toggler');\n        this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n      });\n    }\n  }\n\n  _updateARIA(isOn) {\n    this.$element.attr('aria-expanded', isOn ? true : false);\n  }\n\n  /**\n   * Destroys the instance of Toggler on the element.\n   * @function\n   */\n  destroy() {\n    this.$element.off('.zf.toggler');\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nToggler.defaults = {\n  /**\n   * Tells the plugin if the element should animated when toggled.\n   * @option\n   * @example false\n   */\n  animate: false\n};\n\n// Window exports\nFoundation.plugin(Toggler, 'Toggler');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.tooltip.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip {\n  /**\n   * Creates a new instance of a Tooltip.\n   * @class\n   * @fires Tooltip#init\n   * @param {jQuery} element - jQuery object to attach a tooltip to.\n   * @param {Object} options - object to extend the default configuration.\n   */\n  constructor(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n\n    this.isActive = false;\n    this.isClick = false;\n    this._init();\n\n    Foundation.registerPlugin(this, 'Tooltip');\n  }\n\n  /**\n   * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n   * @private\n   */\n  _init() {\n    var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');\n\n    this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);\n    this.options.tipText = this.options.tipText || this.$element.attr('title');\n    this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n    if (this.options.allowHtml) {\n      this.template.appendTo(document.body)\n        .html(this.options.tipText)\n        .hide();\n    } else {\n      this.template.appendTo(document.body)\n        .text(this.options.tipText)\n        .hide();\n    }\n\n    this.$element.attr({\n      'title': '',\n      'aria-describedby': elemId,\n      'data-yeti-box': elemId,\n      'data-toggle': elemId,\n      'data-resize': elemId\n    }).addClass(this.options.triggerClass);\n\n    //helper variables to track movement on collisions\n    this.usedPositions = [];\n    this.counter = 4;\n    this.classChanged = false;\n\n    this._events();\n  }\n\n  /**\n   * Grabs the current positioning class, if present, and returns the value or an empty string.\n   * @private\n   */\n  _getPositionClass(element) {\n    if (!element) { return ''; }\n    // var position = element.attr('class').match(/top|left|right/g);\n    var position = element[0].className.match(/\\b(top|left|right)\\b/g);\n        position = position ? position[0] : '';\n    return position;\n  };\n  /**\n   * builds the tooltip element, adds attributes, and returns the template.\n   * @private\n   */\n  _buildTemplate(id) {\n    var templateClasses = (`${this.options.tooltipClass} ${this.options.positionClass} ${this.options.templateClasses}`).trim();\n    var $template =  $('<div></div>').addClass(templateClasses).attr({\n      'role': 'tooltip',\n      'aria-hidden': true,\n      'data-is-active': false,\n      'data-is-focus': false,\n      'id': id\n    });\n    return $template;\n  }\n\n  /**\n   * Function that gets called if a collision event is detected.\n   * @param {String} position - positioning class to try\n   * @private\n   */\n  _reposition(position) {\n    this.usedPositions.push(position ? position : 'bottom');\n\n    //default, try switching to opposite side\n    if (!position && (this.usedPositions.indexOf('top') < 0)) {\n      this.template.addClass('top');\n    } else if (position === 'top' && (this.usedPositions.indexOf('bottom') < 0)) {\n      this.template.removeClass(position);\n    } else if (position === 'left' && (this.usedPositions.indexOf('right') < 0)) {\n      this.template.removeClass(position)\n          .addClass('right');\n    } else if (position === 'right' && (this.usedPositions.indexOf('left') < 0)) {\n      this.template.removeClass(position)\n          .addClass('left');\n    }\n\n    //if default change didn't work, try bottom or left first\n    else if (!position && (this.usedPositions.indexOf('top') > -1) && (this.usedPositions.indexOf('left') < 0)) {\n      this.template.addClass('left');\n    } else if (position === 'top' && (this.usedPositions.indexOf('bottom') > -1) && (this.usedPositions.indexOf('left') < 0)) {\n      this.template.removeClass(position)\n          .addClass('left');\n    } else if (position === 'left' && (this.usedPositions.indexOf('right') > -1) && (this.usedPositions.indexOf('bottom') < 0)) {\n      this.template.removeClass(position);\n    } else if (position === 'right' && (this.usedPositions.indexOf('left') > -1) && (this.usedPositions.indexOf('bottom') < 0)) {\n      this.template.removeClass(position);\n    }\n    //if nothing cleared, set to bottom\n    else {\n      this.template.removeClass(position);\n    }\n    this.classChanged = true;\n    this.counter--;\n  }\n\n  /**\n   * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n   * if the tooltip is larger than the screen width, default to full width - any user selected margin\n   * @private\n   */\n  _setPosition() {\n    var position = this._getPositionClass(this.template),\n        $tipDims = Foundation.Box.GetDimensions(this.template),\n        $anchorDims = Foundation.Box.GetDimensions(this.$element),\n        direction = (position === 'left' ? 'left' : ((position === 'right') ? 'left' : 'top')),\n        param = (direction === 'top') ? 'height' : 'width',\n        offset = (param === 'height') ? this.options.vOffset : this.options.hOffset,\n        _this = this;\n\n    if (($tipDims.width >= $tipDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.template))) {\n      this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n      // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({\n        'width': $anchorDims.windowDims.width - (this.options.hOffset * 2),\n        'height': 'auto'\n      });\n      return false;\n    }\n\n    this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element,'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));\n\n    while(!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {\n      this._reposition(position);\n      this._setPosition();\n    }\n  }\n\n  /**\n   * reveals the tooltip, and fires an event to close any other open tooltips on the page\n   * @fires Tooltip#closeme\n   * @fires Tooltip#show\n   * @function\n   */\n  show() {\n    if (this.options.showOn !== 'all' && !Foundation.MediaQuery.is(this.options.showOn)) {\n      // console.error('The screen is too small to display this tooltip');\n      return false;\n    }\n\n    var _this = this;\n    this.template.css('visibility', 'hidden').show();\n    this._setPosition();\n\n    /**\n     * Fires to close all other open tooltips on the page\n     * @event Closeme#tooltip\n     */\n    this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n    this.template.attr({\n      'data-is-active': true,\n      'aria-hidden': false\n    });\n    _this.isActive = true;\n    // console.log(this.template);\n    this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n      //maybe do stuff?\n    });\n    /**\n     * Fires when the tooltip is shown\n     * @event Tooltip#show\n     */\n    this.$element.trigger('show.zf.tooltip');\n  }\n\n  /**\n   * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n   * @fires Tooltip#hide\n   * @function\n   */\n  hide() {\n    // console.log('hiding', this.$element.data('yeti-box'));\n    var _this = this;\n    this.template.stop().attr({\n      'aria-hidden': true,\n      'data-is-active': false\n    }).fadeOut(this.options.fadeOutDuration, function() {\n      _this.isActive = false;\n      _this.isClick = false;\n      if (_this.classChanged) {\n        _this.template\n             .removeClass(_this._getPositionClass(_this.template))\n             .addClass(_this.options.positionClass);\n\n       _this.usedPositions = [];\n       _this.counter = 4;\n       _this.classChanged = false;\n      }\n    });\n    /**\n     * fires when the tooltip is hidden\n     * @event Tooltip#hide\n     */\n    this.$element.trigger('hide.zf.tooltip');\n  }\n\n  /**\n   * adds event listeners for the tooltip and its anchor\n   * TODO combine some of the listeners like focus and mouseenter, etc.\n   * @private\n   */\n  _events() {\n    var _this = this;\n    var $template = this.template;\n    var isFocus = false;\n\n    if (!this.options.disableHover) {\n\n      this.$element\n      .on('mouseenter.zf.tooltip', function(e) {\n        if (!_this.isActive) {\n          _this.timeout = setTimeout(function() {\n            _this.show();\n          }, _this.options.hoverDelay);\n        }\n      })\n      .on('mouseleave.zf.tooltip', function(e) {\n        clearTimeout(_this.timeout);\n        if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n          _this.hide();\n        }\n      });\n    }\n\n    if (this.options.clickOpen) {\n      this.$element.on('mousedown.zf.tooltip', function(e) {\n        e.stopImmediatePropagation();\n        if (_this.isClick) {\n          //_this.hide();\n          // _this.isClick = false;\n        } else {\n          _this.isClick = true;\n          if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n            _this.show();\n          }\n        }\n      });\n    } else {\n      this.$element.on('mousedown.zf.tooltip', function(e) {\n        e.stopImmediatePropagation();\n        _this.isClick = true;\n      });\n    }\n\n    if (!this.options.disableForTouch) {\n      this.$element\n      .on('tap.zf.tooltip touchend.zf.tooltip', function(e) {\n        _this.isActive ? _this.hide() : _this.show();\n      });\n    }\n\n    this.$element.on({\n      // 'toggle.zf.trigger': this.toggle.bind(this),\n      // 'close.zf.trigger': this.hide.bind(this)\n      'close.zf.trigger': this.hide.bind(this)\n    });\n\n    this.$element\n      .on('focus.zf.tooltip', function(e) {\n        isFocus = true;\n        if (_this.isClick) {\n          // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n          // a real focus, otherwise on hover and come back we get bad behavior\n          if(!_this.options.clickOpen) { isFocus = false; }\n          return false;\n        } else {\n          _this.show();\n        }\n      })\n\n      .on('focusout.zf.tooltip', function(e) {\n        isFocus = false;\n        _this.isClick = false;\n        _this.hide();\n      })\n\n      .on('resizeme.zf.trigger', function() {\n        if (_this.isActive) {\n          _this._setPosition();\n        }\n      });\n  }\n\n  /**\n   * adds a toggle method, in addition to the static show() & hide() functions\n   * @function\n   */\n  toggle() {\n    if (this.isActive) {\n      this.hide();\n    } else {\n      this.show();\n    }\n  }\n\n  /**\n   * Destroys an instance of tooltip, removes template element from the view.\n   * @function\n   */\n  destroy() {\n    this.$element.attr('title', this.template.text())\n                 .off('.zf.trigger .zf.tooltip')\n                 .removeClass('has-tip top right left')\n                 .removeAttr('aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n    this.template.remove();\n\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nTooltip.defaults = {\n  disableForTouch: false,\n  /**\n   * Time, in ms, before a tooltip should open on hover.\n   * @option\n   * @example 200\n   */\n  hoverDelay: 200,\n  /**\n   * Time, in ms, a tooltip should take to fade into view.\n   * @option\n   * @example 150\n   */\n  fadeInDuration: 150,\n  /**\n   * Time, in ms, a tooltip should take to fade out of view.\n   * @option\n   * @example 150\n   */\n  fadeOutDuration: 150,\n  /**\n   * Disables hover events from opening the tooltip if set to true\n   * @option\n   * @example false\n   */\n  disableHover: false,\n  /**\n   * Optional addtional classes to apply to the tooltip template on init.\n   * @option\n   * @example 'my-cool-tip-class'\n   */\n  templateClasses: '',\n  /**\n   * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n   * @option\n   * @example 'tooltip'\n   */\n  tooltipClass: 'tooltip',\n  /**\n   * Class applied to the tooltip anchor element.\n   * @option\n   * @example 'has-tip'\n   */\n  triggerClass: 'has-tip',\n  /**\n   * Minimum breakpoint size at which to open the tooltip.\n   * @option\n   * @example 'small'\n   */\n  showOn: 'small',\n  /**\n   * Custom template to be used to generate markup for tooltip.\n   * @option\n   * @example '&lt;div class=\"tooltip\"&gt;&lt;/div&gt;'\n   */\n  template: '',\n  /**\n   * Text displayed in the tooltip template on open.\n   * @option\n   * @example 'Some cool space fact here.'\n   */\n  tipText: '',\n  touchCloseText: 'Tap to close.',\n  /**\n   * Allows the tooltip to remain open if triggered with a click or touch event.\n   * @option\n   * @example true\n   */\n  clickOpen: true,\n  /**\n   * Additional positioning classes, set by the JS\n   * @option\n   * @example 'top'\n   */\n  positionClass: '',\n  /**\n   * Distance, in pixels, the template should push away from the anchor on the Y axis.\n   * @option\n   * @example 10\n   */\n  vOffset: 10,\n  /**\n   * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.\n   * @option\n   * @example 12\n   */\n  hOffset: 12,\n    /**\n   * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n   * allowing HTML may open yourself up to XSS attacks.\n   * @option\n   * @example false\n   */\n  allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\n// Window exports\nFoundation.plugin(Tooltip, 'Tooltip');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.box.js",
    "content": "'use strict';\n\n!function($) {\n\nFoundation.Box = {\n  ImNotTouchingYou: ImNotTouchingYou,\n  GetDimensions: GetDimensions,\n  GetOffsets: GetOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly) {\n  var eleDims = GetDimensions(element),\n      top, bottom, left, right;\n\n  if (parent) {\n    var parDims = GetDimensions(parent);\n\n    bottom = (eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top);\n    top    = (eleDims.offset.top >= parDims.offset.top);\n    left   = (eleDims.offset.left >= parDims.offset.left);\n    right  = (eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left);\n  }\n  else {\n    bottom = (eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top);\n    top    = (eleDims.offset.top >= eleDims.windowDims.offset.top);\n    left   = (eleDims.offset.left >= eleDims.windowDims.offset.left);\n    right  = (eleDims.offset.left + eleDims.width <= eleDims.windowDims.width);\n  }\n\n  var allDirs = [bottom, top, left, right];\n\n  if (lrOnly) {\n    return left === right === true;\n  }\n\n  if (tbOnly) {\n    return top === bottom === true;\n  }\n\n  return allDirs.indexOf(false) === -1;\n};\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem, test){\n  elem = elem.length ? elem[0] : elem;\n\n  if (elem === window || elem === document) {\n    throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n  }\n\n  var rect = elem.getBoundingClientRect(),\n      parRect = elem.parentNode.getBoundingClientRect(),\n      winRect = document.body.getBoundingClientRect(),\n      winY = window.pageYOffset,\n      winX = window.pageXOffset;\n\n  return {\n    width: rect.width,\n    height: rect.height,\n    offset: {\n      top: rect.top + winY,\n      left: rect.left + winX\n    },\n    parentDims: {\n      width: parRect.width,\n      height: parRect.height,\n      offset: {\n        top: parRect.top + winY,\n        left: parRect.left + winX\n      }\n    },\n    windowDims: {\n      width: winRect.width,\n      height: winRect.height,\n      offset: {\n        top: winY,\n        left: winX\n      }\n    }\n  }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n  var $eleDims = GetDimensions(element),\n      $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n  switch (position) {\n    case 'top':\n      return {\n        left: (Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left),\n        top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n      }\n      break;\n    case 'left':\n      return {\n        left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n        top: $anchorDims.offset.top\n      }\n      break;\n    case 'right':\n      return {\n        left: $anchorDims.offset.left + $anchorDims.width + hOffset,\n        top: $anchorDims.offset.top\n      }\n      break;\n    case 'center top':\n      return {\n        left: ($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2),\n        top: $anchorDims.offset.top - ($eleDims.height + vOffset)\n      }\n      break;\n    case 'center bottom':\n      return {\n        left: isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)),\n        top: $anchorDims.offset.top + $anchorDims.height + vOffset\n      }\n      break;\n    case 'center left':\n      return {\n        left: $anchorDims.offset.left - ($eleDims.width + hOffset),\n        top: ($anchorDims.offset.top + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n      }\n      break;\n    case 'center right':\n      return {\n        left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,\n        top: ($anchorDims.offset.top + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n      }\n      break;\n    case 'center':\n      return {\n        left: ($eleDims.windowDims.offset.left + ($eleDims.windowDims.width / 2)) - ($eleDims.width / 2),\n        top: ($eleDims.windowDims.offset.top + ($eleDims.windowDims.height / 2)) - ($eleDims.height / 2)\n      }\n      break;\n    case 'reveal':\n      return {\n        left: ($eleDims.windowDims.width - $eleDims.width) / 2,\n        top: $eleDims.windowDims.offset.top + vOffset\n      }\n    case 'reveal full':\n      return {\n        left: $eleDims.windowDims.offset.left,\n        top: $eleDims.windowDims.offset.top\n      }\n      break;\n    case 'left bottom':\n      return {\n        left: $anchorDims.offset.left,\n        top: $anchorDims.offset.top + $anchorDims.height + vOffset\n      };\n      break;\n    case 'right bottom':\n      return {\n        left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,\n        top: $anchorDims.offset.top + $anchorDims.height + vOffset\n      };\n      break;\n    default:\n      return {\n        left: (Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left + hOffset),\n        top: $anchorDims.offset.top + $anchorDims.height + vOffset\n      }\n  }\n}\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.keyboard.js",
    "content": "/*******************************************\n *                                         *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n *                                         *\n ******************************************/\n\n'use strict';\n\n!function($) {\n\nconst keyCodes = {\n  9: 'TAB',\n  13: 'ENTER',\n  27: 'ESCAPE',\n  32: 'SPACE',\n  37: 'ARROW_LEFT',\n  38: 'ARROW_UP',\n  39: 'ARROW_RIGHT',\n  40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\nvar Keyboard = {\n  keys: getKeyCodes(keyCodes),\n\n  /**\n   * Parses the (keyboard) event and returns a String that represents its key\n   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n   * @param {Event} event - the event generated by the event handler\n   * @return String key - String that represents the key pressed\n   */\n  parseKey(event) {\n    var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n    // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n    key = key.replace(/\\W+/, '');\n\n    if (event.shiftKey) key = `SHIFT_${key}`;\n    if (event.ctrlKey) key = `CTRL_${key}`;\n    if (event.altKey) key = `ALT_${key}`;\n\n    // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n    key = key.replace(/_$/, '');\n\n    return key;\n  },\n\n  /**\n   * Handles the given (keyboard) event\n   * @param {Event} event - the event generated by the event handler\n   * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n   * @param {Objects} functions - collection of functions that are to be executed\n   */\n  handleKey(event, component, functions) {\n    var commandList = commands[component],\n      keyCode = this.parseKey(event),\n      cmds,\n      command,\n      fn;\n\n    if (!commandList) return console.warn('Component not defined!');\n\n    if (typeof commandList.ltr === 'undefined') { // this component does not differentiate between ltr and rtl\n        cmds = commandList; // use plain list\n    } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n        if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n        else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n    }\n    command = cmds[keyCode];\n\n    fn = functions[command];\n    if (fn && typeof fn === 'function') { // execute function  if exists\n      var returnValue = fn.apply();\n      if (functions.handled || typeof functions.handled === 'function') { // execute function when event was handled\n          functions.handled(returnValue);\n      }\n    } else {\n      if (functions.unhandled || typeof functions.unhandled === 'function') { // execute function when event was not handled\n          functions.unhandled();\n      }\n    }\n  },\n\n  /**\n   * Finds all focusable elements within the given `$element`\n   * @param {jQuery} $element - jQuery object to search within\n   * @return {jQuery} $focusable - all focusable elements within `$element`\n   */\n  findFocusable($element) {\n    if(!$element) {return false; }\n    return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n      if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n      return true;\n    });\n  },\n\n  /**\n   * Returns the component name name\n   * @param {Object} component - Foundation component, e.g. Slider or Reveal\n   * @return String componentName\n   */\n\n  register(componentName, cmds) {\n    commands[componentName] = cmds;\n  },  \n\n  /**\n   * Traps the focus in the given element.\n   * @param  {jQuery} $element  jQuery object to trap the foucs into.\n   */\n  trapFocus($element) {\n    var $focusable = Foundation.Keyboard.findFocusable($element),\n        $firstFocusable = $focusable.eq(0),\n        $lastFocusable = $focusable.eq(-1);\n\n    $element.on('keydown.zf.trapfocus', function(event) {\n      if (event.target === $lastFocusable[0] && Foundation.Keyboard.parseKey(event) === 'TAB') {\n        event.preventDefault();\n        $firstFocusable.focus();\n      }\n      else if (event.target === $firstFocusable[0] && Foundation.Keyboard.parseKey(event) === 'SHIFT_TAB') {\n        event.preventDefault();\n        $lastFocusable.focus();\n      }\n    });\n  },\n  /**\n   * Releases the trapped focus from the given element.\n   * @param  {jQuery} $element  jQuery object to release the focus for.\n   */\n  releaseFocus($element) {\n    $element.off('keydown.zf.trapfocus');\n  }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n  var k = {};\n  for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n  return k;\n}\n\nFoundation.Keyboard = Keyboard;\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.mediaQuery.js",
    "content": "'use strict';\n\n!function($) {\n\n// Default set of media queries\nconst defaultQueries = {\n  'default' : 'only screen',\n  landscape : 'only screen and (orientation: landscape)',\n  portrait : 'only screen and (orientation: portrait)',\n  retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n    'only screen and (min--moz-device-pixel-ratio: 2),' +\n    'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n    'only screen and (min-device-pixel-ratio: 2),' +\n    'only screen and (min-resolution: 192dpi),' +\n    'only screen and (min-resolution: 2dppx)'\n};\n\nvar MediaQuery = {\n  queries: [],\n\n  current: '',\n\n  /**\n   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n   * @function\n   * @private\n   */\n  _init() {\n    var self = this;\n    var extractedStyles = $('.foundation-mq').css('font-family');\n    var namedQueries;\n\n    namedQueries = parseStyleToObject(extractedStyles);\n\n    for (var key in namedQueries) {\n      if(namedQueries.hasOwnProperty(key)) {\n        self.queries.push({\n          name: key,\n          value: `only screen and (min-width: ${namedQueries[key]})`\n        });\n      }\n    }\n\n    this.current = this._getCurrentSize();\n\n    this._watcher();\n  },\n\n  /**\n   * Checks if the screen is at least as wide as a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n   */\n  atLeast(size) {\n    var query = this.get(size);\n\n    if (query) {\n      return window.matchMedia(query).matches;\n    }\n\n    return false;\n  },\n\n  /**\n   * Checks if the screen matches to a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n   */\n  is(size) {\n    size = size.trim().split(' ');\n    if(size.length > 1 && size[1] === 'only') {\n      if(size[0] === this._getCurrentSize()) return true;\n    } else {\n      return this.atLeast(size[0]);\n    }\n    return false;\n  },\n\n  /**\n   * Gets the media query of a breakpoint.\n   * @function\n   * @param {String} size - Name of the breakpoint to get.\n   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n   */\n  get(size) {\n    for (var i in this.queries) {\n      if(this.queries.hasOwnProperty(i)) {\n        var query = this.queries[i];\n        if (size === query.name) return query.value;\n      }\n    }\n\n    return null;\n  },\n\n  /**\n   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n   * @function\n   * @private\n   * @returns {String} Name of the current breakpoint.\n   */\n  _getCurrentSize() {\n    var matched;\n\n    for (var i = 0; i < this.queries.length; i++) {\n      var query = this.queries[i];\n\n      if (window.matchMedia(query.value).matches) {\n        matched = query;\n      }\n    }\n\n    if (typeof matched === 'object') {\n      return matched.name;\n    } else {\n      return matched;\n    }\n  },\n\n  /**\n   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n   * @function\n   * @private\n   */\n  _watcher() {\n    $(window).on('resize.zf.mediaquery', () => {\n      var newSize = this._getCurrentSize(), currentSize = this.current;\n\n      if (newSize !== currentSize) {\n        // Change the current media query\n        this.current = newSize;\n\n        // Broadcast the media query change on the window\n        $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n      }\n    });\n  }\n};\n\nFoundation.MediaQuery = MediaQuery;\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license\nwindow.matchMedia || (window.matchMedia = function() {\n  'use strict';\n\n  // For browsers that support matchMedium api such as IE 9 and webkit\n  var styleMedia = (window.styleMedia || window.media);\n\n  // For those that don't support matchMedium\n  if (!styleMedia) {\n    var style   = document.createElement('style'),\n    script      = document.getElementsByTagName('script')[0],\n    info        = null;\n\n    style.type  = 'text/css';\n    style.id    = 'matchmediajs-test';\n\n    script && script.parentNode && script.parentNode.insertBefore(style, script);\n\n    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n    info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n    styleMedia = {\n      matchMedium(media) {\n        var text = `@media ${media}{ #matchmediajs-test { width: 1px; } }`;\n\n        // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n        if (style.styleSheet) {\n          style.styleSheet.cssText = text;\n        } else {\n          style.textContent = text;\n        }\n\n        // Test if media query is true or false\n        return info.width === '1px';\n      }\n    }\n  }\n\n  return function(media) {\n    return {\n      matches: styleMedia.matchMedium(media || 'all'),\n      media: media || 'all'\n    };\n  }\n}());\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n  var styleObject = {};\n\n  if (typeof str !== 'string') {\n    return styleObject;\n  }\n\n  str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n  if (!str) {\n    return styleObject;\n  }\n\n  styleObject = str.split('&').reduce(function(ret, param) {\n    var parts = param.replace(/\\+/g, ' ').split('=');\n    var key = parts[0];\n    var val = parts[1];\n    key = decodeURIComponent(key);\n\n    // missing `=` should be `null`:\n    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n    val = val === undefined ? null : decodeURIComponent(val);\n\n    if (!ret.hasOwnProperty(key)) {\n      ret[key] = val;\n    } else if (Array.isArray(ret[key])) {\n      ret[key].push(val);\n    } else {\n      ret[key] = [ret[key], val];\n    }\n    return ret;\n  }, {});\n\n  return styleObject;\n}\n\nFoundation.MediaQuery = MediaQuery;\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.motion.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses   = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n  animateIn: function(element, animation, cb) {\n    animate(true, element, animation, cb);\n  },\n\n  animateOut: function(element, animation, cb) {\n    animate(false, element, animation, cb);\n  }\n}\n\nfunction Move(duration, elem, fn){\n  var anim, prog, start = null;\n  // console.log('called');\n\n  if (duration === 0) {\n    fn.apply(elem);\n    elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n    return;\n  }\n\n  function move(ts){\n    if(!start) start = ts;\n    // console.log(start, ts);\n    prog = ts - start;\n    fn.apply(elem);\n\n    if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n    else{\n      window.cancelAnimationFrame(anim);\n      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n    }\n  }\n  anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n  element = $(element).eq(0);\n\n  if (!element.length) return;\n\n  var initClass = isIn ? initClasses[0] : initClasses[1];\n  var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n  // Set up the animation\n  reset();\n\n  element\n    .addClass(animation)\n    .css('transition', 'none');\n\n  requestAnimationFrame(() => {\n    element.addClass(initClass);\n    if (isIn) element.show();\n  });\n\n  // Start the animation\n  requestAnimationFrame(() => {\n    element[0].offsetWidth;\n    element\n      .css('transition', '')\n      .addClass(activeClass);\n  });\n\n  // Clean up the animation when it finishes\n  element.one(Foundation.transitionend(element), finish);\n\n  // Hides the element (for out animations), resets the element, and runs a callback\n  function finish() {\n    if (!isIn) element.hide();\n    reset();\n    if (cb) cb.apply(element);\n  }\n\n  // Resets transitions and removes motion-specific classes\n  function reset() {\n    element[0].style.transitionDuration = 0;\n    element.removeClass(`${initClass} ${activeClass} ${animation}`);\n  }\n}\n\nFoundation.Move = Move;\nFoundation.Motion = Motion;\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.nest.js",
    "content": "'use strict';\n\n!function($) {\n\nconst Nest = {\n  Feather(menu, type = 'zf') {\n    menu.attr('role', 'menubar');\n\n    var items = menu.find('li').attr({'role': 'menuitem'}),\n        subMenuClass = `is-${type}-submenu`,\n        subItemClass = `${subMenuClass}-item`,\n        hasSubClass = `is-${type}-submenu-parent`;\n\n    items.each(function() {\n      var $item = $(this),\n          $sub = $item.children('ul');\n\n      if ($sub.length) {\n        $item\n          .addClass(hasSubClass)\n          .attr({\n            'aria-haspopup': true,\n            'aria-label': $item.children('a:first').text()\n          });\n          // Note:  Drilldowns behave differently in how they hide, and so need\n          // additional attributes.  We should look if this possibly over-generalized\n          // utility (Nest) is appropriate when we rework menus in 6.4\n          if(type === 'drilldown') {\n            $item.attr({'aria-expanded': false});\n          }\n\n        $sub\n          .addClass(`submenu ${subMenuClass}`)\n          .attr({\n            'data-submenu': '',\n            'role': 'menu'\n          });\n        if(type === 'drilldown') {\n          $sub.attr({'aria-hidden': true});\n        }\n      }\n\n      if ($item.parent('[data-submenu]').length) {\n        $item.addClass(`is-submenu-item ${subItemClass}`);\n      }\n    });\n\n    return;\n  },\n\n  Burn(menu, type) {\n    var //items = menu.find('li'),\n        subMenuClass = `is-${type}-submenu`,\n        subItemClass = `${subMenuClass}-item`,\n        hasSubClass = `is-${type}-submenu-parent`;\n\n    menu\n      .find('>li, .menu, .menu > li')\n      .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n      .removeAttr('data-submenu').css('display', '');\n\n    // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')\n    //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')\n    //           .removeAttr('data-submenu'));\n    // items.each(function(){\n    //   var $item = $(this),\n    //       $sub = $item.children('ul');\n    //   if($item.parent('[data-submenu]').length){\n    //     $item.removeClass('is-submenu-item ' + subItemClass);\n    //   }\n    //   if($sub.length){\n    //     $item.removeClass('has-submenu');\n    //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');\n    //   }\n    // });\n  }\n}\n\nFoundation.Nest = Nest;\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.timerAndImageLoader.js",
    "content": "'use strict';\n\n!function($) {\n\nfunction Timer(elem, options, cb) {\n  var _this = this,\n      duration = options.duration,//options is an object for easily adding features later.\n      nameSpace = Object.keys(elem.data())[0] || 'timer',\n      remain = -1,\n      start,\n      timer;\n\n  this.isPaused = false;\n\n  this.restart = function() {\n    remain = -1;\n    clearTimeout(timer);\n    this.start();\n  }\n\n  this.start = function() {\n    this.isPaused = false;\n    // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n    clearTimeout(timer);\n    remain = remain <= 0 ? duration : remain;\n    elem.data('paused', false);\n    start = Date.now();\n    timer = setTimeout(function(){\n      if(options.infinite){\n        _this.restart();//rerun the timer.\n      }\n      if (cb && typeof cb === 'function') { cb(); }\n    }, remain);\n    elem.trigger(`timerstart.zf.${nameSpace}`);\n  }\n\n  this.pause = function() {\n    this.isPaused = true;\n    //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n    clearTimeout(timer);\n    elem.data('paused', true);\n    var end = Date.now();\n    remain = remain - (end - start);\n    elem.trigger(`timerpaused.zf.${nameSpace}`);\n  }\n}\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n  var self = this,\n      unloaded = images.length;\n\n  if (unloaded === 0) {\n    callback();\n  }\n\n  images.each(function() {\n    // Check if image is loaded\n    if (this.complete || (this.readyState === 4) || (this.readyState === 'complete')) {\n      singleImageLoaded();\n    }\n    // Force load the image\n    else {\n      // fix for IE. See https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/\n      var src = $(this).attr('src');\n      $(this).attr('src', src + '?' + (new Date().getTime()));\n      $(this).one('load', function() {\n        singleImageLoaded();\n      });\n    }\n  });\n\n  function singleImageLoaded() {\n    unloaded--;\n    if (unloaded === 0) {\n      callback();\n    }\n  }\n}\n\nFoundation.Timer = Timer;\nFoundation.onImagesLoaded = onImagesLoaded;\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.touch.js",
    "content": "//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n(function($) {\n\n  $.spotSwipe = {\n    version: '1.0.0',\n    enabled: 'ontouchstart' in document.documentElement,\n    preventDefault: false,\n    moveThreshold: 75,\n    timeThreshold: 200\n  };\n\n  var   startPosX,\n        startPosY,\n        startTime,\n        elapsedTime,\n        isMoving = false;\n\n  function onTouchEnd() {\n    //  alert(this);\n    this.removeEventListener('touchmove', onTouchMove);\n    this.removeEventListener('touchend', onTouchEnd);\n    isMoving = false;\n  }\n\n  function onTouchMove(e) {\n    if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n    if(isMoving) {\n      var x = e.touches[0].pageX;\n      var y = e.touches[0].pageY;\n      var dx = startPosX - x;\n      var dy = startPosY - y;\n      var dir;\n      elapsedTime = new Date().getTime() - startTime;\n      if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n        dir = dx > 0 ? 'left' : 'right';\n      }\n      // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n      //   dir = dy > 0 ? 'down' : 'up';\n      // }\n      if(dir) {\n        e.preventDefault();\n        onTouchEnd.call(this);\n        $(this).trigger('swipe', dir).trigger(`swipe${dir}`);\n      }\n    }\n  }\n\n  function onTouchStart(e) {\n    if (e.touches.length == 1) {\n      startPosX = e.touches[0].pageX;\n      startPosY = e.touches[0].pageY;\n      isMoving = true;\n      startTime = new Date().getTime();\n      this.addEventListener('touchmove', onTouchMove, false);\n      this.addEventListener('touchend', onTouchEnd, false);\n    }\n  }\n\n  function init() {\n    this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n  }\n\n  function teardown() {\n    this.removeEventListener('touchstart', onTouchStart);\n  }\n\n  $.event.special.swipe = { setup: init };\n\n  $.each(['left', 'up', 'down', 'right'], function () {\n    $.event.special[`swipe${this}`] = { setup: function(){\n      $(this).on('swipe', $.noop);\n    } };\n  });\n})(jQuery);\n/****************************************************\n * Method for adding psuedo drag events to elements *\n ***************************************************/\n!function($){\n  $.fn.addTouch = function(){\n    this.each(function(i,el){\n      $(el).bind('touchstart touchmove touchend touchcancel',function(){\n        //we pass the original event object because the jQuery event\n        //object is normalized to w3c specs and does not provide the TouchList\n        handleTouch(event);\n      });\n    });\n\n    var handleTouch = function(event){\n      var touches = event.changedTouches,\n          first = touches[0],\n          eventTypes = {\n            touchstart: 'mousedown',\n            touchmove: 'mousemove',\n            touchend: 'mouseup'\n          },\n          type = eventTypes[event.type],\n          simulatedEvent\n        ;\n\n      if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n        simulatedEvent = new window.MouseEvent(type, {\n          'bubbles': true,\n          'cancelable': true,\n          'screenX': first.screenX,\n          'screenY': first.screenY,\n          'clientX': first.clientX,\n          'clientY': first.clientY\n        });\n      } else {\n        simulatedEvent = document.createEvent('MouseEvent');\n        simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n      }\n      first.target.dispatchEvent(simulatedEvent);\n    };\n  };\n}(jQuery);\n\n\n//**********************************\n//**From the jQuery Mobile Library**\n//**need to recreate functionality**\n//**and try to improve if possible**\n//**********************************\n\n/* Removing the jQuery function ****\n************************************\n\n(function( $, window, undefined ) {\n\n\tvar $document = $( document ),\n\t\t// supportTouch = $.mobile.support.touch,\n\t\ttouchStartEvent = 'touchstart'//supportTouch ? \"touchstart\" : \"mousedown\",\n\t\ttouchStopEvent = 'touchend'//supportTouch ? \"touchend\" : \"mouseup\",\n\t\ttouchMoveEvent = 'touchmove'//supportTouch ? \"touchmove\" : \"mousemove\";\n\n\t// setup new event shortcuts\n\t$.each( ( \"touchstart touchmove touchend \" +\n\t\t\"swipe swipeleft swiperight\" ).split( \" \" ), function( i, name ) {\n\n\t\t$.fn[ name ] = function( fn ) {\n\t\t\treturn fn ? this.bind( name, fn ) : this.trigger( name );\n\t\t};\n\n\t\t// jQuery < 1.8\n\t\tif ( $.attrFn ) {\n\t\t\t$.attrFn[ name ] = true;\n\t\t}\n\t});\n\n\tfunction triggerCustomEvent( obj, eventType, event, bubble ) {\n\t\tvar originalType = event.type;\n\t\tevent.type = eventType;\n\t\tif ( bubble ) {\n\t\t\t$.event.trigger( event, undefined, obj );\n\t\t} else {\n\t\t\t$.event.dispatch.call( obj, event );\n\t\t}\n\t\tevent.type = originalType;\n\t}\n\n\t// also handles taphold\n\n\t// Also handles swipeleft, swiperight\n\t$.event.special.swipe = {\n\n\t\t// More than this horizontal displacement, and we will suppress scrolling.\n\t\tscrollSupressionThreshold: 30,\n\n\t\t// More time than this, and it isn't a swipe.\n\t\tdurationThreshold: 1000,\n\n\t\t// Swipe horizontal displacement must be more than this.\n\t\thorizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\t// Swipe vertical displacement must be less than this.\n\t\tverticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,\n\n\t\tgetLocation: function ( event ) {\n\t\t\tvar winPageX = window.pageXOffset,\n\t\t\t\twinPageY = window.pageYOffset,\n\t\t\t\tx = event.clientX,\n\t\t\t\ty = event.clientY;\n\n\t\t\tif ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||\n\t\t\t\tevent.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {\n\n\t\t\t\t// iOS4 clientX/clientY have the value that should have been\n\t\t\t\t// in pageX/pageY. While pageX/page/ have the value 0\n\t\t\t\tx = x - winPageX;\n\t\t\t\ty = y - winPageY;\n\t\t\t} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {\n\n\t\t\t\t// Some Android browsers have totally bogus values for clientX/Y\n\t\t\t\t// when scrolling/zooming a page. Detectable since clientX/clientY\n\t\t\t\t// should never be smaller than pageX/pageY minus page scroll\n\t\t\t\tx = event.pageX - winPageX;\n\t\t\t\ty = event.pageY - winPageY;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: x,\n\t\t\t\ty: y\n\t\t\t};\n\t\t},\n\n\t\tstart: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ],\n\t\t\t\t\t\torigin: $( event.target )\n\t\t\t\t\t};\n\t\t},\n\n\t\tstop: function( event ) {\n\t\t\tvar data = event.originalEvent.touches ?\n\t\t\t\t\tevent.originalEvent.touches[ 0 ] : event,\n\t\t\t\tlocation = $.event.special.swipe.getLocation( data );\n\t\t\treturn {\n\t\t\t\t\t\ttime: ( new Date() ).getTime(),\n\t\t\t\t\t\tcoords: [ location.x, location.y ]\n\t\t\t\t\t};\n\t\t},\n\n\t\thandleSwipe: function( start, stop, thisObject, origTarget ) {\n\t\t\tif ( stop.time - start.time < $.event.special.swipe.durationThreshold &&\n\t\t\t\tMath.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&\n\t\t\t\tMath.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {\n\t\t\t\tvar direction = start.coords[0] > stop.coords[ 0 ] ? \"swipeleft\" : \"swiperight\";\n\n\t\t\t\ttriggerCustomEvent( thisObject, \"swipe\", $.Event( \"swipe\", { target: origTarget, swipestart: start, swipestop: stop }), true );\n\t\t\t\ttriggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\n\t\t},\n\n\t\t// This serves as a flag to ensure that at most one swipe event event is\n\t\t// in work at any given time\n\t\teventInProgress: false,\n\n\t\tsetup: function() {\n\t\t\tvar events,\n\t\t\t\tthisObject = this,\n\t\t\t\t$this = $( thisObject ),\n\t\t\t\tcontext = {};\n\n\t\t\t// Retrieve the events data for this element and add the swipe context\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( !events ) {\n\t\t\t\tevents = { length: 0 };\n\t\t\t\t$.data( this, \"mobile-events\", events );\n\t\t\t}\n\t\t\tevents.length++;\n\t\t\tevents.swipe = context;\n\n\t\t\tcontext.start = function( event ) {\n\n\t\t\t\t// Bail if we're already working on a swipe event\n\t\t\t\tif ( $.event.special.swipe.eventInProgress ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$.event.special.swipe.eventInProgress = true;\n\n\t\t\t\tvar stop,\n\t\t\t\t\tstart = $.event.special.swipe.start( event ),\n\t\t\t\t\torigTarget = event.target,\n\t\t\t\t\temitted = false;\n\n\t\t\t\tcontext.move = function( event ) {\n\t\t\t\t\tif ( !start || event.isDefaultPrevented() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstop = $.event.special.swipe.stop( event );\n\t\t\t\t\tif ( !emitted ) {\n\t\t\t\t\t\temitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );\n\t\t\t\t\t\tif ( emitted ) {\n\n\t\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// prevent scrolling\n\t\t\t\t\tif ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tcontext.stop = function() {\n\t\t\t\t\t\temitted = true;\n\n\t\t\t\t\t\t// Reset the context to make way for the next swipe event\n\t\t\t\t\t\t$.event.special.swipe.eventInProgress = false;\n\t\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t\t\tcontext.move = null;\n\t\t\t\t};\n\n\t\t\t\t$document.on( touchMoveEvent, context.move )\n\t\t\t\t\t.one( touchStopEvent, context.stop );\n\t\t\t};\n\t\t\t$this.on( touchStartEvent, context.start );\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar events, context;\n\n\t\t\tevents = $.data( this, \"mobile-events\" );\n\t\t\tif ( events ) {\n\t\t\t\tcontext = events.swipe;\n\t\t\t\tdelete events.swipe;\n\t\t\t\tevents.length--;\n\t\t\t\tif ( events.length === 0 ) {\n\t\t\t\t\t$.removeData( this, \"mobile-events\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( context ) {\n\t\t\t\tif ( context.start ) {\n\t\t\t\t\t$( this ).off( touchStartEvent, context.start );\n\t\t\t\t}\n\t\t\t\tif ( context.move ) {\n\t\t\t\t\t$document.off( touchMoveEvent, context.move );\n\t\t\t\t}\n\t\t\t\tif ( context.stop ) {\n\t\t\t\t\t$document.off( touchStopEvent, context.stop );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\t$.each({\n\t\tswipeleft: \"swipe.left\",\n\t\tswiperight: \"swipe.right\"\n\t}, function( event, sourceEvent ) {\n\n\t\t$.event.special[ event ] = {\n\t\t\tsetup: function() {\n\t\t\t\t$( this ).bind( sourceEvent, $.noop );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\t$( this ).unbind( sourceEvent );\n\t\t\t}\n\t\t};\n\t});\n})( jQuery, this );\n*/\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.util.triggers.js",
    "content": "'use strict';\n\n!function($) {\n\nconst MutationObserver = (function () {\n  var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n  for (var i=0; i < prefixes.length; i++) {\n    if (`${prefixes[i]}MutationObserver` in window) {\n      return window[`${prefixes[i]}MutationObserver`];\n    }\n  }\n  return false;\n}());\n\nconst triggers = (el, type) => {\n  el.data(type).split(' ').forEach(id => {\n    $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n  });\n};\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\n$(document).on('click.zf.trigger', '[data-open]', function() {\n  triggers($(this), 'open');\n});\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n$(document).on('click.zf.trigger', '[data-close]', function() {\n  let id = $(this).data('close');\n  if (id) {\n    triggers($(this), 'close');\n  }\n  else {\n    $(this).trigger('close.zf.trigger');\n  }\n});\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n$(document).on('click.zf.trigger', '[data-toggle]', function() {\n  let id = $(this).data('toggle');\n  if (id) {\n    triggers($(this), 'toggle');\n  } else {\n    $(this).trigger('toggle.zf.trigger');\n  }\n});\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\n$(document).on('close.zf.trigger', '[data-closable]', function(e){\n  e.stopPropagation();\n  let animation = $(this).data('closable');\n\n  if(animation !== ''){\n    Foundation.Motion.animateOut($(this), animation, function() {\n      $(this).trigger('closed.zf');\n    });\n  }else{\n    $(this).fadeOut().trigger('closed.zf');\n  }\n});\n\n$(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function() {\n  let id = $(this).data('toggle-focus');\n  $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n});\n\n/**\n* Fires once after all other scripts have loaded\n* @function\n* @private\n*/\n$(window).on('load', () => {\n  checkListeners();\n});\n\nfunction checkListeners() {\n  eventsListener();\n  resizeListener();\n  scrollListener();\n  mutateListener();\n  closemeListener();\n}\n\n//******** only fires this function once on load, if there's something to watch ********\nfunction closemeListener(pluginName) {\n  var yetiBoxes = $('[data-yeti-box]'),\n      plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n  if(pluginName){\n    if(typeof pluginName === 'string'){\n      plugNames.push(pluginName);\n    }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n      plugNames.concat(pluginName);\n    }else{\n      console.error('Plugin names must be strings');\n    }\n  }\n  if(yetiBoxes.length){\n    let listeners = plugNames.map((name) => {\n      return `closeme.zf.${name}`;\n    }).join(' ');\n\n    $(window).off(listeners).on(listeners, function(e, pluginId){\n      let plugin = e.namespace.split('.')[0];\n      let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n      plugins.each(function(){\n        let _this = $(this);\n\n        _this.triggerHandler('close.zf.trigger', [_this]);\n      });\n    });\n  }\n}\n\nfunction resizeListener(debounce){\n  let timer,\n      $nodes = $('[data-resize]');\n  if($nodes.length){\n    $(window).off('resize.zf.trigger')\n    .on('resize.zf.trigger', function(e) {\n      if (timer) { clearTimeout(timer); }\n\n      timer = setTimeout(function(){\n\n        if(!MutationObserver){//fallback for IE 9\n          $nodes.each(function(){\n            $(this).triggerHandler('resizeme.zf.trigger');\n          });\n        }\n        //trigger all listening elements and signal a resize event\n        $nodes.attr('data-events', \"resize\");\n      }, debounce || 10);//default time to emit resize event\n    });\n  }\n}\n\nfunction scrollListener(debounce){\n  let timer,\n      $nodes = $('[data-scroll]');\n  if($nodes.length){\n    $(window).off('scroll.zf.trigger')\n    .on('scroll.zf.trigger', function(e){\n      if(timer){ clearTimeout(timer); }\n\n      timer = setTimeout(function(){\n\n        if(!MutationObserver){//fallback for IE 9\n          $nodes.each(function(){\n            $(this).triggerHandler('scrollme.zf.trigger');\n          });\n        }\n        //trigger all listening elements and signal a scroll event\n        $nodes.attr('data-events', \"scroll\");\n      }, debounce || 10);//default time to emit scroll event\n    });\n  }\n}\n\nfunction mutateListener(debounce) {\n    let $nodes = $('[data-mutate]');\n    if ($nodes.length && MutationObserver){\n\t\t\t//trigger all listening elements and signal a mutate event\n      //no IE 9 or 10\n\t\t\t$nodes.each(function () {\n\t\t\t  $(this).triggerHandler('mutateme.zf.trigger');\n\t\t\t});\n    }\n }\n\nfunction eventsListener() {\n  if(!MutationObserver){ return false; }\n  let nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');\n\n  //element callback\n  var listeningElementsMutation = function (mutationRecordsList) {\n      var $target = $(mutationRecordsList[0].target);\n\n\t  //trigger the event handler for the element depending on type\n      switch (mutationRecordsList[0].type) {\n\n        case \"attributes\":\n          if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n\t\t  \t$target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n\t\t  }\n\t\t  if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n\t\t  \t$target.triggerHandler('resizeme.zf.trigger', [$target]);\n\t\t   }\n\t\t  if (mutationRecordsList[0].attributeName === \"style\") {\n\t\t\t  $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n\t\t\t  $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n\t\t  }\n\t\t  break;\n\n        case \"childList\":\n\t\t  $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n\t\t  $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n          break;\n\n        default:\n          return false;\n        //nothing\n      }\n    };\n\n    if (nodes.length) {\n      //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n      for (var i = 0; i <= nodes.length - 1; i++) {\n        var elementObserver = new MutationObserver(listeningElementsMutation);\n        elementObserver.observe(nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n      }\n    }\n  }\n\n// ------------------------------------\n\n// [PH]\n// Foundation.CheckWatchers = checkWatchers;\nFoundation.IHearYou = checkListeners;\n// Foundation.ISeeYou = scrollListener;\n// Foundation.IFeelYou = closemeListener;\n\n}(jQuery);\n\n// function domMutationObserver(debounce) {\n//   // !!! This is coming soon and needs more work; not active  !!! //\n//   var timer,\n//   nodes = document.querySelectorAll('[data-mutate]');\n//   //\n//   if (nodes.length) {\n//     // var MutationObserver = (function () {\n//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n//     //   for (var i=0; i < prefixes.length; i++) {\n//     //     if (prefixes[i] + 'MutationObserver' in window) {\n//     //       return window[prefixes[i] + 'MutationObserver'];\n//     //     }\n//     //   }\n//     //   return false;\n//     // }());\n//\n//\n//     //for the body, we need to listen for all changes effecting the style and class attributes\n//     var bodyObserver = new MutationObserver(bodyMutation);\n//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:[\"style\", \"class\"]});\n//\n//\n//     //body callback\n//     function bodyMutation(mutate) {\n//       //trigger all listening elements and signal a mutation event\n//       if (timer) { clearTimeout(timer); }\n//\n//       timer = setTimeout(function() {\n//         bodyObserver.disconnect();\n//         $('[data-mutate]').attr('data-events',\"mutate\");\n//       }, debounce || 150);\n//     }\n//   }\n// }\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/js/foundation.zf.responsiveAccordionTabs.js",
    "content": "'use strict';\n\n!function($) {\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.timerAndImageLoader\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs {\n  /**\n   * Creates a new instance of a responsive accordion tabs.\n   * @class\n   * @fires ResponsiveAccordionTabs#init\n   * @param {jQuery} element - jQuery object to make into a dropdown menu.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  constructor(element, options) {\n    this.$element = $(element);\n    this.options  = $.extend({}, this.$element.data(), options);\n    this.rules = this.$element.data('responsive-accordion-tabs');\n    this.currentMq = null;\n    this.currentPlugin = null;\n    if (!this.$element.attr('id')) {\n      this.$element.attr('id',Foundation.GetYoDigits(6, 'responsiveaccordiontabs'));\n    };\n\n    this._init();\n    this._events();\n\n    Foundation.registerPlugin(this, 'ResponsiveAccordionTabs');\n  }\n\n  /**\n   * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n   * @function\n   * @private\n   */\n  _init() {\n    // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n    if (typeof this.rules === 'string') {\n      let rulesTree = {};\n\n      // Parse rules from \"classes\" pulled from data attribute\n      let rules = this.rules.split(' ');\n\n      // Iterate through every rule found\n      for (let i = 0; i < rules.length; i++) {\n        let rule = rules[i].split('-');\n        let ruleSize = rule.length > 1 ? rule[0] : 'small';\n        let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n        if (MenuPlugins[rulePlugin] !== null) {\n          rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n        }\n      }\n\n      this.rules = rulesTree;\n    }\n\n    this._getAllOptions();\n\n    if (!$.isEmptyObject(this.rules)) {\n      this._checkMediaQueries();\n    }\n  }\n\n  _getAllOptions() {\n    //get all defaults and options\n    var _this = this;\n    _this.allOptions = {};\n    for (var key in MenuPlugins) {\n      if (MenuPlugins.hasOwnProperty(key)) {\n        var obj = MenuPlugins[key];\n        try {\n          var dummyPlugin = $('<ul></ul>');\n          var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n          for (var keyKey in tmpPlugin.options) {\n            if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n              var objObj = tmpPlugin.options[keyKey];\n              _this.allOptions[keyKey] = objObj;\n            }\n          }\n          tmpPlugin.destroy();\n        }\n        catch(e) {\n        }\n      }\n    }\n  }\n\n  /**\n   * Initializes events for the Menu.\n   * @function\n   * @private\n   */\n  _events() {\n    var _this = this;\n\n    $(window).on('changed.zf.mediaquery', function() {\n      _this._checkMediaQueries();\n    });\n  }\n\n  /**\n   * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n   * @function\n   * @private\n   */\n  _checkMediaQueries() {\n    var matchedMq, _this = this;\n    // Iterate through each rule and find the last matching rule\n    $.each(this.rules, function(key) {\n      if (Foundation.MediaQuery.atLeast(key)) {\n        matchedMq = key;\n      }\n    });\n\n    // No match? No dice\n    if (!matchedMq) return;\n\n    // Plugin already initialized? We good\n    if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n    // Remove existing plugin-specific CSS classes\n    $.each(MenuPlugins, function(key, value) {\n      _this.$element.removeClass(value.cssClass);\n    });\n\n    // Add the CSS class for the new plugin\n    this.$element.addClass(this.rules[matchedMq].cssClass);\n\n    // Create an instance of the new plugin\n    if (this.currentPlugin) {\n      //don't know why but on nested elements data zfPlugin get's lost\n      if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n      this.currentPlugin.destroy();\n    }\n    this._handleMarkup(this.rules[matchedMq].cssClass);\n    this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n    this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n  }\n\n  _handleMarkup(toSet){\n    var _this = this, fromString = 'accordion';\n    var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n    if ($panels.length) fromString = 'tabs';\n    if (fromString === toSet) {\n      return;\n    };\n\n    var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n    var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n    this.$element.removeAttr('role');\n    var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n    var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n    if (fromString === 'tabs') {\n      $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n      $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n    }else{\n      $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n    };\n\n    $panels.css({display:'',visibility:''});\n    $liHeads.css({display:'',visibility:''});\n    if (toSet === 'accordion') {\n      $panels.each(function(key,value){\n        $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n        $('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id=\"tabs-placeholder-'+_this.$element.attr('id')+'\"></div>').remove();\n        $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n        $liHeadsA.addClass('accordion-title');\n      });\n    }else if (toSet === 'tabs'){\n      var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n      var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n      if ($placeholder.length) {\n        $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n        $placeholder.remove();\n      }else{\n        $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n      };\n      $panels.each(function(key,value){\n        var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n        var hash = $liHeadsA.get(key).hash.slice(1);\n        var id = $(value).attr('id') || Foundation.GetYoDigits(6, 'accordion');\n        if (hash !== id) {\n          if (hash !== '') {\n            $(value).attr('id',hash);\n          }else{\n            hash = id;\n            $(value).attr('id',hash);\n            $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n          };\n        };\n        var isActive = $($liHeads.get(key)).hasClass('is-active');\n        if (isActive) {\n          tempValue.addClass('is-active');\n        };\n      });\n      $liHeads.addClass(tabsTitle);\n    };\n  }\n\n  /**\n   * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n   * @function\n   */\n  destroy() {\n    if (this.currentPlugin) this.currentPlugin.destroy();\n    $(window).off('.zf.ResponsiveAccordionTabs');\n    Foundation.unregisterPlugin(this);\n  }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n  tabs: {\n    cssClass: 'tabs',\n    plugin: Foundation._plugins.tabs || null\n  },\n  accordion: {\n    cssClass: 'accordion',\n    plugin: Foundation._plugins.accordion || null\n  }\n};\n\n// Window exports\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\n}(jQuery);\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/_global.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable force-attribute-nesting, force-pseudo-nesting, no-color-literals, no-qualifying-elements\n\n////\n/// @group global\n////\n\n/// Font size attribute applied to `<html>` and `<body>`. We use 100% by default so the value is inherited from the user's browser settings.\n/// @type Number\n$global-font-size: 100% !default;\n\n/// Global width of your site. Used by the grid to determine row width.\n/// @type Number\n$global-width: rem-calc(1200) !default;\n\n/// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px\n/// @type Number\n$global-lineheight: 1.5 !default;\n\n/// Colors used for buttons, callouts, links, etc. There must always be a color called `primary`.\n/// @type Map\n$foundation-palette: (\n  primary: #1779ba,\n  secondary: #767676,\n  success: #3adb76,\n  warning: #ffae00,\n  alert: #cc4b37,\n) !default;\n\n/// Color used for light gray UI items.\n/// @type Color\n$light-gray: #e6e6e6 !default;\n\n/// Color used for medium gray UI items.\n/// @type Color\n$medium-gray: #cacaca !default;\n\n/// Color used for dark gray UI items.\n/// @type Color\n$dark-gray: #8a8a8a !default;\n\n/// Color used for black ui items.\n/// @type Color\n$black: #0a0a0a !default;\n\n/// Color used for white ui items.\n/// @type Color\n$white: #fefefe !default;\n\n/// Background color of the body.\n/// @type Color\n$body-background: $white !default;\n\n/// Text color of the body.\n/// @type Color\n$body-font-color: $black !default;\n\n/// Font stack of the body.\n/// @type List\n$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;\n\n/// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.\n/// @type Boolean\n$body-antialiased: true !default;\n\n/// Global value used for margin on components.\n/// @type Number\n$global-margin: 1rem !default;\n\n/// Global value used for padding on components.\n/// @type Number\n$global-padding: 1rem !default;\n\n/// Global font weight used for normal type.\n/// @type Keyword | Number\n$global-weight-normal: normal !default;\n\n/// Global font weight used for bold type.\n/// @type Keyword | Number\n$global-weight-bold: bold !default;\n\n/// Global value used for all elements that have a border radius.\n/// @type Number\n$global-radius: 0 !default;\n\n/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.\n/// @type Keyword\n$global-text-direction: ltr !default;\n\n/// Enables flexbox for components that support it.\n/// @type Boolean\n$global-flexbox: false !default;\n\n@if not map-has-key($foundation-palette, primary) {\n  @error 'In $foundation-palette, you must have a color named \"primary\".';\n}\n\n// Internal variables used for text direction\n$global-left: if($global-text-direction == rtl, right, left);\n$global-right: if($global-text-direction == rtl, left, right);\n\n// Internal variables used for colors\n$primary-color: get-color(primary);\n$secondary-color: get-color(secondary);\n$success-color: get-color(success);\n$warning-color: get-color(warning);\n$alert-color: get-color(alert);\n\n@mixin foundation-global-styles {\n  @include -zf-normalize;\n\n  // These styles are applied to a <meta> tag, which is read by the Foundation JavaScript\n  .foundation-mq {\n    font-family: '#{-zf-bp-serialize($breakpoints)}';\n  }\n\n  html {\n    box-sizing: border-box;\n    font-size: $global-font-size;\n  }\n\n  // Set box-sizing globally to handle padding and border widths\n  *,\n  *::before,\n  *::after {\n    box-sizing: inherit;\n  }\n\n  // Default body styles\n  body {\n    margin: 0;\n    padding: 0;\n\n    background: $body-background;\n\n    font-family: $body-font-family;\n    font-weight: $global-weight-normal;\n    line-height: $global-lineheight;\n    color: $body-font-color;\n\n    @if ($body-antialiased) {\n      -webkit-font-smoothing: antialiased;\n      -moz-osx-font-smoothing: grayscale;\n    }\n  }\n\n  img {\n    // Get rid of gap under images by making them display: inline-block; by default\n    display: inline-block;\n    vertical-align: middle;\n\n    // Grid defaults to get images and embeds to work properly\n    max-width: 100%;\n    height: auto;\n    -ms-interpolation-mode: bicubic;\n  }\n\n  // Make sure textarea takes on height automatically\n  textarea {\n    height: auto;\n    min-height: 50px;\n    border-radius: $global-radius;\n  }\n\n  // Make select elements are 100% width by default\n  select {\n    width: 100%;\n    border-radius: $global-radius;\n  }\n\n  // Styles Google Maps and MapQuest embeds properly\n  // sass-lint:disable-line no-ids\n  .map_canvas,\n  .mqa-display {\n    img,\n    embed,\n    object {\n      max-width: none !important;\n    }\n  }\n\n  // Reset <button> styles created by most browsers\n  button {\n    @include disable-mouse-outline;\n\n    padding: 0;\n\n    appearance: none;\n    border: 0;\n    border-radius: $global-radius;\n    background: transparent;\n\n    line-height: 1;\n  }\n\n  // Internal classes to show/hide elements in JavaScript\n  .is-visible {\n    display: block !important;\n  }\n\n  .is-hidden {\n    display: none !important;\n  }\n}\n\n/// Loads normalize.css.\n/// @access private\n@mixin -zf-normalize {\n  @include normalize();\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_accordion-menu.scss",
    "content": "////\n/// @group accordion-menu\n////\n\n/// Sets if accordion menus have the default arrow styles.\n/// @type Boolean\n$accordionmenu-arrows: true !default;\n\n/// Sets accordion menu arrow color if arrow is used.\n/// @type Color\n$accordionmenu-arrow-color: $primary-color !default;\n\n/// Sets accordion menu arrow size if arrow is used.\n/// @type Length\n$accordionmenu-arrow-size: 6px !default;\n\n@mixin foundation-accordion-menu {\n  @if $accordionmenu-arrows {\n    .is-accordion-submenu-parent > a {\n      position: relative;\n\n      &::after {\n        @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down);\n        position: absolute;\n        top: 50%;\n        margin-top: -1 * ($accordionmenu-arrow-size / 2);\n        #{$global-right}: 1rem;\n      }\n    }\n\n    .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n      transform: rotate(180deg);\n      transform-origin: 50% 50%;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_accordion.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group accordion\n////\n\n/// Default background color of an accordion group.\n/// @type Color\n$accordion-background: $white !default;\n\n/// If `true`, adds plus and minus icons to the side of each accordion title.\n/// @type Boolean\n$accordion-plusminus: true !default;\n\n/// Font size of accordion titles.\n/// @type Number\n$accordion-title-font-size: rem-calc(12) !default;\n\n/// Default text color for items in a Menu.\n/// @type Color\n$accordion-item-color: $primary-color !default;\n\n/// Default background color on hover for items in a Menu.\n/// @type Color\n$accordion-item-background-hover: $light-gray !default;\n\n/// Default padding of an accordion item.\n/// @type Number | List\n$accordion-item-padding: 1.25rem 1rem !default;\n\n/// Default background color of tab content.\n/// @type Color\n$accordion-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$accordion-content-border: 1px solid $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$accordion-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$accordion-content-padding: 1rem !default;\n\n/// Adds styles for an accordion container. Apply this to the same element that gets `data-accordion`.\n@mixin accordion-container (\n  $background: $accordion-background\n) {\n  margin-#{$global-left}: 0;\n  background: $background;\n  list-style-type: none;\n}\n\n/// Adds styles for the accordion item. Apply this to the list item within an accordion ul.\n@mixin accordion-item {\n  &:first-child > :first-child {\n    border-radius: $global-radius $global-radius 0 0;\n  }\n\n  &:last-child > :last-child {\n    border-radius: 0 0 $global-radius $global-radius;\n  }\n}\n\n/// Adds styles for the title of an accordion item. Apply this to the link within an accordion item.\n@mixin accordion-title (\n  $padding: $accordion-item-padding,\n  $font-size: $accordion-title-font-size,\n  $color: $accordion-item-color,\n  $border: $accordion-content-border,\n  $background-hover: $accordion-item-background-hover\n) {\n  position: relative;\n  display: block;\n  padding: $padding;\n\n  border: $border;\n  border-bottom: 0;\n\n  font-size: $font-size;\n  line-height: 1;\n  color: $color;\n\n  :last-child:not(.is-active) > & {\n    border-bottom: $border;\n    border-radius: 0 0 $global-radius $global-radius;\n  }\n\n  &:hover,\n  &:focus {\n    background-color: $background-hover;\n  }\n\n  @if $accordion-plusminus {\n    &::before {\n      position: absolute;\n      top: 50%;\n      #{$global-right}: 1rem;\n      margin-top: -0.5rem;\n      content: '+';\n    }\n\n    .is-active > &::before {\n      content: '–';\n    }\n  }\n}\n\n/// Adds styles for accordion content. Apply this to the content pane below an accordion item's title.\n@mixin accordion-content (\n  $padding: $accordion-content-padding,\n  $border: $accordion-content-border,\n  $background: $accordion-content-background,\n  $color: $accordion-content-color\n) {\n  display: none;\n  padding: $padding;\n\n  border: $border;\n  border-bottom: 0;\n  background-color: $background;\n\n  color: $color;\n\n  :last-child > &:last-child {\n    border-bottom: $border;\n  }\n}\n\n@mixin foundation-accordion {\n  .accordion {\n    @include accordion-container;\n  }\n\n  .accordion-item {\n    @include accordion-item;\n  }\n\n  .accordion-title {\n    @include accordion-title;\n  }\n\n  .accordion-content {\n    @include accordion-content;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_badge.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group badge\n////\n\n/// Default background color for badges.\n/// @type Color\n$badge-background: $primary-color !default;\n\n/// Default text color for badges.\n/// @type Color\n$badge-color: $white !default;\n\n/// Alternate text color for badges.\n/// @type Color\n$badge-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$badge-palette: $foundation-palette !default;\n\n/// Default padding inside badges.\n/// @type Number\n$badge-padding: 0.3em !default;\n\n/// Minimum width of a badge.\n/// @type Number\n$badge-minwidth: 2.1em !default;\n\n/// Default font size for badges.\n/// @type Number\n$badge-font-size: 0.6rem !default;\n\n/// Generates the base styles for a badge.\n@mixin badge {\n  display: inline-block;\n  min-width: $badge-minwidth;\n  padding: $badge-padding;\n\n  border-radius: 50%;\n\n  font-size: $badge-font-size;\n  text-align: center;\n}\n\n@mixin foundation-badge {\n  .badge {\n    @include badge;\n\n    background: $badge-background;\n    color: $badge-color;\n\n    @each $name, $color in $badge-palette {\n      &.#{$name} {\n        background: $color;\n        color: color-pick-contrast($color, ($badge-color, $badge-color-alt));\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_breadcrumbs.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breadcrumbs\n////\n\n/// Margin around a breadcrumbs container.\n/// @type Number\n$breadcrumbs-margin: 0 0 $global-margin 0 !default;\n\n/// Font size of breadcrumb links.\n/// @type Number\n$breadcrumbs-item-font-size: rem-calc(11) !default;\n\n/// Color of breadcrumb links.\n/// @type Color\n$breadcrumbs-item-color: $primary-color !default;\n\n/// Color of the active breadcrumb link.\n/// @type Color\n$breadcrumbs-item-color-current: $black !default;\n\n/// Opacity of disabled breadcrumb links.\n/// @type Number\n$breadcrumbs-item-color-disabled: $medium-gray !default;\n\n/// Margin between breadcrumb items.\n/// @type Number\n$breadcrumbs-item-margin: 0.75rem !default;\n\n/// If `true`, makes breadcrumb links uppercase.\n/// @type Boolean\n$breadcrumbs-item-uppercase: true !default;\n\n/// If `true`, adds a slash between breadcrumb links.\n/// @type Boolean\n$breadcrumbs-item-slash: true !default;\n\n/// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.\n@mixin breadcrumbs-container {\n  @include clearfix;\n  margin: $breadcrumbs-margin;\n  list-style: none;\n\n  // Item wrapper\n  li {\n    float: #{$global-left};\n\n    font-size: $breadcrumbs-item-font-size;\n    color: $breadcrumbs-item-color-current;\n    cursor: default;\n\n    @if $breadcrumbs-item-uppercase {\n      text-transform: uppercase;\n    }\n\n    @if $breadcrumbs-item-slash {\n      // Need to escape the backslash\n      $slash: if($global-text-direction == 'ltr', '/', '\\\\');\n\n      &:not(:last-child)::after {\n        position: relative;\n        top: 1px;\n        margin: 0 $breadcrumbs-item-margin;\n\n        opacity: 1;\n        content: $slash;\n        color: $medium-gray;\n      }\n    }\n    @else {\n      margin-#{$global-right}: $breadcrumbs-item-margin;\n    }\n  }\n\n  // Page links\n  a {\n    color: $breadcrumbs-item-color;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n\n@mixin foundation-breadcrumbs {\n  .breadcrumbs {\n    @include breadcrumbs-container;\n\n    .disabled {\n      color: $breadcrumbs-item-color-disabled;\n      cursor: not-allowed;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_button-group.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button-group\n////\n\n/// Margin for button groups.\n/// @type Number\n$buttongroup-margin: 1rem !default;\n\n/// Margin between buttons in a button group.\n/// @type Border\n$buttongroup-spacing: 1px !default;\n\n/// Selector for the buttons inside a button group.\n/// @type String\n$buttongroup-child-selector: '.button' !default;\n\n/// Maximum number of buttons that can be in an even-width button group.\n/// @type Number\n$buttongroup-expand-max: 6 !default;\n\n/// Determines if $button-radius is applied to each button or the button group as a whole. Use $global-radius in _settings.scss to change radius.\n/// @type Boolean\n$buttongroup-radius-on-each: true !default;\n\n/// Add styles for a button group container.\n/// @param {String} $child-selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n@mixin button-group(\n  $child-selector: $buttongroup-child-selector\n) {\n  @include clearfix;\n  margin-bottom: $buttongroup-margin;\n\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: stretch;\n  }\n  @else {\n    font-size: 0;\n  }\n\n  #{$child-selector} {\n    margin: 0;\n    margin-#{$global-right}: $buttongroup-spacing;\n    margin-bottom: $buttongroup-spacing;\n    font-size: map-get($button-sizes, default);\n\n    @if $global-flexbox {\n      flex: 0 0 auto;\n    }\n\n    &:last-child {\n      margin-#{$global-right}: 0;\n    }\n\n    @if not $buttongroup-radius-on-each {\n      border-radius: 0;\n\n      &:first-child {\n        border-top-#{$global-left}-radius: $global-radius;\n        border-bottom-#{$global-left}-radius: $global-radius;\n      }\n\n      &:last-child {\n        border-top-#{$global-right}-radius: $global-radius;\n        border-bottom-#{$global-right}-radius: $global-radius;\n      }\n    }\n\n  }\n}\n\n/// Creates a full-width button group, making each button equal width.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n@mixin button-group-expand(\n  $selector: $buttongroup-child-selector,\n  $count: null\n) {\n  @if not $global-flexbox {\n    margin-#{$global-right}: -$buttongroup-spacing;\n\n    &::before,\n    &::after {\n      display: none;\n    }\n  }\n\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n    @else {\n      @for $i from 2 through $buttongroup-expand-max {\n        &:first-child:nth-last-child(#{$i}) {\n          &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {\n            display: inline-block;\n            width: calc(#{percentage(1 / $i)} - #{$buttongroup-spacing});\n            margin-#{$global-right}: $buttongroup-spacing;\n\n            &:last-child {\n              margin-#{$global-right}: $buttongroup-spacing * -$buttongroup-expand-max;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n/// Stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-stack(\n  $selector: $buttongroup-child-selector\n) {\n  @if $global-flexbox {\n    flex-wrap: wrap;\n  }\n\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 0 0 100%;\n    }\n    @else {\n      width: 100%;\n    }\n\n    &:last-child {\n      margin-bottom: 0;\n    }\n\n\n    @if not $buttongroup-radius-on-each {\n      border-radius: 0;\n\n      &:first-child{\n        border-top-#{$global-left}-radius: $global-radius;\n        border-top-#{$global-right}-radius: $global-radius;\n      }\n\n      &:last-child {\n        margin-bottom: 0;\n        border-bottom-#{$global-left}-radius: $global-radius;\n        border-bottom-#{$global-right}-radius: $global-radius;\n      }\n    }\n\n  }\n}\n\n/// Un-stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-unstack(\n  $selector: $buttongroup-child-selector\n) {\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n    @else {\n      width: auto;\n    }\n    margin-bottom: 0;\n\n    @if not $buttongroup-radius-on-each {\n      &:first-child {\n        border-top-#{$global-left}-radius: $global-radius;\n        border-top-#{$global-right}-radius: 0;\n        border-bottom-#{$global-left}-radius: $global-radius;\n      }\n\n      &:last-child {\n        border-top-#{$global-right}-radius: $global-radius;\n        border-bottom-#{$global-right}-radius: $global-radius;\n        border-bottom-#{$global-left}-radius: 0;\n      }\n    }\n\n  }\n}\n\n@mixin foundation-button-group {\n  .button-group {\n    @include button-group;\n\n    // Sizes\n    @each $size, $value in map-remove($button-sizes, default) {\n      &.#{$size} #{$buttongroup-child-selector} {\n        font-size: $value;\n      }\n    }\n\n    // Even-width Group\n    &.expanded { @include button-group-expand; }\n\n    // Colors\n    @each $name, $color in $foundation-palette {\n      @if $button-fill != hollow {\n        &.#{$name} #{$buttongroup-child-selector} {\n          @include button-style($color, auto, auto);\n        }\n      }\n      @else {\n        &.#{$name} #{$buttongroup-child-selector} {\n          @include button-hollow;\n          @include button-hollow-style($color);\n        }\n      }\n    }\n\n    &.stacked,\n    &.stacked-for-small,\n    &.stacked-for-medium {\n      @include button-group-stack;\n    }\n\n    &.stacked-for-small {\n      @include breakpoint(medium) {\n        @include button-group-unstack;\n      }\n    }\n\n    &.stacked-for-medium {\n      @include breakpoint(large) {\n        @include button-group-unstack;\n      }\n    }\n\n    &.stacked-for-small.expanded { // sass-lint:disable-line force-element-nesting\n      @include breakpoint(small only) {\n        display: block;\n\n        #{$buttongroup-child-selector} {\n          display: block;\n          margin-#{$global-right}: 0;\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_button.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button\n////\n\n/// Padding inside buttons.\n/// @type List\n$button-padding: 0.85em 1em !default;\n\n/// Margin around buttons.\n/// @type List\n$button-margin: 0 0 $global-margin 0 !default;\n\n/// Default fill for buttons. Can either be `solid` or `hollow`.\n/// @type Keyword\n$button-fill: solid !default;\n\n/// Default background color for buttons.\n/// @type Color\n$button-background: $primary-color !default;\n\n/// Background color on hover for buttons.\n/// @type Color\n$button-background-hover: scale-color($button-background, $lightness: -15%) !default;\n\n/// Font color for buttons.\n/// @type List\n$button-color: $white !default;\n\n/// Alternative font color for buttons.\n/// @type List\n$button-color-alt: $black !default;\n\n/// Border radius for buttons, defaulted to global-radius.\n/// @type Number\n$button-radius: $global-radius !default;\n\n/// Sizes for buttons.\n/// @type Map\n$button-sizes: (\n  tiny: 0.6rem,\n  small: 0.75rem,\n  default: 0.9rem,\n  large: 1.25rem,\n) !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$button-palette: $foundation-palette !default;\n\n/// opacity for a disabled button.\n/// @type List\n$button-opacity-disabled: 0.25 !default;\n\n/// Background color lightness on hover for buttons.\n/// @type Number\n$button-background-hover-lightness: -20% !default;\n\n/// Color lightness on hover for hollow buttons.\n/// @type Number\n$button-hollow-hover-lightness: -50% !default;\n\n// Internal: flip from margin-right to margin-left for defaults\n@if $global-text-direction == 'rtl' {\n  $button-margin: 0 0 $global-margin $global-margin !default;\n}\n\n/// transitions for buttons.\n/// @type List\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out !default;\n\n// TODO: Document button-base() mixin\n@mixin button-base {\n  @include disable-mouse-outline;\n  display: inline-block;\n  vertical-align: middle;\n  margin: $button-margin;\n  padding: $button-padding;\n\n  -webkit-appearance: none;\n  border: 1px solid transparent;\n  border-radius: $button-radius;\n  transition: $button-transition;\n\n  font-size: map-get($button-sizes, default);\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n}\n\n/// Expands a button to make it full-width.\n/// @param {Boolean} $expand [true] - Set to `true` to enable the expand behavior. Set to `false` to reverse this behavior.\n@mixin button-expand($expand: true) {\n  @if $expand {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0;\n  }\n  @else {\n    display: inline-block;\n    width: auto;\n    margin: $button-margin;\n  }\n}\n\n/// Sets the visual style of a button.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n@mixin button-style(\n  $background: $button-background,\n  $background-hover: $button-background-hover,\n  $color: $button-color,\n  $background-hover-lightness: $button-background-hover-lightness\n) {\n  @if $color == auto {\n    $color: color-pick-contrast($background, ($button-color, $button-color-alt));\n  }\n\n  @if $background-hover == auto {\n    $background-hover: scale-color($background, $lightness: $background-hover-lightness);\n  }\n\n  background-color: $background;\n  color: $color;\n\n  &:hover, &:focus {\n    background-color: $background-hover;\n    color: $color;\n  }\n}\n\n/// Removes background fill on hover and focus for hollow buttons.\n@mixin button-hollow {\n  &,\n  &:hover, &:focus {\n    background-color: transparent;\n  }\n}\n\n@mixin button-hollow-style(\n  $color: $primary-color,\n  $hover-lightness: $button-hollow-hover-lightness\n) {\n  $color-hover: scale-color($color, $lightness: $hover-lightness);\n\n  border: 1px solid $color;\n  color: $color;\n\n  &:hover, &:focus {\n    border-color: $color-hover;\n    color: $color-hover;\n  }\n}\n\n/// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.\n@mixin button-disabled($color: $primary-color) {\n  opacity: $button-opacity-disabled;\n  cursor: not-allowed;\n\n  &:hover, &:focus {\n    background-color: $color;\n    color: $button-color;\n  }\n}\n\n/// Adds a dropdown arrow to a button.\n/// @param {Number} $size [0.4em] - Size of the arrow. We recommend using an `em` value so the triangle scales when used inside different sizes of buttons.\n/// @param {Color} $color [white] - Color of the arrow.\n/// @param {Number} $offset [$button-padding] - Distance between the arrow and the text of the button. Defaults to whatever the right padding of a button is.\n@mixin button-dropdown(\n  $size: 0.4em,\n  $color: $white,\n  $offset: get-side($button-padding, right)\n) {\n  &::after {\n    @include css-triangle($size, $color, down);\n    position: relative;\n    top: 0.4em; // Aligns the arrow with the text of the button\n\n    display: inline-block;\n    float: #{$global-right};\n    margin-#{$global-left}: get-side($button-padding, right);\n  }\n}\n\n/// Adds all styles for a button. For more granular control over styles, use the individual button mixins.\n/// @param {Boolean} $expand [false] - Set to `true` to make the button full-width.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n/// @param {Keyword} $style [solid] - Set to `hollow` to create a hollow button. The color defined in `$background` will be used as the primary color of the button.\n@mixin button(\n  $expand: false,\n  $background: $button-background,\n  $background-hover: $button-background-hover,\n  $color: $button-color,\n  $style: $button-fill\n) {\n  @include button-base;\n\n  @if $style == solid {\n    @include button-style($background, $background-hover, $color);\n  }\n  @else if $style == hollow {\n    @include button-hollow;\n    @include button-hollow-style($background);\n  }\n\n  @if $expand {\n    @include button-expand;\n  }\n}\n\n@mixin foundation-button {\n  .button {\n    @include button;\n\n    // Sizes\n    @each $size, $value in map-remove($button-sizes, default) {\n      &.#{$size} {\n        font-size: $value;\n      }\n    }\n\n    &.expanded { @include button-expand; }\n\n    // Colors\n    @each $name, $color in $button-palette {\n      @if $button-fill != hollow {\n        &.#{$name} {\n          @include button-style($color, auto, auto);\n        }\n      }\n      @else {\n        &.#{$name} {\n          @include button-hollow-style($color);\n        }\n\n        &.#{$name}.dropdown::after {\n          border-top-color: $color;\n        }\n      }\n    }\n\n    // Hollow style\n    @if $button-fill != hollow {\n      &.hollow {\n        @include button-hollow;\n        @include button-hollow-style;\n\n        @each $name, $color in $button-palette {\n          &.#{$name} {\n            @include button-hollow-style($color);\n          }\n        }\n      }\n    }\n\n    // Disabled style\n    &.disabled,\n    &[disabled] {\n      @include button-disabled;\n\n      @each $name, $color in $button-palette {\n        &.#{$name} {\n          @include button-disabled($color);\n        }\n      }\n    }\n\n    // Dropdown arrow\n    &.dropdown {\n      @include button-dropdown;\n\n      @if $button-fill == hollow {\n        &::after {\n          border-top-color: $button-background;\n        }\n      }\n    }\n\n    // Button with dropdown arrow only\n    &.arrow-only::after {\n      top: -0.1em;\n      float: none;\n      margin-#{$global-left}: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_callout.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group callout\n////\n\n/// Default background color.\n/// @type Color\n$callout-background: $white !default;\n\n/// Default fade value for callout backgrounds.\n/// @type Number\n$callout-background-fade: 85% !default;\n\n/// Default border style for callouts.\n/// @type List\n$callout-border: 1px solid rgba($black, 0.25) !default;\n\n/// Default bottom margin for callouts.\n/// @type Number\n$callout-margin: 0 0 1rem 0 !default;\n\n/// Default inner padding for callouts.\n/// @type Number\n$callout-padding: 1rem !default;\n\n/// Default font color for callouts.\n/// @type Color\n$callout-font-color: $body-font-color !default;\n\n/// Default font color for callouts, if the callout has a dark background.\n/// @type Color\n$callout-font-color-alt: $body-background !default;\n\n/// Default border radius for callouts.\n/// @type Color\n$callout-radius: $global-radius !default;\n\n/// Amount to tint links used within colored panels. Set to `false` to disable this feature.\n/// @type Number | Boolean\n$callout-link-tint: 30% !default;\n\n/// Adds basic styles for a callout, including padding and margin.\n@mixin callout-base() {\n  position: relative;\n  margin: $callout-margin;\n  padding: $callout-padding;\n\n  border: $callout-border;\n  border-radius: $callout-radius;\n\n  // Respect the padding, fool.\n  > :first-child {\n    margin-top: 0;\n  }\n\n  > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Generate quick styles for a callout using a single color as a baseline.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout-style($color: $callout-background) {\n  $background: scale-color($color, $lightness: $callout-background-fade);\n\n  background-color: $background;\n  color: color-pick-contrast($background, ($callout-font-color, $callout-font-color-alt));\n}\n\n@mixin callout-size($padding) {\n  padding-top: $padding;\n  padding-right: $padding;\n  padding-bottom: $padding;\n  padding-left: $padding;\n}\n\n\n/// Adds styles for a callout.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout($color: $callout-background) {\n  @include callout-base;\n  @include callout-style($color);\n}\n\n@mixin foundation-callout {\n  .callout {\n    @include callout;\n\n    @each $name, $color in $foundation-palette {\n      &.#{$name} {\n        @include callout-style($color);\n      }\n    }\n\n    &.small {\n      @include callout-size(0.5rem);\n    }\n\n    &.large {\n      @include callout-size(3rem);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_card.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group card\n////\n\n/// Defualt background color.\n/// @type Color\n$card-background: $white !default;\n\n/// Default font color for cards.\n/// @type Color\n$card-font-color: $body-font-color !default;\n\n/// Default background.\n/// @type Color\n$card-divider-background: $light-gray !default;\n\n/// Default border style.\n/// @type List\n$card-border: 1px solid $light-gray !default;\n\n/// Default card shadow.\n/// @type List\n$card-shadow: none !default;\n\n/// Default border radius.\n/// @type List\n$card-border-radius: $global-radius !default;\n\n/// Default padding.\n/// @type Number\n$card-padding: $global-padding !default;\n\n/// Default bottom margin.\n/// @type number\n$card-margin: $global-margin !default;\n\n/// Adds styles for a card container.\n/// @param {Color} $background - Background color of the card.\n/// @param {Color} $color - font color of the card.\n/// @param {Number} $margin - Bottom margin of the card.\n/// @param {List} $border - Border around the card.\n/// @param {List} $radius - border radius of the card.\n/// @param {List} $shadow - box shadow of the card.\n@mixin card-container(\n  $background: $card-background,\n  $color: $card-font-color,\n  $margin: $card-margin,\n  $border: $card-border,\n  $radius: $card-border-radius,\n  $shadow: $card-shadow\n) {\n  @if $global-flexbox {\n    display: flex;\n    flex-direction: column;\n  }\n\n  margin-bottom: $margin;\n\n  border: $border;\n  border-radius: $radius;\n\n  background: $background;\n  box-shadow: $shadow;\n\n  overflow: hidden;\n  color: $card-font-color;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adds styles for a card divider.\n@mixin card-divider(\n  $background: $card-divider-background,\n  $padding: $card-padding\n) {\n  @if $global-flexbox {\n    flex: 0 1 auto;\n  }\n\n  padding: $padding;\n  background: $background;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adds styles for a card section.\n@mixin card-section(\n  $padding: $card-padding\n) {\n  @if $global-flexbox {\n    flex: 1 0 auto;\n  }\n\n  padding: $padding;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n@mixin foundation-card {\n  .card {\n    @include card-container;\n  }\n\n  .card-divider {\n    @include card-divider;\n  }\n\n  .card-section {\n    @include card-section;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_close-button.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group close-button\n////\n\n/// Default position of the close button. The first value should be `right` or `left`, and the second value should be `top` or `bottom`.\n/// @type List\n$closebutton-position: right top !default;\n\n/// Right (or left) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-horizontal: (\n  small: 0.66rem,\n  medium: 1rem,\n) !default;\n\n/// Top (or bottom) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-vertical: (\n  small: 0.33em,\n  medium: 0.5rem,\n) !default;\n\n/// Default font size(s) of the close button.\n/// @type Number|Map\n$closebutton-size: (\n  small: 1.5em,\n  medium: 2em,\n) !default;\n\n/// The line-height of the close button. It affects the spacing of the element.\n/// @type Number\n$closebutton-lineheight: 1 !default;\n\n/// Default color of the close button.\n/// @type Color\n$closebutton-color: $dark-gray !default;\n\n/// Default color of the close button when being hovered on.\n/// @type Color\n$closebutton-color-hover: $black !default;\n\n\n/// Get the size and position for a close button. If the input value is a number, the number is returned. If the input value is a config map and the map has the key `$size`, the value is returned.\n///\n/// @param {Number|Map} $value - A number or map that represents the size or position value(s) of the close button.\n/// @param {Keyword} $size - The size of the close button to use.\n///\n/// @return {Number} The given number or the value found in the map.\n@function -zf-get-size-val($value, $size) {\n  // Check if the value is a number\n  @if type-of($value) == 'number' {\n    // If it is, just return the number\n    @return $value;\n  }\n\n  // Check if the size name exists in the value map\n  @else if map-has-key($value, $size) {\n    // If it does, return the value\n    @return map-get($value, $size);\n  }\n}\n\n/// Sets the size and position of a close button.\n/// @param {Keyword} $size [medium] - The size to use. Set to `small` to create a small close button. The 'medium' values defined in `$closebutton-*` variables will be used as the default size and position of the close button.\n@mixin close-button-size($size) {\n  $x: nth($closebutton-position, 1);\n  $y: nth($closebutton-position, 2);\n\n  #{$x}: -zf-get-size-val($closebutton-offset-horizontal, $size);\n  #{$y}: -zf-get-size-val($closebutton-offset-vertical, $size);\n  font-size: -zf-get-size-val($closebutton-size, $size);\n  line-height: -zf-get-size-val($closebutton-lineheight, $size);\n}\n\n/// Adds styles for a close button, using the styles in the settings variables.\n@mixin close-button {\n  $x: nth($closebutton-position, 1);\n  $y: nth($closebutton-position, 2);\n\n  @include disable-mouse-outline;\n  position: absolute;\n  color: $closebutton-color;\n  cursor: pointer;\n\n  &:hover,\n  &:focus {\n    color: $closebutton-color-hover;\n  }\n}\n\n@mixin foundation-close-button {\n  .close-button {\n    @include close-button;\n\n    &.small { @include close-button-size(small) }\n    &, &.medium { @include close-button-size(medium) }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_drilldown.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group drilldown\n////\n\n/// Transition property to use for animating menus.\n/// @type Transition\n$drilldown-transition: transform 0.15s linear !default;\n\n/// Adds arrows to drilldown items with submenus, as well as the back button.\n/// @type Boolean\n$drilldown-arrows: true !default;\n\n/// Sets drilldown arrow color if arrow is used.\n/// @type Color\n$drilldown-arrow-color: $primary-color !default;\n\n/// Sets drilldown arrow size if arrow is used.\n/// @type Length\n$drilldown-arrow-size: 6px !default;\n\n/// Background color for drilldown submenus.\n/// @type Color\n$drilldown-background: $white !default;\n\n@mixin foundation-drilldown-menu {\n  // Applied to the Menu container\n  .is-drilldown {\n    position: relative;\n    overflow: hidden;\n\n    li {\n      display: block;\n    }\n\n    &.animate-height {\n      transition: height 0.5s;\n    }\n  }\n\n  // Applied to nested <ul>s\n  .is-drilldown-submenu {\n    position: absolute;\n    top: 0;\n    #{$global-left}: 100%;\n    z-index: -1;\n\n    width: 100%;\n    background: $drilldown-background;\n    transition: $drilldown-transition;\n\n    &.is-active {\n      z-index: 1;\n      display: block;\n      transform: translateX(if($global-text-direction == ltr, -100%, 100%));\n    }\n\n    &.is-closing {\n      transform: translateX(if($global-text-direction == ltr, 100%, -100%));\n    }\n  }\n\n  .drilldown-submenu-cover-previous {\n    min-height: 100%;\n  }\n\n  @if $drilldown-arrows {\n    .is-drilldown-submenu-parent > a {\n      position: relative;\n\n      &::after {\n        @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);\n        position: absolute;\n        top: 50%;\n        margin-top: -1 * $drilldown-arrow-size;\n        #{$global-right}: 1rem;\n      }\n    }\n\n    .js-drilldown-back > a::before {\n      @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);\n      border-#{$global-left}-width: 0;\n      display: inline-block;\n      vertical-align: middle;\n      margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text\n\n      border-#{$global-left}-width: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_dropdown-menu.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown-menu\n////\n\n/// Enables arrows for items with dropdown menus.\n/// @type Boolean\n$dropdownmenu-arrows: true !default;\n\n/// Sets dropdown menu arrow color if arrow is used.\n/// @type Color\n$dropdownmenu-arrow-color: $anchor-color !default;\n\n/// Sets dropdown menu arrow size if arrow is used.\n/// @type Length\n$dropdownmenu-arrow-size: 6px !default;\n\n/// Minimum width of dropdown sub-menus.\n/// @type Length\n$dropdownmenu-min-width: 200px !default;\n\n/// Background color for dropdowns.\n/// @type Color\n$dropdownmenu-background: $white !default;\n\n/// Border for dropdown sub-menus.\n/// @type List\n$dropdownmenu-border: 1px solid $medium-gray !default;\n\n// Border width for dropdown sub-menus.\n// Used to adjust top margin of a sub-menu if a border is used.\n// @type Length\n$dropdownmenu-border-width: nth($dropdownmenu-border, 1);\n\n@mixin left-right-arrows {\n  > a::after {\n    #{$global-right}: 14px;\n  }\n\n  &.opens-left > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);\n  }\n\n  &.opens-right > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);\n  }\n}\n\n@mixin dropdown-menu-direction($dir: horizontal) {\n  @if $dir == horizontal {\n    > li.opens-left {\n      > .is-dropdown-submenu {\n        top: 100%;\n        right: 0;\n        left: auto;\n      }\n    }\n\n    > li.opens-right {\n      > .is-dropdown-submenu {\n        top: 100%;\n        right: auto;\n        left: 0;\n      }\n    }\n\n    @if $dropdownmenu-arrows {\n      > li.is-dropdown-submenu-parent > a {\n        position: relative;\n        padding-#{$global-right}: 1.5rem;\n      }\n\n      > li.is-dropdown-submenu-parent > a::after {\n        @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, down);\n        #{$global-right}: 5px;\n        margin-top: -1 * ($dropdownmenu-arrow-size / 2);\n      }\n    }\n  }\n  @else if $dir == vertical {\n    > li {\n      .is-dropdown-submenu {\n        top: 0;\n      }\n\n      &.opens-left {\n        > .is-dropdown-submenu {\n          right: 100%;\n          left: auto;\n        }\n      }\n\n      &.opens-right {\n        > .is-dropdown-submenu {\n          right: auto;\n          left: 100%;\n        }\n      }\n\n      @if $dropdownmenu-arrows {\n        @include left-right-arrows;\n      }\n    }\n  }\n  @else {\n    @warn 'The direction used for dropdown-menu-direction() must be horizontal or vertical.';\n  }\n}\n\n@mixin foundation-dropdown-menu {\n  .dropdown.menu {\n    @include dropdown-menu-direction(horizontal);\n\n    a {\n      @include disable-mouse-outline;\n    }\n\n    .no-js & ul {\n      display: none;\n    }\n\n    &.vertical {\n      @include dropdown-menu-direction(vertical);\n    }\n\n    @each $size in $breakpoint-classes {\n      @if $size != $-zf-zero-breakpoint {\n        @include breakpoint($size) {\n          &.#{$size}-horizontal {\n            @include dropdown-menu-direction(horizontal);\n          }\n\n          &.#{$size}-vertical {\n            @include dropdown-menu-direction(vertical);\n          }\n        }\n      }\n    }\n\n    &.align-right {\n      .is-dropdown-submenu.first-sub {\n        top: 100%;\n        right: 0;\n        left: auto;\n      }\n    }\n  }\n\n  .is-dropdown-menu.vertical {\n    width: 100px;\n\n    &.align-right {\n      float: right;\n    }\n  }\n\n  .is-dropdown-submenu-parent {\n    position: relative;\n\n    a::after {\n      position: absolute;\n      top: 50%;\n      #{$global-right}: 5px;\n      margin-top: -1 * $dropdownmenu-arrow-size;\n    }\n\n    &.opens-inner > .is-dropdown-submenu {\n\n      top: 100%;\n      @if $global-text-direction == 'rtl' {\n        right: auto;\n      }\n      @else {\n        left: auto;\n      }\n    }\n\n    &.opens-left > .is-dropdown-submenu {\n      right: 100%;\n      left: auto;\n    }\n\n    &.opens-right > .is-dropdown-submenu {\n      right: auto;\n      left: 100%;\n    }\n  }\n\n  .is-dropdown-submenu {\n    position: absolute;\n    top: 0;\n    #{$global-left}: 100%;\n    z-index: 1;\n\n    display: none;\n    min-width: $dropdownmenu-min-width;\n\n    border: $dropdownmenu-border;\n    background: $dropdownmenu-background;\n\n    .is-dropdown-submenu-parent {\n      @if $dropdownmenu-arrows {\n        @include left-right-arrows;\n      }\n    }\n\n    @if (type-of($dropdownmenu-border-width) == 'number') {\n      .is-dropdown-submenu {\n        margin-top: (-$dropdownmenu-border-width);\n      }\n    }\n\n    > li {\n      width: 100%;\n    }\n\n    // [TODO] Cut back specificity\n    //&:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > &, // why is this line needed? Opening is handled by JS and this causes some ugly flickering when the sub is re-positioned automatically...\n    &.js-dropdown-active {\n      display: block;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_dropdown.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown\n////\n\n/// Padding for dropdown panes.\n/// @type List\n$dropdown-padding: 1rem !default;\n\n/// Background for dropdown panes.\n/// @type Color\n$dropdown-background: $body-background !default;\n\n/// Border for dropdown panes.\n/// @type List\n$dropdown-border: 1px solid $medium-gray !default;\n\n/// Font size for dropdown panes.\n/// @type List\n$dropdown-font-size: 1rem !default;\n\n/// Width for dropdown panes.\n/// @type Number\n$dropdown-width: 300px !default;\n\n/// Border radius dropdown panes.\n/// @type Number\n$dropdown-radius: $global-radius !default;\n\n/// Sizes for dropdown panes. Each size is a CSS class you can apply.\n/// @type Map\n$dropdown-sizes: (\n  tiny: 100px,\n  small: 200px,\n  large: 400px,\n) !default;\n\n/// Applies styles for a basic dropdown.\n@mixin dropdown-container {\n  position: absolute;\n  z-index: 10;\n\n  display: block;\n  width: $dropdown-width;\n  padding: $dropdown-padding;\n\n  visibility: hidden;\n  border: $dropdown-border;\n  border-radius: $dropdown-radius;\n  background-color: $dropdown-background;\n\n  font-size: $dropdown-font-size;\n\n  &.is-open {\n    visibility: visible;\n  }\n}\n\n@mixin foundation-dropdown {\n  .dropdown-pane {\n    @include dropdown-container;\n  }\n\n  @each $name, $size in $dropdown-sizes {\n    .dropdown-pane.#{$name} {\n      width: $size;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_flex-video.scss",
    "content": "@import 'responsive-embed';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_flex.scss",
    "content": "@mixin foundation-flex-classes {\n  // Horizontal alignment using justify-content\n  @each $hdir, $prop in map-remove($-zf-flex-justify, left) {\n    .align-#{$hdir} {\n      @include flex-align($x: $hdir);\n    }\n  }\n\n  // Vertical alignment using align-items and align-self\n  @each $vdir, $prop in $-zf-flex-align {\n    .align-#{$vdir} {\n      @include flex-align($y: $vdir);\n    }\n\n    .align-self-#{$vdir} {\n      @include flex-align-self($y: $vdir);\n    }\n  }\n\n  // Source ordering\n  @include -zf-each-breakpoint {\n    @for $i from 1 through 6 {\n      .#{$-zf-size}-order-#{$i} {\n        @include flex-order($i);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_float.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group float\n////\n\n@mixin foundation-float-classes {\n  .float-left {\n    float: left !important;\n  }\n\n  .float-right {\n    float: right !important;\n  }\n\n  .float-center {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  .clearfix {\n    @include clearfix;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_label.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group label\n////\n\n/// Default background color for labels.\n/// @type Color\n$label-background: $primary-color !default;\n\n/// Default text color for labels.\n/// @type Color\n$label-color: $white !default;\n\n/// Alternate text color for labels.\n/// @type Color\n$label-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$label-palette: $foundation-palette !default;\n\n/// Default font size for labels.\n/// @type Number\n$label-font-size: 0.8rem !default;\n\n/// Default padding inside labels.\n/// @type Number\n$label-padding: 0.33333rem 0.5rem !default;\n\n/// Default radius of labels.\n/// @type Number\n$label-radius: $global-radius !default;\n\n/// Generates base styles for a label.\n@mixin label {\n  display: inline-block;\n  padding: $label-padding;\n\n  border-radius: $label-radius;\n\n  font-size: $label-font-size;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n}\n\n@mixin foundation-label {\n  .label {\n    @include label;\n\n    background: $label-background;\n    color: $label-color;\n\n    @each $name, $color in $label-palette {\n      &.#{$name} {\n        background: $color;\n        color: color-pick-contrast($color, ($label-color, $label-color-alt));\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_media-object.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group media-object\n////\n\n/// Bottom margin of a media object.\n/// @type Number\n$mediaobject-margin-bottom: $global-margin !default;\n\n/// Left and right padding on sections within a media object.\n/// @type Number\n$mediaobject-section-padding: $global-padding !default;\n\n/// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.\n/// @type Number\n$mediaobject-image-width-stacked: 100% !default;\n\n/// Adds styles for a media object container.\n@mixin media-object-container {\n  display: if($global-flexbox, flex, block);\n  margin-bottom: $mediaobject-margin-bottom;\n\n  @if $global-flexbox {\n    flex-wrap: nowrap;\n  }\n}\n\n/// Adds styles for sections within a media object.\n/// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections.\n@mixin media-object-section($padding: $mediaobject-section-padding) {\n  @if $global-flexbox {\n    flex: 0 1 auto;\n  }\n  @else {\n    display: table-cell;\n    vertical-align: top;\n  }\n\n  &:first-child {\n    padding-#{$global-right}: $padding;\n  }\n\n  &:last-child:not(:nth-child(2)) {\n    padding-#{$global-left}: $padding;\n  }\n\n  > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adds styles to stack sections of a media object. Apply this to the section elements, not the container.\n@mixin media-object-stack {\n  padding: 0;\n  padding-bottom: $mediaobject-section-padding;\n\n  @if $global-flexbox {\n    flex-basis: 100%;\n    max-width: 100%;\n  }\n  @else {\n    display: block;\n  }\n\n  img {\n    width: $mediaobject-image-width-stacked;\n  }\n}\n\n@mixin foundation-media-object {\n  .media-object {\n    @include media-object-container;\n\n    img {\n      max-width: none;\n    }\n\n    @if $global-flexbox {\n      &.stack-for-#{$-zf-zero-breakpoint} {\n        @include breakpoint($-zf-zero-breakpoint only) {\n          flex-wrap: wrap;\n        }\n      }\n    }\n\n    &.stack-for-#{$-zf-zero-breakpoint} .media-object-section {\n      @include breakpoint($-zf-zero-breakpoint only) {\n        @include media-object-stack;\n      }\n    }\n  }\n\n  .media-object-section {\n    @include media-object-section;\n\n    @if $global-flexbox {\n      &.main-section {\n        flex: 1 1 0px; // sass-lint:disable-line zero-unit\n      }\n    }\n    @else {\n      &.middle {\n        vertical-align: middle;\n      }\n\n      &.bottom {\n        vertical-align: bottom;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_menu-icon.scss",
    "content": "@mixin foundation-menu-icon {\n  .menu-icon {\n    @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);\n  }\n\n  .menu-icon.dark {\n    @include hamburger;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_menu.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group menu\n////\n\n/// Margin of a menu.\n/// @type Number\n$menu-margin: 0 !default;\n\n/// Left-hand margin of a nested menu.\n/// @type Number\n$menu-margin-nested: 1rem !default;\n\n/// Padding for items in a menu.\n/// @type Number\n$menu-item-padding: 0.7rem 1rem !default;\n\n/// Text color of an active menu item.\n/// @type Color\n$menu-item-color-active: $white !default;\n\n/// Background color of an active menu item.\n/// @type Color\n$menu-item-background-active: get-color(primary) !default;\n\n/// Spacing between an icon and text in a menu item.\n/// @type Number\n$menu-icon-spacing: 0.25rem !default;\n\n/// Background color for an hovered menu item.\n/// @type Color\n$menu-item-background-hover: $light-gray !default;\n\n/// Color for bordered menu\n/// @type Color\n$menu-border: $light-gray !default;\n\n/// Creates the base styles for a Menu.\n@mixin menu-base {\n  margin: $menu-margin;\n  list-style-type: none;\n\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: center;\n    width: 100%;\n  }\n\n  // List items are table cell to allow for vertical alignment\n  > li {\n    @include disable-mouse-outline;\n\n    @if $global-flexbox {\n      flex: 0 0 auto;\n    }\n    @else {\n      display: table-cell;\n      vertical-align: middle;\n    }\n  }\n\n  // Reset line height to make the height of the overall item easier to calculate\n  > li > a {\n    display: block;\n    padding: $menu-item-padding;\n    line-height: 1;\n  }\n\n  // Reset styles of inner elements\n  input,\n  select,\n  a,\n  button {\n    margin-bottom: 0;\n  }\n}\n\n/// Expands the items of a Menu, so each item is the same width.\n@mixin menu-expand {\n  @if $global-flexbox {\n    > li {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n  }\n  @else {\n    display: table;\n    width: 100%;\n    table-layout: fixed;\n  }\n\n  > li:first-child:last-child {\n    width: 100%;\n  }\n}\n\n/// Sets the direction of a Menu.\n/// @param {Keyword} $dir [horizontal] - Direction of the Menu. Can be `horizontal` or `vertical`.\n@mixin menu-direction($dir: horizontal) {\n  @if $dir == horizontal {\n    @if $global-flexbox {\n      flex-wrap: nowrap;\n\n      > li {\n        flex: 0 0 auto;\n      }\n    }\n    @else {\n      > li {\n        display: table-cell;\n      }\n    }\n  }\n  @else if $dir == vertical {\n    @if $global-flexbox {\n      flex-wrap: wrap;\n\n      > li {\n        flex: 0 0 100%;\n        max-width: 100%;\n      }\n\n      > li  > a {\n        justify-content: flex-start;\n        align-items: flex-start;\n      }\n    }\n    @else {\n      > li {\n        display: block;\n      }\n    }\n  }\n  @else {\n    @warn 'The direction used for menu-direction() must be horizontal or vertical.';\n  }\n}\n\n/// Creates a simple Menu, which has no padding or hover state.\n@mixin menu-simple {\n  li {\n    display: inline-block;\n    margin-#{$global-right}: get-side($menu-item-padding, $global-right);\n    line-height: 1;\n  }\n\n  a {\n    padding: 0;\n  }\n}\n\n/// Adds styles for a nested Menu, by adding `margin-left` to the menu.\n/// @param {Keyword|Number} $padding [auto] - Length of the margin.\n@mixin menu-nested($margin: $menu-margin-nested) {\n  margin-#{$global-left}: $margin;\n}\n\n/// Adds support for icons to Menu items.\n/// @param {Keyword} $position [side] - Positioning for icons. Can be `side` (left, or right on RTL) or `top`.\n/// @param {Boolean} $base [true] - Set to `false` to prevent the shared CSS between side- and top-aligned icons from being printed. Set this to `false` if you're calling the mixin multiple times on the same element.\n@mixin menu-icons($position: side, $base: true) {\n  @if $base {\n    @if $global-flexbox {\n      > li > a {\n        display: flex;\n      }\n    }\n    @else {\n      > li > a {\n        img,\n        i,\n        svg {\n          vertical-align: middle;\n\n          + span {\n            vertical-align: middle;\n          }\n        }\n      }\n    }\n  }\n\n  @if $position == side {\n    > li > a {\n      @if $global-flexbox {\n        flex-flow: row nowrap;\n      }\n\n      img,\n      i,\n      svg {\n        margin-#{$global-right}: $menu-icon-spacing;\n\n        @if not $global-flexbox {\n          display: inline-block;\n        }\n      }\n    }\n  }\n  @else if $position == top {\n    > li > a {\n      @if $global-flexbox {\n        flex-flow: column nowrap;\n      }\n      @else {\n        text-align: center;\n      }\n\n      img,\n      i,\n      svg {\n        @if not $global-flexbox {\n          display: block;\n          margin: 0 auto $menu-icon-spacing;\n        }\n        @else {\n          align-self: stretch;\n          margin-bottom: $menu-icon-spacing;\n          text-align: center;\n        }\n      }\n    }\n  }\n}\n\n@mixin menu-text {\n  padding-top: 0;\n  padding-bottom: 0;\n  padding: $menu-item-padding;\n\n  font-weight: bold;\n  line-height: 1;\n  color: inherit;\n}\n\n@mixin foundation-menu {\n  .menu {\n    @include menu-base;\n    @include menu-icons;\n\n    // Default orientation: horizontal\n    &, &.horizontal {\n      @include menu-direction(horizontal);\n    }\n\n    // Even-width modifier for horizontal orientation\n    &.expanded {\n      @include menu-expand;\n    }\n\n    // Vertical orientation modifier\n    &.vertical {\n      @include menu-direction(vertical);\n    }\n\n    @include -zf-each-breakpoint($small: false) {\n      &.#{$-zf-size}-horizontal {\n        @include menu-direction(horizontal);\n      }\n\n      &.#{$-zf-size}-expanded {\n        @include menu-expand;\n      }\n\n      &.#{$-zf-size}-vertical {\n        @include menu-direction(vertical);\n      }\n    }\n\n    // Simple\n    &.simple {\n      @include menu-simple;\n    }\n\n    // Align right\n    &.align-#{$global-right} {\n      @if $global-flexbox {\n        justify-content: flex-end;\n      }\n      @else {\n        @include clearfix;\n\n        > li {\n          float: $global-right;\n        }\n      }\n    }\n\n    // Vertical icons\n    &.icon-top {\n      @include menu-icons(top, $base: false);\n      // Make vertical menu with icons on top work\n      &.vertical {\n        a > span {\n          margin: auto;\n        }\n      }\n    }\n\n    // Nesting\n    &.nested {\n      @include menu-nested;\n    }\n\n    // Active state\n    .active > a {\n      background: $menu-item-background-active;\n      color: $menu-item-color-active;\n    }\n\n    // Menu with border\n    &.menu-bordered {\n      li {\n        border: 1px solid $menu-border;\n        &:not(:first-child) {\n          border-top: 0;\n        }\n      }\n    }\n\n    // Menu with background hover\n    &.menu-hover {\n      li:hover {\n        background-color: $menu-item-background-hover;\n      }\n    }\n  }\n\n  .menu-text {\n    @include menu-text;\n  }\n\n  // Align center\n  .menu-centered {\n    text-align: center;\n\n    > .menu {\n      display: inline-block;\n    }\n  }\n\n  // Prevent FOUC when using the Responsive Menu plugin\n  .no-js [data-responsive-menu] ul {\n    display: none;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_off-canvas.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group off-canvas\n////\n\n/// Width of a left/right off-canvas panel.\n/// @type Number\n$offcanvas-size: 250px !default;\n\n/// Height of a top/bottom off-canvas panel.\n/// @type Number\n$offcanvas-vertical-size: 250px !default;\n\n/// Background color of an off-canvas panel.\n/// @type Color\n$offcanvas-background: $light-gray !default;\n\n/// Box shadow for the off-canvas panel.\n/// @type Shadow\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7) !default;\n\n/// Z-index of an off-canvas panel with the `push` transition.\n/// @type Number\n$offcanvas-push-zindex: 1 !default;\n\n/// Z-index of an off-canvas panel with the `overlap` transition.\n/// @type Number\n$offcanvas-overlap-zindex: 10 !default;\n\n/// Z-index of an off-canvas panel using the `reveal-for-*` classes or mixin.\n/// @type Number\n$offcanvas-reveal-zindex: 1 !default;\n\n/// Length of the animation on an off-canvas panel.\n/// @type Number\n$offcanvas-transition-length: 0.5s !default;\n\n/// Timing function of the animation on an off-canvas panel.\n/// @type Keyword\n$offcanvas-transition-timing: ease !default;\n\n/// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.\n/// @type Bool\n$offcanvas-fixed-reveal: true !default;\n\n/// Background color for the overlay that appears when an off-canvas panel is open.\n/// @type Color\n$offcanvas-exit-background: rgba($white, 0.25) !default;\n\n/// CSS class used for the main content area. The off-canvas mixins use this to target the page content.\n$maincontent-class: 'off-canvas-content' !default;\n\n/// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.\n@mixin off-canvas-basics {\n  // Hides overflow on body when an off-canvas panel is open.\n  .is-off-canvas-open {\n    overflow: hidden;\n  }\n\n  // Off-canvas overlay (generated by JavaScript)\n  .js-off-canvas-overlay {\n    position: absolute;\n    top: 0;\n    left: 0;\n\n    width: 100%;\n    height: 100%;\n\n    transition: opacity $offcanvas-transition-length $offcanvas-transition-timing, visibility $offcanvas-transition-length $offcanvas-transition-timing;\n\n    background: $offcanvas-exit-background;\n\n    opacity: 0;\n    visibility: hidden;\n\n    overflow: hidden;\n\n    &.is-visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    &.is-closable {\n      cursor: pointer;\n    }\n\n    &.is-overlay-absolute {\n      position: absolute;\n    }\n    \n    &.is-overlay-fixed {\n      position: fixed;\n    }\n  }\n}\n\n// Adds basic styles for an off-canvas wrapper.\n@mixin off-canvas-wrapper() {\n  position: relative;\n  overflow: hidden;\n}\n\n/// Adds basic styles for an off-canvas panel.\n@mixin off-canvas-base(\n  $background: $offcanvas-background,\n  $transition: $offcanvas-transition-length $offcanvas-transition-timing,\n  $fixed: true\n) {\n  @include disable-mouse-outline;\n\n  @if $fixed == true {\n    position: fixed;\n  }\n  @else {\n    position: absolute;\n  }\n\n  z-index: $offcanvas-push-zindex;\n\n  transition: transform $transition;\n  backface-visibility: hidden;\n\n  background: $background;\n\n  // Overlap only styles.\n  &.is-transition-overlap {\n    z-index: $offcanvas-overlap-zindex;\n\n    &.is-open {\n      box-shadow: $offcanvas-shadow;\n    }\n  }\n\n  // Sets transform to 0 to show an off-canvas panel.\n  &.is-open {\n    transform: translate(0, 0);\n  }\n}\n\n/// Adds styles to position an off-canvas panel to the left/right/top/bottom.\n@mixin off-canvas-position(\n  $position: left,\n  $orientation: horizontal,\n  $size: if($orientation == horizontal, $offcanvas-size, $offcanvas-vertical-size)\n) {\n  @if $position == left {\n    top: 0;\n    left: 0;\n    width: $size;\n    height: 100%;\n\n    transform: translateX(-$size);\n    overflow-y: auto;\n\n    // Sets the open position for the content\n    &.is-open ~ .#{$maincontent-class} {\n      transform: translateX($size);\n    }\n  }\n  @else if $position == right {\n    top: 0;\n    right: 0;\n    width: $size;\n    height: 100%;\n\n    transform: translateX($size);\n    overflow-y: auto;\n\n    // Sets the open position for the content\n    &.is-open ~ .#{$maincontent-class} {\n      transform: translateX(-$size);\n    }\n  }\n  @else if $position == top {\n    top: 0;\n    left: 0;\n\n    width: 100%;\n    height: $size;\n\n    transform: translateY(-$size);\n    overflow-x: auto;\n\n    // Sets the open position for the content\n    &.is-open ~ .#{$maincontent-class} {\n      transform: translateY($size);\n    }\n  }\n  @else if $position == bottom {\n    bottom: 0;\n    left: 0;\n\n    width: 100%;\n    height: $size;\n\n    transform: translateY($size);\n    overflow-x: auto;\n\n    // Sets the open position for the content\n    &.is-open ~ .#{$maincontent-class} {\n      transform: translateY(-$size);\n    }\n  }\n\n  // If $offcanvas-shadow is set, add it as a pseudo-element.\n  // This mimics the off-canvas panel having a lower z-index, without having to have one.\n  @if $offcanvas-shadow {\n    &.is-transition-push::after {\n      position: absolute;\n\n      @if $position == left {\n        top: 0;\n        right: 0;\n\n        height: 100%;\n        width: 1px;\n      }\n      @else if $position == right {\n        top: 0;\n        left: 0;\n\n        height: 100%;\n        width: 1px;\n      }\n      @else if $position == top {\n        bottom: 0;\n        left: 0;\n\n        height: 1px;\n        width: 100%;\n      }\n      @else if $position == bottom {\n        top: 0;\n        left: 0;\n\n        height: 1px;\n        width: 100%;\n      }\n\n      box-shadow: $offcanvas-shadow;\n      content: \" \";\n    }\n  }\n\n  // No transform on overlap transition\n  &.is-transition-overlap.is-open ~ .#{$maincontent-class} {\n    transform: none;\n  }\n}\n\n/// Sets the styles for the content container.\n@mixin off-canvas-content() {\n  transition: transform $offcanvas-transition-length $offcanvas-transition-timing;\n  backface-visibility: hidden;\n}\n\n/// Adds styles that reveal an off-canvas panel.\n@mixin off-canvas-reveal(\n$position: left,\n$zindex: $offcanvas-reveal-zindex,\n$content: $maincontent-class\n) {\n  transform: none;\n  z-index: $zindex;\n\n  @if not $offcanvas-fixed-reveal {\n    position: absolute;\n  }\n\n  & ~ .#{$content} {\n    margin-#{$position}: $offcanvas-size;\n  }\n}\n\n@mixin foundation-off-canvas {\n  @include off-canvas-basics;\n\n  // Off-canvas wrapper\n  .off-canvas-wrapper {\n    @include off-canvas-wrapper;\n  }\n\n  // Off-canvas container\n  .off-canvas {\n    @include off-canvas-base;\n  }\n\n  // Off-canvas container with absolute position\n  .off-canvas-absolute {\n    @include off-canvas-base($fixed: false);\n  }\n\n  // Off-canvas position classes\n  .position-left    { @include off-canvas-position(left,   horizontal); }\n  .position-right   { @include off-canvas-position(right,  horizontal); }\n  .position-top     { @include off-canvas-position(top,    vertical); }\n  .position-bottom  { @include off-canvas-position(bottom, vertical); }\n\n  .off-canvas-content {\n    @include off-canvas-content;\n  }\n\n  // Reveal off-canvas panel on larger screens\n  @each $name, $value in $breakpoint-classes {\n    @if $name != $-zf-zero-breakpoint {\n      @include breakpoint($name) {\n        .position-left.reveal-for-#{$name} {\n          @include off-canvas-reveal(left);\n        }\n\n        .position-right.reveal-for-#{$name} {\n          @include off-canvas-reveal(right);\n        }\n\n        .position-top.reveal-for-#{$name} {\n          @include off-canvas-reveal(top);\n        }\n\n        .position-bottom.reveal-for-#{$name} {\n          @include off-canvas-reveal(bottom);\n        }\n      }\n    }\n  }\n}\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_orbit.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group orbit\n////\n\n/// Default color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background: $medium-gray !default;\n\n/// Default active color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background-active: $dark-gray !default;\n\n/// Default diameter for Orbit's bullets.\n/// @type Number\n$orbit-bullet-diameter: 1.2rem !default;\n\n/// Default margin between Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin: 0.1rem !default;\n\n/// Default distance from slide region for Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin-top: 0.8rem !default;\n\n/// Default bottom margin from Orbit's bullets to whatever content may lurk below it.\n/// @type Number\n$orbit-bullet-margin-bottom: 0.8rem !default;\n\n/// Default background color for Orbit's caption.\n/// @type Color\n$orbit-caption-background: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's caption.\n/// @type Number\n$orbit-caption-padding: 1rem !default;\n\n/// Default background color for Orbit's controls when hovered.\n/// @type Color\n$orbit-control-background-hover: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's controls.\n/// @type Number\n$orbit-control-padding: 1rem !default;\n\n/// Default z-index for Orbit's controls.\n/// @type Number\n$orbit-control-zindex: 10 !default;\n\n/// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.\n@mixin orbit-wrapper {\n  position: relative;\n}\n\n/// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.\n@mixin orbit-container {\n  position: relative;\n  height: 0; // Prevent FOUC by not showing until JS sets height\n  margin: 0;\n  list-style: none;\n  overflow: hidden;\n}\n\n/// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.\n@mixin orbit-slide {\n  width: 100%;\n\n  &.no-motionui {\n    &.is-active {\n      top: 0;\n      left: 0;\n    }\n  }\n}\n\n@mixin orbit-figure {\n  margin: 0;\n}\n\n/// Adds styles for a slide containing an image. These styles are used on the `.orbit-image` class.\n@mixin orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0;\n}\n\n/// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.\n@mixin orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: $orbit-caption-padding;\n\n  background-color: $orbit-caption-background;\n  color: color-pick-contrast($orbit-caption-background);\n}\n\n/// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.\n@mixin orbit-control {\n  @include disable-mouse-outline;\n  @include vertical-center;\n  z-index: $orbit-control-zindex;\n  padding: $orbit-control-padding;\n  color: $white;\n\n  &:hover,\n  &:active,\n  &:focus {\n    background-color: $orbit-control-background-hover;\n  }\n}\n\n/// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.\n@mixin orbit-previous {\n  #{$global-left}: 0;\n}\n\n/// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.\n@mixin orbit-next {\n  #{$global-left}: auto;\n  #{$global-right}: 0;\n}\n\n/// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.\n@mixin orbit-bullets {\n  @include disable-mouse-outline;\n  position: relative;\n  margin-top: $orbit-bullet-margin-top;\n  margin-bottom: $orbit-bullet-margin-bottom;\n  text-align: center;\n\n  button {\n    width: $orbit-bullet-diameter;\n    height: $orbit-bullet-diameter;\n    margin: $orbit-bullet-margin;\n\n    border-radius: 50%;\n    background-color: $orbit-bullet-background;\n\n    &:hover {\n      background-color: $orbit-bullet-background-active;\n    }\n\n    &.is-active {\n      background-color: $orbit-bullet-background-active;\n    }\n  }\n}\n\n@mixin foundation-orbit {\n  .orbit {\n    @include orbit-wrapper;\n  }\n\n  .orbit-container {\n    @include orbit-container;\n  }\n\n  .orbit-slide {\n    @include orbit-slide;\n  }\n\n  .orbit-figure {\n    @include orbit-figure;\n  }\n\n  .orbit-image {\n    @include orbit-image;\n  }\n\n  .orbit-caption {\n    @include orbit-caption;\n  }\n\n  %orbit-control {\n    @include orbit-control;\n  }\n\n  .orbit-previous {\n    @extend %orbit-control;\n    @include orbit-previous;\n  }\n\n  .orbit-next {\n    @extend %orbit-control;\n    @include orbit-next;\n  }\n\n  .orbit-bullets {\n    @include orbit-bullets;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_pagination.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group pagination\n////\n\n/// Font size of pagination items.\n/// @type Number\n$pagination-font-size: rem-calc(14) !default;\n\n/// Default bottom margin of the pagination object.\n/// @type Number\n$pagination-margin-bottom: $global-margin !default;\n\n/// Text color of pagination items.\n/// @type Color\n$pagination-item-color: $black !default;\n\n/// Padding inside of pagination items.\n/// @type Number\n$pagination-item-padding: rem-calc(3 10) !default;\n\n/// Right margin to separate pagination items.\n/// @type Number\n$pagination-item-spacing: rem-calc(1) !default;\n\n/// Default radius for pagination items.\n/// @type Number\n$pagination-radius: $global-radius !default;\n\n/// Background color of pagination items on hover.\n/// @type Color\n$pagination-item-background-hover: $light-gray !default;\n\n/// Background color of pagination item for the current page.\n/// @type Color\n$pagination-item-background-current: $primary-color !default;\n\n/// Text color of the pagination item for the current page.\n/// @type Color\n$pagination-item-color-current: $white !default;\n\n/// Text color of a disabled pagination item.\n/// @type Color\n$pagination-item-color-disabled: $medium-gray !default;\n\n/// Color of the ellipsis in a pagination menu.\n/// @type Color\n$pagination-ellipsis-color: $black !default;\n\n/// If `false`, don't display page number links on mobile, only next/previous links\n/// and optionally current page number.\n/// @type Boolean\n$pagination-mobile-items: false !default;\n\n/// If `true`, display the current page number on mobile even if `$pagination-mobile-items` is set to `false`.\n/// This parameter will only override the visibility setting of the current item for `$pagination-mobile-items: false;`,\n/// it will not affect the current page number visibility when `$pagination-mobile-items` is set to `true`.\n/// @type Boolean\n$pagination-mobile-current-item: false !default;\n\n/// If `true`, arrows are added to the next and previous links of pagination.\n/// @type Boolean\n$pagination-arrows: true !default;\n\n/// Adds styles for a pagination container. Apply this to a `<ul>`.\n@mixin pagination-container (\n  $margin-bottom: $pagination-margin-bottom,\n  $font-size: $pagination-font-size,\n  $spacing: $pagination-item-spacing,\n  $radius: $pagination-radius,\n  $color: $pagination-item-color,\n  $padding: $pagination-item-padding,\n  $background-hover: $pagination-item-background-hover\n) {\n  @include clearfix;\n  margin-#{$global-left}: 0;\n  margin-bottom: $margin-bottom;\n\n  // List item\n  li {\n    margin-#{$global-right}: $spacing;\n    border-radius: $radius;\n    font-size: $font-size;\n\n    @if $pagination-mobile-items {\n      display: inline-block;\n    }\n    @else {\n      display: none;\n\n      &:last-child,\n      &:first-child {\n        display: inline-block;\n      }\n\n      @if $pagination-mobile-current-item {\n        &.current {\n          display: inline-block;\n        }\n      }\n\n      @include breakpoint(medium) {\n        display: inline-block;\n      }\n    }\n  }\n\n  // Page links\n  a,\n  button {\n    display: block;\n    padding: $padding;\n    border-radius: $global-radius;\n    color: $color;\n\n    &:hover {\n      background: $background-hover;\n    }\n  }\n}\n\n/// Adds styles for the current pagination item. Apply this to an `<a>`.\n@mixin pagination-item-current (\n  $padding: $pagination-item-padding,\n  $background-current: $pagination-item-background-current,\n  $color-current: $pagination-item-color-current\n) {\n  padding: $padding;\n  background: $background-current;\n  color: $color-current;\n  cursor: default;\n}\n\n/// Adds styles for a disabled pagination item. Apply this to an `<a>`.\n@mixin pagination-item-disabled (\n  $padding: $pagination-item-padding,\n  $color: $pagination-item-color-disabled\n) {\n  padding: $padding;\n  color: $color;\n  cursor: not-allowed;\n\n  &:hover {\n    background: transparent;\n  }\n}\n\n/// Adds styles for an ellipsis for use in a pagination list.\n@mixin pagination-ellipsis (\n  $padding: $pagination-item-padding,\n  $color: $pagination-ellipsis-color\n) {\n  padding: $padding;\n  content: '\\2026';\n  color: $color;\n}\n\n@mixin foundation-pagination {\n  .pagination {\n    @include pagination-container;\n\n    .current {\n      @include pagination-item-current;\n    }\n\n    .disabled {\n      @include pagination-item-disabled;\n    }\n\n    .ellipsis::after {\n      @include pagination-ellipsis;\n    }\n  }\n\n  @if $pagination-arrows {\n    .pagination-previous a::before,\n    .pagination-previous.disabled::before {\n      display: inline-block;\n      margin-#{$global-right}: 0.5rem;\n      content: '\\00ab';\n    }\n\n    .pagination-next a::after,\n    .pagination-next.disabled::after {\n      display: inline-block;\n      margin-#{$global-left}: 0.5rem;\n      content: '\\00bb';\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_progress-bar.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Adds styles for a progress bar container.\n@mixin progress-container {\n  height: $progress-height;\n  margin-bottom: $progress-margin-bottom;\n  border-radius: $progress-radius;\n  background-color: $progress-background;\n}\n\n/// Adds styles for the inner meter of a progress bar.\n@mixin progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: $progress-meter-background;\n\n  @if has-value($progress-radius) {\n    border-radius: $global-radius;\n  }\n}\n\n/// Adds styles for text in the progress meter.\n@mixin progress-meter-text {\n  @include absolute-center;\n  position: absolute;\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: $white;\n  white-space: nowrap;\n\n  @if has-value($progress-radius) {\n    border-radius: $progress-radius;\n  }\n}\n\n@mixin foundation-progress-bar {\n  // Progress bar\n  .progress {\n    @include progress-container;\n\n    @each $name, $color in $foundation-palette {\n      &.#{$name} {\n        .progress-meter {\n          background-color: $color;\n        }\n      }\n    }\n  }\n\n  // Inner meter\n  .progress-meter {\n    @include progress-meter;\n  }\n\n  // Inner meter text\n  .progress-meter-text {\n    @include progress-meter-text;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_responsive-embed.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group responsive-embed\n////\n\n/// Margin below a responsive embed container.\n/// @type Number\n$responsive-embed-margin-bottom: rem-calc(16) !default;\n\n/// Aspect ratios used to determine padding-bottom of responsive embed containers.\n/// @type Map\n$responsive-embed-ratios: (\n  default: 4 by 3,\n  widescreen: 16 by 9,\n) !default;\n\n/// Creates a responsive embed container.\n/// @param {String|List} $ratio [default] - Ratio of the container. Can be a key from the `$responsive-embed-ratios` map or a list formatted as `x by y`.\n@mixin responsive-embed($ratio: default) {\n  @if type-of($ratio) == 'string' {\n    $ratio: map-get($responsive-embed-ratios, $ratio);\n  }\n  position: relative;\n  height: 0;\n  margin-bottom: $responsive-embed-margin-bottom;\n  padding-bottom: ratio-to-percentage($ratio);\n  overflow: hidden;\n\n  iframe,\n  object,\n  embed,\n  video {\n    position: absolute;\n    top: 0;\n    #{$global-left}: 0;\n    width: 100%;\n    height: 100%;\n  }\n}\n\n@mixin foundation-responsive-embed {\n  .responsive-embed, .flex-video {\n    @include responsive-embed($ratio: default);\n\n    $ratios: map-remove($responsive-embed-ratios,default);\n\n    @each $name, $ratio in $ratios {\n      &.#{$name} {\n        padding-bottom: ratio-to-percentage($ratio);\n      }\n    }\n  }\n}\n\n@mixin foundation-flex-video {\n  @warn 'This mixin is being replaced by foundation-responsive-embed(). foundation-flex-video() will be removed in Foundation 6.4.';\n  @include foundation-responsive-embed;\n}\n\n@mixin flex-video($ratio: $responsive-embed-ratio) {\n  @warn 'This mixin is being replaced by responsive-embed(). flex-video() will be removed in Foundation 6.4.';\n  @include responsive-embed;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_reveal.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group reveal\n////\n\n/// Default background color of a modal.\n/// @type Color\n$reveal-background: $white !default;\n\n/// Default width of a modal, with no class applied.\n/// @type Number\n$reveal-width: 600px !default;\n\n/// Default maximum width of a modal.\n/// @type Number\n$reveal-max-width: $global-width !default;\n\n/// Default padding inside a modal.\n/// @type Number\n$reveal-padding: $global-padding !default;\n\n/// Default border around a modal.\n/// @type Number\n$reveal-border: 1px solid $medium-gray !default;\n\n/// Default radius for modal.\n/// @type Number\n$reveal-radius: $global-radius !default;\n\n/// z-index for modals. The overlay uses this value, while the modal itself uses this value plus one.\n/// @type Number\n$reveal-zindex: 1005 !default;\n\n/// Background color of modal overlays.\n/// @type Color\n$reveal-overlay-background: rgba($black, 0.45) !default;\n\n/// Adds styles for a modal overlay.\n/// @param {Color} $background [$reveal-overlay-background] - Background color of the overlay.\n@mixin reveal-overlay($background: $reveal-overlay-background) {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $reveal-zindex;\n\n  display: none;\n  background-color: $background;\n  overflow-y: scroll;\n}\n\n/// Adds base styles for a modal.\n@mixin reveal-modal-base {\n  @include disable-mouse-outline;\n  z-index: $reveal-zindex + 1;\n  // Workaround android browser z-index bug\n  backface-visibility: hidden;\n\n  display: none;\n  padding: $reveal-padding;\n\n  border: $reveal-border;\n  border-radius: $reveal-radius;\n  background-color: $reveal-background;\n\n  @include breakpoint(medium) {\n    min-height: 0;\n  }\n\n  // Make sure rows don't have a min-width on them\n  .column,\n  .columns {\n    min-width: 0;\n  }\n\n  // Strip margins from the last item in the modal\n  > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adjusts the width of a modal.\n/// @param {Number} $width - Width of the modal. Generally a percentage.\n/// @param {Number} $max-width [$reveal-max-width] - Maximum width of the modal.\n@mixin reveal-modal-width(\n  $width: $reveal-width,\n  $max-width: $reveal-max-width\n) {\n  @include breakpoint(medium) {\n    @extend %reveal-centered;\n    width: $width;\n    max-width: $reveal-max-width;\n  }\n}\n\n/// Creates a full-screen modal, which stretches the full width and height of the window.\n@mixin reveal-modal-fullscreen {\n  top: 0;\n  left: 0;\n\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  height: 100vh; // sass-lint:disable-line no-duplicate-properties\n  min-height: 100vh;\n  margin-left: 0;\n\n  border: 0;\n  border-radius: 0;\n}\n\n@mixin foundation-reveal {\n  // [TODO] Is this necessary?\n  body.is-reveal-open { // sass-lint:disable-line no-qualifying-elements\n    overflow: hidden;\n  }\n\n  // html gets this class only in iOS\n  html.is-reveal-open,\n  html.is-reveal-open body {\n    min-height: 100%;\n    overflow: hidden;\n    user-select: none;\n  }\n\n  // Overlay\n  .reveal-overlay {\n    @include reveal-overlay;\n  }\n\n  // Modal container\n  .reveal {\n    @include reveal-modal-base;\n    @include reveal-modal-width($reveal-width);\n    position: relative;\n    top: 100px;\n    margin-right: auto;\n    margin-left: auto;\n    overflow-y: auto;\n\n    // Placeholder selector for medium-and-up modals\n    // Prevents duplicate CSS when defining multiple Reveal sizes\n    @include breakpoint(medium) {\n      %reveal-centered {\n        right: auto;\n        left: auto;\n        margin: 0 auto;\n      }\n    }\n\n    // Remove padding\n    &.collapse {\n      padding: 0;\n    }\n\n    // Sizing classes\n    &.tiny  { @include reveal-modal-width(30%); }\n    &.small { @include reveal-modal-width(50%); }\n    &.large { @include reveal-modal-width(90%); }\n\n    // Full-screen mode\n    &.full {\n      @include reveal-modal-fullscreen;\n    }\n\n    @include breakpoint($-zf-zero-breakpoint only) {\n      @include reveal-modal-fullscreen;\n    }\n\n    &.without-overlay {\n      position: fixed;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_slider.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// [TODO] Check how plugin confirms disabled or vertical status\n// [TODO] Check if transition: all; is necessary\n\n////\n/// @group slider\n////\n\n/// Default slider width of a vertical slider. (Doesn't apply to the native slider.)\n/// @type Number\n$slider-width-vertical: 0.5rem !default;\n\n/// Transition properties to apply to the slider handle and fill. (Doesn't apply to the native slider.)\n/// @type Transition\n$slider-transition: all 0.2s ease-in-out !default;\n\n/// Adds the general styles for sliders.\n@mixin slider-container {\n  position: relative;\n  height: $slider-height;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n\n  background-color: $slider-background;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none;\n}\n\n/// Adds the general styles for active fill for sliders.\n@mixin slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n\n  display: inline-block;\n  max-width: 100%;\n  height: $slider-height;\n\n  background-color: $slider-fill-background;\n  transition: $slider-transition;\n\n  &.is-dragging {\n    transition: all 0s linear;\n  }\n}\n\n/// Adds the general styles for the slider handles.\n@mixin slider-handle {\n  @include disable-mouse-outline;\n  @include vertical-center;\n  position: absolute;\n  left: 0;\n  z-index: 1;\n\n  display: inline-block;\n  width: $slider-handle-width;\n  height: $slider-handle-height;\n\n  border-radius: $slider-radius;\n  background-color: $slider-handle-background;\n  transition: $slider-transition;\n  touch-action: manipulation;\n\n  &:hover {\n    background-color: scale-color($slider-handle-background, $lightness: -15%);\n  }\n\n  &.is-dragging {\n    transition: all 0s linear;\n  }\n}\n\n@mixin slider-disabled {\n  opacity: $slider-opacity-disabled;\n  cursor: not-allowed;\n}\n\n@mixin slider-vertical {\n  display: inline-block;\n  width: $slider-width-vertical;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1);\n\n  .slider-fill {\n    top: 0;\n    width: $slider-width-vertical;\n    max-height: 100%;\n  }\n\n  .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: $slider-handle-height;\n    height: $slider-handle-width;\n    transform: translateX(-50%);\n  }\n}\n\n@mixin foundation-slider {\n  // Container\n  .slider {\n    @include slider-container;\n  }\n\n  // Fill area\n  .slider-fill {\n    @include slider-fill;\n  }\n\n  // Draggable handle\n  .slider-handle {\n    @include slider-handle;\n  }\n\n  // Disabled state\n  .slider.disabled,\n  .slider[disabled] {\n    @include slider-disabled;\n  }\n\n  // Vertical slider\n  .slider.vertical {\n    @include slider-vertical;\n  }\n\n  // RTL support\n  @if $global-text-direction == rtl {\n    .slider:not(.vertical) {\n      transform: scale(-1, 1);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_sticky.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-sticky {\n  .sticky-container {\n    position: relative;\n  }\n\n  .sticky {\n    position: relative;\n    z-index: 0;\n    transform: translate3d(0, 0, 0);\n  }\n\n  .sticky.is-stuck {\n    position: fixed;\n    z-index: 5;\n\n    &.is-at-top {\n      top: 0;\n    }\n\n    &.is-at-bottom {\n      bottom: 0;\n    }\n  }\n\n  .sticky.is-anchored {\n    position: relative;\n    right: auto;\n    left: auto;\n\n    &.is-at-bottom {\n      bottom: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_switch.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group switch\n////\n\n/// Background color of a switch.\n/// @type Color\n$switch-background: $medium-gray !default;\n\n/// Background active color of a switch.\n/// @type Color\n$switch-background-active: $primary-color !default;\n\n/// Height of a switch, with no class applied.\n/// @type Number\n$switch-height: 2rem !default;\n\n/// Height of a switch with .tiny class.\n/// @type Number\n$switch-height-tiny: 1.5rem !default;\n\n/// Height of a switch with .small class.\n/// @type Number\n$switch-height-small: 1.75rem !default;\n\n/// Height of a switch with .large class.\n/// @type Number\n$switch-height-large: 2.5rem !default;\n\n/// Border radius of the switch\n/// @type Number\n$switch-radius: $global-radius !default;\n\n/// border around a modal.\n/// @type Number\n$switch-margin: $global-margin !default;\n\n/// Background color for the switch container and paddle.\n/// @type Color\n$switch-paddle-background: $white !default;\n\n/// Spacing between a switch paddle and the edge of the body.\n/// @type Number\n$switch-paddle-offset: 0.25rem !default;\n\n/// border radius of the switch paddle\n/// @type Number\n$switch-paddle-radius: $global-radius !default;\n\n/// switch transition.\n/// @type Number\n$switch-paddle-transition: all 0.25s ease-out !default;\n\n// make them variables\n// ask about accessibility on label\n// change class name for text\n\n/// Adds styles for a switch container. Apply this to a container class.\n@mixin switch-container {\n  position: relative;\n  margin-bottom: $switch-margin;\n  outline: 0;\n\n  // These properties cascade down to the switch text\n  font-size: rem-calc(14);\n  font-weight: bold;\n  color: $white;\n\n  user-select: none;\n}\n\n/// Adds styles for a switch input. Apply this to an `<input>` within a switch.\n@mixin switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0;\n}\n\n/// Adds styles for the background and paddle of a switch. Apply this to a `<label>` within a switch.\n@mixin switch-paddle {\n  $switch-width: $switch-height * 2;\n  $paddle-height: $switch-height - ($switch-paddle-offset * 2);\n  $paddle-width: $switch-height - ($switch-paddle-offset * 2);\n  $paddle-active-offest: $switch-width - $paddle-width - $switch-paddle-offset;\n\n  position: relative;\n  display: block;\n  width: $switch-width;\n  height: $switch-height;\n\n  border-radius: $switch-radius;\n  background: $switch-background;\n  transition: $switch-paddle-transition;\n\n  // Resetting these <label> presets so type styles cascade down\n  font-weight: inherit;\n  color: inherit;\n\n  cursor: pointer;\n\n  // Needed to override specificity\n  input + & {\n    margin: 0;\n  }\n\n  // The paddle itself\n  &::after {\n    position: absolute;\n    top: $switch-paddle-offset;\n    #{$global-left}: $switch-paddle-offset;\n\n    display: block;\n    width: $paddle-width;\n    height: $paddle-height;\n\n    transform: translate3d(0, 0, 0);\n    border-radius: $switch-paddle-radius;\n    background: $switch-paddle-background;\n    transition: $switch-paddle-transition;\n    content: '';\n  }\n\n  // Change the visual style when the switch is active\n  input:checked ~ & {\n    background: $switch-background-active;\n\n    &::after {\n      #{$global-left}: $paddle-active-offest;\n    }\n  }\n\n  input:focus ~ & {\n    @include disable-mouse-outline;\n  }\n}\n\n/// Adds base styles for active/inactive text inside a switch. Apply this to text elements inside the switch `<label>`.\n@mixin switch-text {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/// Adds styles for the active state text within a switch.\n@mixin switch-text-active {\n  #{$global-left}: 8%;\n  display: none;\n\n  input:checked + label > & {\n    display: block;\n  }\n}\n\n/// Adds styles for the inactive state text within a switch.\n@mixin switch-text-inactive {\n  #{$global-right}: 15%;\n\n  input:checked + label > & {\n    display: none;\n  }\n}\n\n/// Changes the size of a switch by modifying the size of the body and paddle. Apply this to a switch container.\n/// @param {Number} $font-size [1rem] - Font size of label text within the switch.\n/// @param {Number} $switch-height [2rem] - Height of the switch body.\n/// @param {Number} $paddle-offset [0.25rem] - Spacing between the switch paddle and the edge of the switch body.\n@mixin switch-size(\n  $font-size: 1rem,\n  $switch-height: 2rem,\n  $paddle-offset: 0.25rem\n) {\n\n  $switch-width: $switch-height * 2;\n  $paddle-width: $switch-height - ($paddle-offset * 2);\n  $paddle-height: $switch-height - ($paddle-offset * 2);\n  $paddle-active-offest: $switch-width - $paddle-width - $paddle-offset;\n\n  height: $switch-height;\n\n  .switch-paddle {\n    width: $switch-width;\n    height: $switch-height;\n    font-size: $font-size;\n  }\n\n  .switch-paddle::after {\n    top: $paddle-offset;\n    #{$global-left}: $paddle-offset;\n    width: $paddle-width;\n    height: $paddle-height;\n  }\n\n  input:checked ~ .switch-paddle::after {\n    #{$global-left}: $paddle-active-offest;\n  }\n}\n\n@mixin foundation-switch {\n  // Container class\n  .switch {\n    height: $switch-height;\n    @include switch-container;\n  }\n\n  // <input> element\n  .switch-input {\n    @include switch-input;\n  }\n\n  // <label> element\n  .switch-paddle {\n    @include switch-paddle;\n  }\n\n  // Base label text styles\n  %switch-text {\n    @include switch-text;\n  }\n\n  // Active label text styles\n  .switch-active {\n    @extend %switch-text;\n    @include switch-text-active;\n  }\n\n  // Inactive label text styles\n  .switch-inactive {\n    @extend %switch-text;\n    @include switch-text-inactive;\n  }\n\n  // Switch sizes\n  .switch.tiny {\n    @include switch-size(rem-calc(10), $switch-height-tiny, $switch-paddle-offset);\n  }\n\n  .switch.small {\n    @include switch-size(rem-calc(12), $switch-height-small, $switch-paddle-offset);\n  }\n\n  .switch.large {\n    @include switch-size(rem-calc(16), $switch-height-large, $switch-paddle-offset);\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_table.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable force-element-nesting, no-qualifying-elements\n\n////\n/// @group table\n////\n\n/// Default color for table background.\n/// @type Color\n$table-background: $white  !default;\n\n/// Default scale for darkening the striped table rows and the table border.\n/// @type Number\n$table-color-scale: 5% !default;\n\n/// Default style for table border.\n/// @type List\n$table-border: 1px solid smart-scale($table-background, $table-color-scale) !default;\n\n/// Default padding for table.\n/// @type Number\n$table-padding: rem-calc(8 10 10) !default;\n\n/// Default scale for darkening the table rows on hover.\n/// @type Number\n$table-hover-scale: 2% !default;\n\n/// Default color of standard rows on hover.\n/// @type List\n$table-row-hover: darken($table-background, $table-hover-scale) !default;\n\n/// Default color of striped rows on hover.\n/// @type List\n$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale) !default;\n\n/// If `true`, tables are striped by default and an .unstriped class is created. If `false`, a .striped class is created.\n/// @type Boolean\n$table-is-striped: true !default;\n\n/// Default background color for striped rows.\n/// @type Color\n$table-striped-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default value for showing the stripe on rows of the tables, excluding the header and footer. If even, the even rows will have a background color. If odd, the odd rows will have a background color. If empty, or any other value, the table rows will have no striping.\n/// @type Keyword\n$table-stripe: even !default;\n\n/// Default color for header background.\n/// @type Color\n$table-head-background: smart-scale($table-background, $table-color-scale / 2) !default;\n\n/// Default color of header rows on hover.\n/// @type List\n$table-head-row-hover: darken($table-head-background, $table-hover-scale) !default;\n\n/// Default color for footer background.\n/// @type Color\n$table-foot-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default color of footer rows on hover.\n/// @type List\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale) !default;\n\n/// Default font color for header.\n/// @type Color\n$table-head-font-color: $body-font-color !default;\n\n/// Default font color for footer.\n/// @type Color\n$table-foot-font-color: $body-font-color !default;\n\n/// Default value for showing the header when using stacked tables.\n/// @type Boolean\n$show-header-for-stacked: false !default;\n\n@mixin -zf-table-stripe($stripe: $table-stripe) {\n  tr {\n    // If stripe is set to even, darken the even rows.\n    @if $stripe == even {\n      &:nth-child(even) {\n        border-bottom: 0;\n        background-color: $table-striped-background;\n      }\n    }\n\n    // If stripe is set to odd, darken the odd rows.\n    @else if $stripe == odd {\n      &:nth-child(odd) {\n        background-color: $table-striped-background;\n      }\n    }\n  }\n}\n\n@mixin -zf-table-unstripe() {\n  tr {\n    border-bottom: 0;\n    border-bottom: $table-border;\n    background-color: $table-background;\n  }\n}\n\n@mixin -zf-table-children-styles($stripe: $table-stripe, $is-striped: $table-is-striped) {\n  thead,\n  tbody,\n  tfoot {\n    border: $table-border;\n    background-color: $table-background;\n  }\n\n  // Caption\n  caption {\n    padding: $table-padding;\n    font-weight: $global-weight-bold;\n  }\n\n  // Table head\n  thead {\n    background: $table-head-background;\n    color: $table-head-font-color;\n  }\n\n  // Table foot\n  tfoot {\n    background: $table-foot-background;\n    color: $table-foot-font-color;\n  }\n\n  // Table head and foot\n  thead,\n  tfoot {\n    // Rows within head and foot\n    tr {\n      background: transparent;\n    }\n\n    // Cells within head and foot\n    th,\n    td {\n      padding: $table-padding;\n      font-weight: $global-weight-bold;\n      text-align: #{$global-left};\n    }\n  }\n\n  // Table rows\n  tbody {\n    th,\n    td {\n      padding: $table-padding;\n    }\n  }\n\n  // If tables are striped\n  @if $is-striped == true {\n    tbody {\n      @include -zf-table-stripe($stripe);\n    }\n\n    &.unstriped {\n      tbody {\n        @include -zf-table-unstripe();\n        background-color: $table-background;\n      }\n    }\n  }\n\n  // If tables are not striped\n  @else if $is-striped == false {\n    tbody {\n      @include -zf-table-unstripe();\n    }\n\n    &.striped {\n      tbody {\n        @include -zf-table-stripe($stripe);\n      }\n    }\n  }\n}\n\n/// Adds the general styles for tables.\n/// @param {Keyword} $stripe [$table-stripe] - Uses keywords even, odd, or none to darken rows of the table. The default value is even.\n@mixin table(\n  $stripe: $table-stripe,\n  $nest: false\n) {\n  width: 100%;\n  margin-bottom: $global-margin;\n  border-radius: $global-radius;\n\n  @if $nest {\n    @include -zf-table-children-styles($stripe);\n  }\n  @else {\n    @at-root {\n      @include -zf-table-children-styles($stripe);\n    }\n  }\n}\n\n/// Adds the ability to horizontally scroll the table when the content overflows horizontally.\n@mixin table-scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n}\n\n/// Slightly darkens the table rows on hover.\n@mixin table-hover {\n  thead tr {\n    //Darkens the table header rows on hover.\n    &:hover {\n      background-color: $table-head-row-hover;\n    }\n  }\n\n  tfoot tr {\n    //Darkens the table footer rows on hover.\n    &:hover {\n      background-color: $table-foot-row-hover;\n    }\n  }\n\n  tbody tr {\n    //Darkens the non-striped table rows on hover.\n    &:hover {\n      background-color: $table-row-hover;\n    }\n  }\n\n  @if $table-is-striped == true {\n    // Darkens the even striped table rows.\n    @if($table-stripe == even) {\n      &:not(.unstriped) tr:nth-of-type(even):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n\n    // Darkens the odd striped table rows.\n    @elseif($table-stripe == odd) {\n      &:not(.unstriped) tr:nth-of-type(odd):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n  }\n\n  @else if $table-is-striped == false {\n    // Darkens the even striped table rows.\n    @if($table-stripe == even) {\n      &.striped tr:nth-of-type(even):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n\n    // Darkens the odd striped table rows.\n    @elseif($table-stripe == odd) {\n      &.striped tr:nth-of-type(odd):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n  }\n}\n\n/// Adds styles for a stacked table. Useful for small-screen layouts.\n/// @param {Boolean} $header [$show-header-for-stacked] - Show the first th of header when stacked.\n@mixin table-stack($header: $show-header-for-stacked) {\n  @if $header {\n    thead {\n      th:first-child {\n        display: block;\n      }\n\n      th {\n        display: none;\n      }\n    }\n  }\n  @else {\n    thead {\n      display: none;\n    }\n  }\n\n  tfoot {\n    display: none;\n  }\n\n  tr,\n  th,\n  td {\n    display: block;\n  }\n\n  td {\n    border-top: 0;\n  }\n}\n\n@mixin foundation-table($nest: false) {\n  table {\n    @include table($nest: $nest);\n  }\n\n  table.stack {\n    @include breakpoint(medium down) {\n      @include table-stack;\n    }\n  }\n\n  table.scroll {\n    @include table-scroll;\n  }\n\n  table.hover {\n    @include table-hover;\n  }\n\n  .table-scroll {\n    overflow-x: auto;\n\n    table {\n      width: auto;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_tabs.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tabs\n////\n\n/// Default margin of the tab bar.\n/// @type Number\n$tab-margin: 0 !default;\n\n/// Default background color of a tab bar.\n/// @type Color\n$tab-background: $white !default;\n\n/// Font color of tab item.\n/// @type Color\n$tab-color: $primary-color !default;\n\n/// Active background color of a tab bar.\n/// @type Color\n$tab-background-active: $light-gray !default;\n\n/// Active font color of tab item.\n/// @type Color\n$tab-active-color: $primary-color !default;\n\n/// Font size of tab items.\n/// @type Number\n$tab-item-font-size: rem-calc(12) !default;\n\n/// Default background color on hover for items in a Menu.\n$tab-item-background-hover: $white !default;\n\n/// Default padding of a tab item.\n/// @type Number\n$tab-item-padding: 1.25rem 1.5rem !default;\n\n/// Maximum number of `expand-n` classes to include in the CSS.\n/// @type Number\n$tab-expand-max: 6 !default;\n\n/// Default background color of tab content.\n/// @type Color\n$tab-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$tab-content-border: $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$tab-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$tab-content-padding: 1rem !default;\n\n/// Adds styles for a tab container. Apply this to a `<ul>`.\n@mixin tabs-container (\n  $margin: $tab-margin,\n  $background: $tab-background,\n  $border-color: $tab-content-border\n) {\n  @include clearfix;\n  margin: $margin;\n  border: 1px solid $border-color;\n  background: $background;\n  list-style-type: none;\n}\n\n/// Augments a tab container to have vertical tabs. Use this in conjunction with `tabs-container()`.\n@mixin tabs-container-vertical {\n  > li {\n    display: block;\n    float: none;\n    width: auto;\n  }\n}\n\n/// Adds styles for the links within a tab container. Apply this to the `<li>` elements inside a tab container.\n@mixin tabs-title (\n  $padding: $tab-item-padding,\n  $font-size: $tab-item-font-size,\n  $color: $tab-color,\n  $color-active: $tab-active-color,\n  $background-hover: $tab-item-background-hover,\n  $background-active: $tab-background-active\n) {\n  float: #{$global-left};\n\n  > a {\n    display: block;\n    padding: $padding;\n    font-size: $font-size;\n    line-height: 1;\n    color: $color;\n\n    &:hover {\n      background: $background-hover;\n      color: scale-color($color, $lightness: -14%);\n    }\n\n    &:focus,\n    &[aria-selected='true'] {\n      background: $background-active;\n      color: $color-active;\n    }\n  }\n}\n\n/// Adds styles for the wrapper that surrounds a tab group's content panes.\n@mixin tabs-content (\n  $background: $tab-content-background,\n  $color: $tab-content-color,\n  $border-color: $tab-content-border\n) {\n  border: 1px solid $border-color;\n  border-top: 0;\n  background: $background;\n  color: $color;\n  transition: all 0.5s ease;\n}\n\n/// Augments a tab content container to have a vertical style, by shifting the border around. Use this in conjunction with `tabs-content()`.\n@mixin tabs-content-vertical (\n  $border-color: $tab-content-border\n) {\n  border: 1px solid $border-color;\n  border-#{$global-left}: 0;\n}\n\n/// Adds styles for an individual tab content panel within the tab content container.\n@mixin tabs-panel (\n  $padding: $tab-content-padding\n) {\n  display: none;\n  padding: $padding;\n\n  &[aria-hidden=\"false\"] {\n    display: block;\n  }\n}\n\n@mixin foundation-tabs {\n  .tabs {\n    @include tabs-container;\n  }\n\n  // Vertical\n  .tabs.vertical {\n    @include tabs-container-vertical;\n  }\n\n  // Simple\n  .tabs.simple {\n    > li > a {\n      padding: 0;\n\n      &:hover {\n        background: transparent;\n      }\n    }\n  }\n\n  // Primary color\n  .tabs.primary {\n    background: $primary-color;\n\n    > li > a {\n      color: color-pick-contrast($primary-color);\n\n      &:hover,\n      &:focus {\n        background: smart-scale($primary-color);\n      }\n    }\n  }\n\n  .tabs-title {\n    @include tabs-title;\n  }\n\n  .tabs-content {\n    @include tabs-content;\n  }\n\n  .tabs-content.vertical {\n    @include tabs-content-vertical;\n  }\n\n  .tabs-panel {\n    @include tabs-panel;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_thumbnail.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group thumbnail\n////\n\n/// Border around thumbnail images.\n/// @type Border\n$thumbnail-border: solid 4px $white !default;\n\n/// Bottom margin for thumbnail images.\n/// @type Length\n$thumbnail-margin-bottom: $global-margin !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2) !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5) !default;\n\n/// Transition proprties for thumbnail images.\n/// @type Transition\n$thumbnail-transition: box-shadow 200ms ease-out !default;\n\n/// Default radius for thumbnail images.\n/// @type Number\n$thumbnail-radius: $global-radius !default;\n\n/// Adds thumbnail styles to an element.\n@mixin thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: $thumbnail-margin-bottom;\n\n  border: $thumbnail-border;\n  border-radius: $thumbnail-radius;\n  box-shadow: $thumbnail-shadow;\n\n  line-height: 0;\n}\n\n@mixin thumbnail-link {\n  transition: $thumbnail-transition;\n\n  &:hover,\n  &:focus {\n    box-shadow: $thumbnail-shadow-hover;\n  }\n\n  image {\n    box-shadow: none;\n  }\n}\n\n@mixin foundation-thumbnail {\n  .thumbnail {\n    @include thumbnail;\n  }\n\n  a.thumbnail {\n    @include thumbnail-link;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_title-bar.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group title-bar\n////\n\n/// Background color of a title bar.\n/// @type Color\n$titlebar-background: $black !default;\n\n/// Color of text inside a title bar.\n/// @type Color\n$titlebar-color: $white !default;\n\n/// Padding inside a title bar.\n/// @type Length\n$titlebar-padding: 0.5rem !default;\n\n/// Font weight of text inside a title bar.\n/// @type Weight\n$titlebar-text-font-weight: bold !default;\n\n/// Color of menu icons inside a title bar.\n/// @type Color\n$titlebar-icon-color: $white !default;\n\n/// Color of menu icons inside a title bar on hover.\n/// @type Color\n$titlebar-icon-color-hover: $medium-gray !default;\n\n/// Spacing between the menu icon and text inside a title bar.\n/// @type Length\n$titlebar-icon-spacing: 0.25rem !default;\n\n@mixin foundation-title-bar {\n  .title-bar {\n    padding: $titlebar-padding;\n    background: $titlebar-background;\n    color: $titlebar-color;\n\n    @if $global-flexbox {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n    @else {\n      @include clearfix;\n    }\n\n    .menu-icon {\n      margin-#{$global-left}: $titlebar-icon-spacing;\n      margin-#{$global-right}: $titlebar-icon-spacing;\n    }\n  }\n\n  @if $global-flexbox {\n    .title-bar-left,\n    .title-bar-right {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n\n    .title-bar-right {\n      text-align: right;\n    }\n  }\n  @else {\n    .title-bar-left {\n      float: left;\n    }\n\n    .title-bar-right {\n      float: right;\n      text-align: right;\n    }\n  }\n\n  .title-bar-title {\n    display: inline-block;\n    vertical-align: middle;\n    font-weight: $titlebar-text-font-weight;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_tooltip.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tooltip\n////\n\n/// Default font weight of the defined term.\n/// @type Keyword | Number\n$has-tip-font-weight: $global-weight-bold !default;\n\n/// Default border bottom of the defined term.\n/// @type List\n$has-tip-border-bottom: dotted 1px $dark-gray !default;\n\n/// Default color of the tooltip background.\n/// @type Color\n$tooltip-background-color: $black !default;\n\n/// Default color of the tooltip font.\n/// @type Color\n$tooltip-color: $white !default;\n\n/// Default padding of the tooltip background.\n/// @type Number\n$tooltip-padding: 0.75rem !default;\n\n/// Default font size of the tooltip text. By default, we recommend a smaller font size than the body copy.\n/// @type Number\n$tooltip-font-size: $small-font-size !default;\n\n/// Default pip width for tooltips.\n/// @type Number\n$tooltip-pip-width: 0.75rem !default;\n\n/// Default pip height for tooltips. This is helpful for calculating the distance of the tooltip from the tooltip word.\n/// @type Number\n$tooltip-pip-height: $tooltip-pip-width * 0.866 !default;\n\n/// Default radius for tooltips.\n/// @type Number\n$tooltip-radius: $global-radius !default;\n\n@mixin has-tip {\n  position: relative;\n  display: inline-block;\n\n  border-bottom: $has-tip-border-bottom;\n  font-weight: $has-tip-font-weight;\n  cursor: help;\n}\n\n@mixin tooltip {\n  position: absolute;\n  top: calc(100% + #{$tooltip-pip-height});\n  z-index: 1200;\n\n  max-width: 10rem;\n  padding: $tooltip-padding;\n\n  border-radius: $tooltip-radius;\n  background-color: $tooltip-background-color;\n  font-size: $tooltip-font-size;\n  color: $tooltip-color;\n\n  &::before {\n    @include css-triangle($tooltip-pip-width, $tooltip-background-color, up);\n    position: absolute;\n    bottom: 100%;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n\n  &.top::before {\n    @include css-triangle($tooltip-pip-width, $tooltip-background-color, down);\n    top: 100%;\n    bottom: auto;\n  }\n\n  &.left::before {\n    @include css-triangle($tooltip-pip-width, $tooltip-background-color, right);\n    top: 50%;\n    bottom: auto;\n    left: 100%;\n    transform: translateY(-50%);\n  }\n\n  &.right::before {\n    @include css-triangle($tooltip-pip-width, $tooltip-background-color, left);\n    top: 50%;\n    right: 100%;\n    bottom: auto;\n    left: auto;\n    transform: translateY(-50%);\n  }\n}\n\n@mixin foundation-tooltip {\n  .has-tip {\n    @include has-tip;\n  }\n\n  .tooltip {\n    @include tooltip;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_top-bar.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group top-bar\n////\n\n/// Padding for the top bar.\n/// @type Number\n$topbar-padding: 0.5rem !default;\n\n/// Background color for the top bar. This color also cascades to menus within the top bar.\n/// @type Color\n$topbar-background: $light-gray !default;\n\n/// Background color submenus within the top bar. Usefull if $topbar-background is transparent.\n/// @type Color\n$topbar-submenu-background: $topbar-background !default;\n\n/// Spacing for the top bar title.\n/// @type Number\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0 !default;\n\n/// Maximum width of `<input>` elements inside the top bar.\n/// @type Number\n$topbar-input-width: 200px !default;\n\n/// Breakpoint at which top bar switches from mobile to desktop view.\n/// @type Breakpoint\n$topbar-unstack-breakpoint: medium !default;\n\n/// Adds styles for a top bar container.\n@mixin top-bar-container {\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n    align-items: center;\n  }\n  @else {\n    @include clearfix;\n  }\n\n  padding: $topbar-padding;\n\n  &,\n  ul {\n    background-color: $topbar-background;\n  }\n\n  // Check if $topbar-background is differnt from $topbar-background-submenu\n  @if ($topbar-background != $topbar-submenu-background) {\n    ul ul {\n      background-color: $topbar-submenu-background;\n    }\n  }\n\n  // Restrain width of inputs by default to make them easier to arrange\n  input {\n    max-width: $topbar-input-width;\n    margin-#{$global-right}: 1rem;\n  }\n\n  // The above styles shouldn't apply to input group fields\n  .input-group-field {\n    width: 100%;\n    margin-#{$global-right}: 0;\n  }\n\n  input.button { // sass-lint:disable-line no-qualifying-elements\n    width: auto;\n  }\n}\n\n/// Makes sections of a top bar stack on top of each other.\n@mixin top-bar-stacked {\n  @if $global-flexbox {\n    flex-wrap: wrap;\n\n    // Sub-sections\n    .top-bar-left,\n    .top-bar-right {\n      flex: 0 0 100%;\n      max-width: 100%;\n    }\n  }\n  @else {\n    // Sub-sections\n    .top-bar-left,\n    .top-bar-right {\n      width: 100%;\n    }\n  }\n}\n\n/// Undoes the CSS applied by the `top-bar-stacked()` mixin.\n@mixin top-bar-unstack {\n  @if $global-flexbox {\n    flex-wrap: nowrap;\n\n    .top-bar-left {\n      flex: 1 1 auto;\n    }\n\n    .top-bar-right {\n      flex: 0 1 auto;\n    }\n  }\n  @else {\n    .top-bar-left,\n    .top-bar-right {\n      width: auto;\n    }\n  }\n}\n\n@mixin foundation-top-bar {\n  // Top bar container\n  .top-bar {\n    @include top-bar-container;\n\n    // Stack on small screens by default\n    @include top-bar-stacked;\n\n    @include breakpoint($topbar-unstack-breakpoint) {\n      @include top-bar-unstack;\n    }\n\n    // Generate classes for stacking on each screen size (defined in $breakpoint-classes)\n    @each $size in $breakpoint-classes {\n      @if $size != $-zf-zero-breakpoint {\n        &.stacked-for-#{$size} {\n          @include breakpoint($size down) {\n            @include top-bar-stacked;\n          }\n        }\n      }\n    }\n  }\n\n  // Sub-sections\n  @if $global-flexbox {\n    .top-bar-title {\n      flex: 0 0 auto;\n      margin: $topbar-title-spacing;\n    }\n\n    .top-bar-left,\n    .top-bar-right {\n      flex: 0 0 auto;\n    }\n  }\n  @else {\n    .top-bar-title {\n      display: inline-block;\n      float: left;\n      padding: $topbar-title-spacing;\n\n      .menu-icon {\n        bottom: 2px;\n      }\n    }\n\n    .top-bar-left {\n      float: left;\n    }\n\n    .top-bar-right {\n      float: right;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/components/_visibility.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Hide an element by default, only displaying it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for($size) {\n  $size: map-get($breakpoints, $size);\n  $size: -zf-bp-to-em($size) - (1 / 16);\n\n  @include breakpoint($size down) {\n    display: none !important;\n  }\n}\n\n/// Hide an element by default, only displaying it within a certain breakpoint.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for-only($size) {\n  $lower-bound-size: map-get($breakpoints, $size);\n  $upper-bound-size: -zf-map-next($breakpoints, $size);\n\n  // more often than not this will be correct, just one time round the loop it won't so set in scope here\n  $lower-bound: -zf-bp-to-em($lower-bound-size) - (1 / 16);\n  // test actual lower-bound-size, if 0 set it to 0em\n  @if strip-unit($lower-bound-size) == 0 {\n    $lower-bound: -zf-bp-to-em($lower-bound-size);\n  }\n\n  @if $upper-bound-size == null {\n    @media screen and (max-width: $lower-bound) {\n      display: none !important;\n    }\n  }\n  @else {\n    $upper-bound: -zf-bp-to-em($upper-bound-size);\n\n    @media screen and (max-width: $lower-bound), screen and (min-width: $upper-bound) {\n      display: none !important;\n    }\n  }\n}\n\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for($size) {\n  @include breakpoint($size) {\n    display: none !important;\n  }\n}\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for-only($size) {\n  @include breakpoint($size only) {\n    display: none !important;\n  }\n}\n\n@mixin foundation-visibility-classes {\n  // Basic hiding classes\n  .hide {\n    display: none !important;\n  }\n\n  .invisible {\n    visibility: hidden;\n  }\n\n  // Responsive visibility classes\n  @each $size in $breakpoint-classes {\n    @if $size != $-zf-zero-breakpoint {\n      .hide-for-#{$size} {\n        @include hide-for($size);\n      }\n\n      .show-for-#{$size} {\n        @include show-for($size);\n      }\n    }\n\n    .hide-for-#{$size}-only {\n      @include hide-for-only($size);\n    }\n\n    .show-for-#{$size}-only {\n      @include show-for-only($size);\n    }\n  }\n\n  // Screen reader visibility classes\n  // Need a \"hide-for-sr\" class? Add aria-hidden='true' to the element\n  .show-for-sr,\n  .show-on-focus {\n    @include element-invisible;\n  }\n\n  // Only display the element when it's focused\n  .show-on-focus {\n    &:active,\n    &:focus {\n      @include element-invisible-off;\n    }\n  }\n\n  // Landscape and portrait visibility\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: block !important;\n\n    @include breakpoint(landscape) {\n      display: block !important;\n    }\n\n    @include breakpoint(portrait) {\n      display: none !important;\n    }\n  }\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: none !important;\n\n    @include breakpoint(landscape) {\n      display: none !important;\n    }\n\n    @include breakpoint(portrait) {\n      display: block !important;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_checkbox.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n@mixin foundation-form-checkbox {\n  [type='file'],\n  [type='checkbox'],\n  [type='radio'] {\n    margin: 0 0 $form-spacing;\n  }\n\n  // Styles for input/label siblings\n  [type='checkbox'] + label,\n  [type='radio'] + label {\n    display: inline-block;\n    vertical-align: baseline;\n\n    margin-#{$global-left}: $form-spacing * 0.5;\n    margin-#{$global-right}: $form-spacing;\n    margin-bottom: 0;\n\n    &[for] {\n      cursor: pointer;\n    }\n  }\n\n  // Styles for inputs inside labels\n  label > [type='checkbox'],\n  label > [type='radio'] {\n    margin-#{$global-right}: $form-spacing * 0.5;\n  }\n\n  // Normalize file input width\n  [type='file'] {\n    width: 100%;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_error.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group abide\n////\n\n/// Sets if error styles should be added to inputs.\n/// @type Boolean\n$abide-inputs: true !default;\n\n/// Sets if error styles should be added to labels.\n/// @type Boolean\n$abide-labels: true !default;\n\n/// Background color to use for invalid text inputs.\n/// @type Color\n$input-background-invalid: get-color(alert) !default;\n\n/// Color to use for labels of invalid inputs.\n/// @type Color\n$form-label-color-invalid: get-color(alert) !default;\n\n/// Default font color for form error text.\n/// @type Color\n$input-error-color: get-color(alert) !default;\n\n/// Default font size for form error text.\n/// @type Number\n$input-error-font-size: rem-calc(12) !default;\n\n/// Default font weight for form error text.\n/// @type Keyword\n$input-error-font-weight: $global-weight-bold !default;\n\n/// Styles the background and border of an input field to have an error state.\n///\n/// @param {Color} $background [$alert-color] - Color to use for the background and border.\n/// @param {Number} $background-lighten [10%] - Lightness level of the background color.\n@mixin form-input-error(\n  $background: $input-background-invalid,\n  $background-lighten: 10%\n) {\n  &:not(:focus) {\n    border-color: $background;\n    background-color: mix($background, $white, $background-lighten);\n    &::placeholder {\n      color: $background;\n    }\n  }\n}\n\n/// Adds error styles to a form element, using the values in the settings file.\n@mixin form-error {\n  display: none;\n  margin-top: $form-spacing * -0.5;\n  margin-bottom: $form-spacing;\n\n  font-size: $input-error-font-size;\n  font-weight: $input-error-font-weight;\n  color: $input-error-color;\n}\n\n@mixin foundation-form-error {\n  @if $abide-inputs {\n    // Error class for invalid inputs\n    .is-invalid-input {\n      @include form-input-error;\n    }\n  }\n\n  @if $abide-labels {\n    // Error class for labels of invalid outputs\n    .is-invalid-label {\n      color: $form-label-color-invalid;\n    }\n  }\n\n  // Form error element\n  .form-error {\n    @include form-error;\n\n    &.is-visible {\n      display: block;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_fieldset.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default border around custom fieldsets.\n/// @type Border\n$fieldset-border: 1px solid $medium-gray !default;\n\n/// Default padding inside custom fieldsets.\n/// @type Number\n$fieldset-padding: rem-calc(20) !default;\n\n/// Default margin around custom fieldsets.\n/// @type Number\n$fieldset-margin: rem-calc(18 0) !default;\n\n/// Default padding between the legend text and fieldset border.\n/// @type Number\n$legend-padding: rem-calc(0 3) !default;\n\n@mixin fieldset {\n  margin: $fieldset-margin;\n  padding: $fieldset-padding;\n  border: $fieldset-border;\n\n  legend {\n    // Covers up the fieldset's border to create artificial padding\n    margin: 0;\n    margin-#{$global-left}: rem-calc(-3);\n    padding: $legend-padding;\n    background: $body-background;\n  }\n}\n\n@mixin foundation-form-fieldset {\n  fieldset {\n    margin: 0;\n    padding: 0;\n    border: 0;\n  }\n\n  legend {\n    max-width: 100%;\n    margin-bottom: $form-spacing * 0.5;\n  }\n\n  .fieldset {\n    @include fieldset;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_forms.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Global spacing for form elements.\n/// @type Number\n$form-spacing: rem-calc(16) !default;\n\n@import 'text';\n@import 'checkbox';\n@import 'label';\n@import 'help-text';\n@import 'input-group';\n@import 'fieldset';\n@import 'select';\n@import 'range';\n@import 'progress';\n@import 'meter';\n@import 'error';\n\n@mixin foundation-forms {\n  @include foundation-form-text;\n  @include foundation-form-checkbox;\n  @include foundation-form-label;\n  @include foundation-form-helptext;\n  @include foundation-form-prepostfix;\n  @include foundation-form-fieldset;\n  @include foundation-form-select;\n  @include foundation-form-error;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_help-text.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default color for help text.\n/// @type Color\n$helptext-color: $black !default;\n\n/// Default font size for help text.\n/// @type Number\n$helptext-font-size: rem-calc(13) !default;\n\n/// Default font style for help text.\n/// @type Keyword\n$helptext-font-style: italic !default;\n\n@mixin foundation-form-helptext {\n  .help-text {\n    $margin-top: ($form-spacing * 0.5) * -1;\n\n    margin-top: $margin-top;\n    font-size: $helptext-font-size;\n    font-style: $helptext-font-style;\n    color: $helptext-color;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_input-group.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color of labels prefixed to an input.\n/// @type Color\n$input-prefix-color: $black !default;\n\n/// Background color of labels prefixed to an input.\n/// @type Color\n$input-prefix-background: $light-gray !default;\n\n/// Border around labels prefixed to an input.\n/// @type Border\n$input-prefix-border: 1px solid $medium-gray !default;\n\n/// Left/right padding of an pre/postfixed input label\n$input-prefix-padding: 1rem !default;\n\n@mixin foundation-form-prepostfix {\n  $height: ($input-font-size + $form-spacing * 1.5);\n\n  .input-group {\n    display: if($global-flexbox, flex, table);\n    width: 100%;\n    margin-bottom: $form-spacing;\n\n    @if $global-flexbox {\n      align-items: stretch;\n    }\n\n    > :first-child {\n      border-radius: if($global-text-direction == rtl, 0 $input-radius $input-radius 0, $input-radius 0 0 $input-radius);\n    }\n\n    > :last-child {\n      > * {\n        border-radius: if($global-text-direction == rtl, $input-radius 0 0 $input-radius, 0 $input-radius $input-radius 0);\n      }\n    }\n  }\n\n  %input-group-child {\n    margin: 0;\n    white-space: nowrap;\n\n    @if not $global-flexbox {\n      display: table-cell;\n      vertical-align: middle;\n    }\n  }\n\n  .input-group-label {\n    @extend %input-group-child;\n    padding: 0 $input-prefix-padding;\n    border: $input-prefix-border;\n    background: $input-prefix-background;\n\n    color: $input-prefix-color;\n    text-align: center;\n    white-space: nowrap;\n\n    @if $global-flexbox {\n      display: flex;\n      flex: 0 0 auto;\n      align-items: center;\n    }\n    @else {\n      width: 1%;\n      height: 100%;\n    }\n\n    @if has-value($input-prefix-border) {\n      &:first-child {\n        border-#{$global-right}: 0;\n      }\n\n      &:last-child {\n        border-#{$global-left}: 0;\n      }\n    }\n  }\n\n  .input-group-field {\n    @extend %input-group-child;\n    border-radius: 0;\n\n    @if $global-flexbox {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n      height: auto;\n      min-width: 0;\n    }\n    @else {\n      height: $height;\n    }\n  }\n\n  .input-group-button {\n    @extend %input-group-child;\n    padding-top: 0;\n    padding-bottom: 0;\n    text-align: center;\n\n    @if $global-flexbox {\n      flex: 0 0 auto;\n    }\n    @else {\n      width: 1%;\n      height: 100%;\n    }\n\n    a,\n    input,\n    button,\n    label {\n      @extend %input-group-child;\n      height: $height;\n      padding-top: 0;\n      padding-bottom: 0;\n\n      font-size: $input-font-size;\n    }\n  }\n\n  // Specificity bump needed to prevent override by buttons\n  @if not $global-flexbox {\n      .input-group .input-group-button {\n          display: table-cell;\n      }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_label.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color for form labels.\n/// @type Color\n$form-label-color: $black !default;\n\n/// Font size for form labels.\n/// @type Number\n$form-label-font-size: rem-calc(14) !default;\n\n/// Font weight for form labels.\n/// @type Keyword\n$form-label-font-weight: $global-weight-normal !default;\n\n/// Line height for form labels. The higher the number, the more space between the label and its input field.\n/// @type Number\n$form-label-line-height: 1.8 !default;\n\n@mixin form-label {\n  display: block;\n  margin: 0;\n\n  font-size: $form-label-font-size;\n  font-weight: $form-label-font-weight;\n  line-height: $form-label-line-height;\n  color: $form-label-color;\n}\n\n@mixin form-label-middle {\n  $input-border-width: get-border-value($input-border, width);\n\n  margin: 0 0 $form-spacing;\n  padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;\n}\n\n@mixin foundation-form-label {\n  label {\n    @include form-label;\n\n    &.middle {\n      @include form-label-middle;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_meter.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group meter\n////\n\n/// Height of a `<meter>` element.\n/// @type Length\n$meter-height: 1rem !default;\n\n/// Border radius of a `<meter>` element.\n/// @type Length\n$meter-radius: $global-radius !default;\n\n/// Background color of a `<meter>` element.\n/// @type Color\n$meter-background: $medium-gray !default;\n\n/// Meter fill for an optimal value in a `<meter>` element.\n/// @type Color\n$meter-fill-good: $success-color !default;\n\n/// Meter fill for an average value in a `<meter>` element.\n/// @type Color\n$meter-fill-medium: $warning-color !default;\n\n/// Meter fill for a suboptimal value in a `<meter>` element.\n/// @type Color\n$meter-fill-bad: $alert-color !default;\n\n@mixin foundation-meter-element {\n  meter {\n    display: block;\n    width: 100%;\n    height: $meter-height;\n    margin-bottom: 1rem;\n\n    appearance: none;\n\n    @if has-value($meter-radius) {\n      border-radius: $meter-radius;\n    }\n\n    // For Firefox\n    border: 0;\n    background: $meter-background;\n\n    // Chrome/Safari/Edge\n    &::-webkit-meter-bar {\n      border: 0;\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n\n      background: $meter-background;\n    }\n\n    &::-webkit-meter-inner-element {\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n    }\n\n    &::-webkit-meter-optimum-value {\n      background: $meter-fill-good;\n\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n    }\n\n    &::-webkit-meter-suboptimum-value {\n      background: $meter-fill-medium;\n\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n    }\n\n    &::-webkit-meter-even-less-good-value {\n      background: $meter-fill-bad;\n\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n    }\n\n    &::-moz-meter-bar {\n      background: $primary-color;\n\n      @if has-value($meter-radius) {\n        border-radius: $meter-radius;\n      }\n    }\n\n    &:-moz-meter-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting\n      background: $meter-fill-good;\n    }\n\n    &:-moz-meter-sub-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting\n      background: $meter-fill-medium;\n    }\n\n    &:-moz-meter-sub-sub-optimum::-moz-meter-bar { // sass-lint:disable-line force-pseudo-nesting\n      background: $meter-fill-bad;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_progress.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group progress-bar\n////\n\n/// Height of a progress bar.\n/// @type Number\n$progress-height: 1rem !default;\n\n/// Background color of a progress bar.\n/// @type Color\n$progress-background: $medium-gray !default;\n\n/// Bottom margin of a progress bar.\n/// @type Number\n$progress-margin-bottom: $global-margin !default;\n\n/// Default color of a progress bar's meter.\n/// @type Color\n$progress-meter-background: $primary-color !default;\n\n/// Default radius of a progress bar.\n/// @type Number\n$progress-radius: $global-radius !default;\n\n@mixin foundation-progress-element {\n  progress {\n    display: block;\n    width: 100%;\n    height: $progress-height;\n    margin-bottom: $progress-margin-bottom;\n\n    appearance: none;\n\n    @if hasvalue($progress-radius) {\n      border-radius: $progress-radius;\n    }\n\n    // For Firefox\n    border: 0;\n    background: $progress-background;\n\n    &::-webkit-progress-bar {\n      background: $progress-background;\n\n      @if hasvalue($progress-radius) {\n        border-radius: $progress-radius;\n      }\n    }\n\n    &::-webkit-progress-value {\n      background: $progress-meter-background;\n\n      @if hasvalue($progress-radius) {\n        border-radius: $progress-radius;\n      }\n    }\n\n    &::-moz-progress-bar {\n      background: $progress-meter-background;\n\n      @if hasvalue($progress-radius) {\n        border-radius: $progress-radius;\n      }\n    }\n\n    @each $name, $color in $foundation-palette {\n      &.#{$name} {\n        // Internet Explorer sets the fill with color\n        color: $color;\n\n        &::-webkit-progress-value {\n          background: $color;\n        }\n\n        &::-moz-progress-bar {\n          background: $color;\n        }\n      }\n    }\n\n    // For IE and Edge\n    &::-ms-fill {\n      @if hasvalue($progress-radius) {\n        border-radius: $progress-radius;\n      }\n\n      border: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_range.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group slider\n////\n\n/// Default height of the slider.\n/// @type Number\n$slider-height: 0.5rem !default;\n\n/// Default background color of the slider's track.\n/// @type Color\n$slider-background: $light-gray !default;\n\n/// Default color of the active fill color of the slider.\n/// @type Color\n$slider-fill-background: $medium-gray !default;\n\n/// Default height of the handle of the slider.\n/// @type Number\n$slider-handle-height: 1.4rem !default;\n\n/// Default width of the handle of the slider.\n/// @type Number\n$slider-handle-width: 1.4rem !default;\n\n/// Default color of the handle for the slider.\n/// @type Color\n$slider-handle-background: $primary-color !default;\n\n/// Default fade amount of a disabled slider.\n/// @type Number\n$slider-opacity-disabled: 0.25 !default;\n\n/// Default radius for slider.\n/// @type Number\n$slider-radius: $global-radius !default;\n\n@mixin foundation-range-input {\n  input[type=\"range\"] {  // sass-lint:disable-line no-qualifying-elements\n    $margin: ($slider-handle-height - $slider-height) / 2;\n\n    display: block;\n    width: 100%;\n    height: auto;\n    margin-top: $margin;\n    margin-bottom: $margin;\n\n    appearance: none;\n    border: 0;\n    line-height: 1;\n    cursor: pointer;\n\n    @if has-value($slider-radius) {\n      border-radius: $slider-radius;\n    }\n\n    &:focus {\n      outline: 0;\n    }\n\n    &[disabled] {\n      opacity: $slider-opacity-disabled;\n    }\n\n    // sass-lint:disable no-vendor-prefix\n\n    // Chrome/Safari\n    &::-webkit-slider-runnable-track {\n      height: $slider-height;\n      background: $slider-background;\n    }\n\n    &::-webkit-slider-handle {\n      width: $slider-handle-width;\n      height: $slider-handle-height;\n      margin-top: -$margin;\n\n      -webkit-appearance: none;\n      background: $slider-handle-background;\n\n      @if has-value($slider-radius) {\n        border-radius: $slider-radius;\n      }\n    }\n\n    // Firefox\n    &::-moz-range-track {\n      height: $slider-height;\n      -moz-appearance: none;\n      background: $slider-background;\n    }\n\n    &::-moz-range-thumb {\n      width: $slider-handle-width;\n      height: $slider-handle-height;\n      margin-top: -$margin;\n\n      -moz-appearance: none;\n      background: $slider-handle-background;\n\n      @if has-value($slider-radius) {\n        border-radius: $slider-radius;\n      }\n    }\n\n    // Internet Explorer\n    &::-ms-track {\n      height: $slider-height;\n\n      border: 0;\n      border-top: $margin solid $body-background;\n      border-bottom: $margin solid $body-background;\n      background: $slider-background;\n\n      overflow: visible;\n      color: transparent;\n    }\n\n    &::-ms-thumb {\n      width: $slider-handle-width;\n      height: $slider-handle-height;\n      border: 0;\n      background: $slider-handle-background;\n\n      @if has-value($slider-radius) {\n        border-radius: $slider-radius;\n      }\n    }\n\n    &::-ms-fill-lower {\n      background: $slider-fill-background;\n    }\n\n    &::-ms-fill-upper {\n      background: $slider-background;\n    }\n\n    @at-root {\n      output {\n        vertical-align: middle;\n        margin-left: 0.5em;\n        line-height: $slider-handle-height;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_select.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Background color for select menus.\n/// @type Color\n$select-background: $white !default;\n\n/// Color of the dropdown triangle inside select menus. Set to `transparent` to remove it entirely.\n/// @type Color\n$select-triangle-color: $dark-gray !default;\n\n/// Default radius for select menus.\n/// @type Color\n$select-radius: $global-radius !default;\n\n@mixin form-select {\n  $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n\n  height: $height;\n  margin: 0 0 $form-spacing;\n  padding: ($form-spacing / 2);\n\n  appearance: none;\n  border: $input-border;\n  border-radius: $select-radius;\n  background-color: $select-background;\n\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  line-height: normal;\n  color: $input-color;\n\n  @if $select-triangle-color != transparent {\n    @include background-triangle($select-triangle-color);\n    background-origin: content-box;\n    background-position: $global-right (-$form-spacing) center;\n    background-repeat: no-repeat;\n    background-size: 9px 6px;\n\n    padding-#{$global-right}: ($form-spacing * 1.5);\n  }\n\n  @if has-value($input-transition) {\n    transition: $input-transition;\n  }\n\n  // Focus state\n  &:focus {\n    outline: none;\n    border: $input-border-focus;\n    background-color: $input-background-focus;\n    box-shadow: $input-shadow-focus;\n\n    @if has-value($input-transition) {\n      transition: $input-transition;\n    }\n  }\n\n  // Disabled state\n  &:disabled {\n    background-color: $input-background-disabled;\n    cursor: $input-cursor-disabled;\n  }\n\n  // Hide the dropdown arrow shown in newer IE versions\n  &::-ms-expand {\n    display: none;\n  }\n\n  &[multiple] {\n    height: auto;\n    background-image: none;\n  }\n}\n\n@mixin foundation-form-select {\n  select {\n    @include form-select;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/forms/_text.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Font color of text inputs.\n/// @type Color\n$input-color: $black !default;\n\n/// Font color of placeholder text within text inputs.\n/// @type Color\n$input-placeholder-color: $medium-gray !default;\n\n/// Font family of text inputs.\n/// @type Font\n$input-font-family: inherit !default;\n\n/// Font size of text inputs.\n/// @type Number\n$input-font-size: rem-calc(16) !default;\n\n/// Font weight of text inputs.\n/// @type Keyword\n$input-font-weight: $global-weight-normal !default;\n\n/// Background color of text inputs.\n/// @type Color\n$input-background: $white !default;\n\n/// Background color of focused of text inputs.\n/// @type Color\n$input-background-focus: $white !default;\n\n/// Background color of disabled text inputs.\n/// @type Color\n$input-background-disabled: $light-gray !default;\n\n/// Border around text inputs.\n/// @type Border\n$input-border: 1px solid $medium-gray !default;\n\n/// Border around focused text inputs.\n/// @type Color\n$input-border-focus: 1px solid $dark-gray !default;\n\n/// Box shadow inside text inputs when not focused.\n/// @type Shadow\n$input-shadow: inset 0 1px 2px rgba($black, 0.1) !default;\n\n/// Box shadow outside text inputs when focused.\n/// @type Shadow\n$input-shadow-focus: 0 0 5px $medium-gray !default;\n\n/// Cursor to use when hovering over a disabled text input.\n/// @type Cursor\n$input-cursor-disabled: not-allowed !default;\n\n/// Properties to transition on text inputs.\n/// @type Transition\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out !default;\n\n/// Enables the up/down buttons that Chrome and Firefox add to `<input type='number'>` elements.\n/// @type Boolean\n$input-number-spinners: true !default;\n\n/// Radius for text inputs.\n/// @type Border\n$input-radius: $global-radius !default;\n\n/// Border radius for form buttons, defaulted to global-radius.\n/// @type Number\n$form-button-radius: $global-radius !default;\n\n@mixin form-element {\n  $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));\n\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: $height;\n  margin: 0 0 $form-spacing;\n  padding: $form-spacing / 2;\n\n  border: $input-border;\n  border-radius: $input-radius;\n  background-color: $input-background;\n  box-shadow: $input-shadow;\n\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  font-weight: $input-font-weight;\n  color: $input-color;\n\n  @if has-value($input-transition) {\n    transition: $input-transition;\n  }\n\n  // Focus state\n  &:focus {\n    outline: none;\n    border: $input-border-focus;\n    background-color: $input-background-focus;\n    box-shadow: $input-shadow-focus;\n\n    @if has-value($input-transition) {\n      transition: $input-transition;\n    }\n  }\n}\n\n@mixin foundation-form-text {\n  // Text inputs\n  #{text-inputs()},\n  textarea {\n    @include form-element;\n    appearance: none;\n  }\n\n  // Text areas\n  textarea {\n    max-width: 100%;\n\n    &[rows] {\n      height: auto;\n    }\n  }\n\n  input,\n  textarea {\n    // Placeholder text\n    &::placeholder {\n      color: $input-placeholder-color;\n    }\n\n    // Disabled/readonly state\n    &:disabled,\n    &[readonly] {\n      background-color: $input-background-disabled;\n      cursor: $input-cursor-disabled;\n    }\n  }\n\n  // Reset styles on button-like inputs\n  [type='submit'],\n  [type='button'] {\n    appearance: none;\n    border-radius: $form-button-radius;\n  }\n\n  // Reset Normalize setting content-box to search elements\n  input[type='search'] { // sass-lint:disable-line no-qualifying-elements\n    box-sizing: border-box;\n  }\n\n  // Number input styles\n  [type='number'] {\n    @if not $input-number-spinners {\n      -moz-appearance: textfield; // sass-lint:disable-line no-vendor-prefix\n\n      &::-webkit-inner-spin-button,\n      &::-webkit-outer-spin-button {\n        -webkit-appearance: none; // sass-lint:disable-line no-vendor-prefix\n        margin: 0;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/foundation.scss",
    "content": "/**\n * Foundation for Sites by ZURB\n * Version 6.3.0\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n\n// Dependencies\n@import \"../_vendor/normalize-scss/sass/normalize\";\n@import '../_vendor/sassy-lists/stylesheets/helpers/missing-dependencies';\n@import '../_vendor/sassy-lists/stylesheets/helpers/true';\n@import '../_vendor/sassy-lists/stylesheets/functions/purge';\n@import '../_vendor/sassy-lists/stylesheets/functions/remove';\n@import '../_vendor/sassy-lists/stylesheets/functions/replace';\n@import '../_vendor/sassy-lists/stylesheets/functions/to-list';\n\n// Settings\n// import your own `settings` here or\n// import and modify the default settings through\n// @import \"settings/settings\";\n\n// Sass utilities\n@import 'util/util';\n\n// Global variables and styles\n@import 'global';\n\n// Components\n@import 'grid/grid';\n@import 'typography/typography';\n@import 'forms/forms';\n@import 'components/visibility';\n@import 'components/float';\n@import 'components/button';\n@import 'components/button-group';\n@import 'components/accordion-menu';\n@import 'components/accordion';\n@import 'components/badge';\n@import 'components/breadcrumbs';\n@import 'components/callout';\n@import 'components/card';\n@import 'components/close-button';\n@import 'components/drilldown';\n@import 'components/dropdown-menu';\n@import 'components/dropdown';\n@import 'components/flex';\n@import 'components/responsive-embed';\n@import 'components/label';\n@import 'components/media-object';\n@import 'components/menu';\n@import 'components/menu-icon';\n@import 'components/off-canvas';\n@import 'components/orbit';\n@import 'components/pagination';\n@import 'components/progress-bar';\n@import 'components/reveal';\n@import 'components/slider';\n@import 'components/sticky';\n@import 'components/switch';\n@import 'components/table';\n@import 'components/tabs';\n@import 'components/title-bar';\n@import 'components/top-bar';\n@import 'components/thumbnail';\n@import 'components/tooltip';\n\n@mixin foundation-everything($flex: false) {\n  @if $flex {\n    $global-flexbox: true !global;\n  }\n\n  @include foundation-global-styles;\n  @if not $flex {\n    @include foundation-grid;\n  }\n  @else {\n    @include foundation-flex-grid;\n  }\n  @include foundation-typography;\n  @include foundation-forms;\n  @include foundation-button;\n  @include foundation-accordion;\n  @include foundation-accordion-menu;\n  @include foundation-badge;\n  @include foundation-breadcrumbs;\n  @include foundation-button-group;\n  @include foundation-callout;\n  @include foundation-card;\n  @include foundation-close-button;\n  @include foundation-menu;\n  @include foundation-menu-icon;\n  @include foundation-drilldown-menu;\n  @include foundation-dropdown;\n  @include foundation-dropdown-menu;\n  @include foundation-responsive-embed;\n  @include foundation-label;\n  @include foundation-media-object;\n  @include foundation-off-canvas;\n  @include foundation-orbit;\n  @include foundation-pagination;\n  @include foundation-progress-bar;\n  @include foundation-slider;\n  @include foundation-sticky;\n  @include foundation-reveal;\n  @include foundation-switch;\n  @include foundation-table;\n  @include foundation-tabs;\n  @include foundation-thumbnail;\n  @include foundation-title-bar;\n  @include foundation-tooltip;\n  @include foundation-top-bar;\n  @include foundation-visibility-classes;\n  @include foundation-float-classes;\n\n  @if $flex {\n    @include foundation-flex-classes;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_classes.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Outputs CSS classes for the grid.\n/// @access private\n@mixin foundation-grid(\n  $row: 'row',\n  $column: 'column',\n  $column-row: 'column-row',\n  $gutter: 'gutter',\n  $push: 'push',\n  $pull: 'pull',\n  $center: 'centered',\n  $uncenter: 'uncentered',\n  $collapse: 'collapse',\n  $uncollapse: 'uncollapse',\n  $offset: 'offset',\n  $end: 'end',\n  $expanded: 'expanded',\n  $block: 'block'\n) {\n  // Row\n  .#{$row} {\n    @include grid-row;\n\n    // Collapsing\n    &.#{$collapse} {\n      > .#{$column} {\n        @include grid-col-collapse;\n      }\n    }\n\n    // Nesting\n    & .#{$row} {\n      @include grid-row-nest($grid-column-gutter);\n\n      &.#{$collapse} {\n        margin-right: 0;\n        margin-left: 0;\n      }\n    }\n\n    // Expanded (full-width) row\n    &.#{$expanded} {\n      @include grid-row-size(expand);\n\n      .#{$row} {\n        margin-right: auto;\n        margin-left: auto;\n      }\n    }\n\n    @if type-of($grid-column-gutter) == 'map' {\n      // Static (unresponsive) row gutters\n      //\n      @each $breakpoint, $value in $grid-column-gutter {\n        &.#{$gutter}-#{$breakpoint} {\n          > .#{$column} {\n            @include grid-col-gutter($value);\n          }\n        }\n      }\n    }\n  }\n\n  // Column\n  .#{$column} {\n    @include grid-col;\n\n    @if $grid-column-align-edge {\n      &.#{$end} {\n        @include grid-col-end;\n      }\n    }\n  }\n\n  // Column row\n  // The double .row class is needed to bump up the specificity\n  .#{$column}.#{$row}.#{$row} {\n    float: none;\n  }\n\n  // To properly nest a column row, padding and margin is removed\n  .#{$row} .#{$column}.#{$row}.#{$row} {\n    margin-right: 0;\n    margin-left: 0;\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  @include -zf-each-breakpoint {\n    @for $i from 1 through $grid-column-count {\n      // Column width\n      .#{$-zf-size}-#{$i} {\n        @include grid-col-size($i);\n      }\n\n      // Source ordering\n      @if $i < $grid-column-count {\n        .#{$-zf-size}-#{$push}-#{$i} {\n          @include grid-col-pos($i);\n        }\n\n        .#{$-zf-size}-#{$pull}-#{$i} {\n          @include grid-col-pos(-$i);\n        }\n      }\n\n      // Offsets\n      $o: $i - 1;\n\n      .#{$-zf-size}-#{$offset}-#{$o} {\n        @include grid-col-off($o);\n      }\n    }\n\n    // Block grid\n    @for $i from 1 through $block-grid-max {\n      .#{$-zf-size}-up-#{$i} {\n        @include grid-layout($i, '.#{$column}');\n      }\n    }\n\n    // Responsive collapsing\n    .#{$-zf-size}-#{$collapse} {\n      > .#{$column} { @include grid-col-collapse; }\n\n      .#{$row} {\n        margin-right: 0;\n        margin-left: 0;\n      }\n    }\n\n    .#{$expanded}.#{$row} .#{$-zf-size}-#{$collapse}.#{$row} {\n      margin-right: 0;\n      margin-left: 0;\n    }\n\n    .#{$-zf-size}-#{$uncollapse} {\n      > .#{$column} { @include grid-col-gutter($-zf-size); }\n    }\n\n    // Positioning\n    .#{$-zf-size}-#{$center} {\n      @include grid-col-pos(center);\n    }\n\n    // Gutter adjustment\n    .#{$-zf-size}-#{$uncenter},\n    .#{$-zf-size}-#{$push}-0,\n    .#{$-zf-size}-#{$pull}-0 {\n      @include grid-col-unpos;\n    }\n  }\n\n  // Block grid columns\n  .#{$column}-#{$block} {\n    @include grid-column-margin;\n  }\n\n  @if $column == 'column' {\n    .columns {\n      // sass-lint:disable-block placeholder-in-extend\n      @extend .column;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_column.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Calculates the width of a column based on a number of factors.\n///\n/// @param {Number|List} $columns\n///   Width of the column. Accepts multiple values:\n///   - A percentage value will make the column that exact size.\n///   - A single digit will make the column span that number of columns wide, taking into account the column count of the parent row.\n///   - A string of the format \"x of y\" will make a column that is *x* columns wide, assuming *y* total columns for the parent.\n///\n/// @returns {Number} A calculated percentage value.\n@function grid-column($columns) {\n  $width: 0%;\n\n  // Parsing percents, decimals, and column counts\n  @if type-of($columns) == 'number' {\n    @if unit($columns) == '%' {\n      $width: $columns;\n    }\n    @else if $columns < 1 {\n      $width: percentage($columns);\n    }\n    @else {\n      $width: percentage($columns / $grid-column-count);\n    }\n  }\n\n  // Parsing \"n of n\" expressions\n  @else if type-of($columns) == 'list' {\n    @if length($columns) != 3 {\n      @error 'Wrong syntax for grid-column(). Use the format \"n of n\".';\n    }\n    @else {\n      $width: percentage(nth($columns, 1) / nth($columns, 3));\n    }\n  }\n\n  // Anything else is incorrect\n  @else {\n    @error 'Wrong syntax for grid-column(). Use a number, decimal, percentage, or \"n of n\".';\n  }\n\n  @return $width;\n}\n\n/// Creates a grid column.\n///\n/// @param {Mixed} $columns [$grid-column-count] - Width of the column. Refer to the `grid-column()` function to see possible values.\n/// @param {Mixed} $gutters [$grid-column-gutter] - Spacing between columns. Refer to the `grid-column-gutter()` function to see possible values.\n@mixin grid-column(\n  $columns: $grid-column-count,\n  $gutters: $grid-column-gutter\n) {\n  @include grid-column-size($columns);\n  float: $global-left;\n\n  // Gutters\n  @include grid-column-gutter($gutters: $gutters);\n\n  // Last column alignment\n  @if $grid-column-align-edge {\n    &:last-child:not(:first-child) {\n      float: $global-right;\n    }\n  }\n}\n\n/// Creates a grid column row. This is the equivalent of adding `.row` and `.column` to the same element.\n///\n/// @param {Mixed} $gutters [$grid-column-gutter] - Width of the gutters on either side of the column row. Refer to the `grid-column-gutter()` function to see possible values.\n@mixin grid-column-row(\n  $gutters: $grid-column-gutter\n) {\n  @include grid-row;\n  @include grid-column($gutters: $gutters);\n\n  &,\n  &:last-child {\n    float: none;\n  }\n}\n\n/// Shorthand for `grid-column()`.\n/// @alias grid-column\n@function grid-col(\n  $columns: $grid-column-count\n) {\n  @return grid-column($columns);\n}\n\n/// Shorthand for `grid-column()`.\n/// @alias grid-column\n@mixin grid-col(\n  $columns: $grid-column-count,\n  $gutters: $grid-column-gutter\n) {\n  @include grid-column($columns, $gutters);\n}\n\n/// Shorthand for `grid-column-row()`.\n/// @alias grid-column-row\n@mixin grid-col-row(\n  $gutters: $grid-column-gutter\n) {\n  @include grid-column-row($gutters);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_flex-grid.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group flex-grid\n////\n\n/// Creates a container for a flex grid row.\n///\n/// @param {Keyword|List} $behavior [null]\n///   Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.\n/// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.\n/// @param {Number} $columns [null] - Number of columns to use for this row. If set to `null` (the default), the global column count will be used.\n/// @param {Boolean} $base [true] - Set to `false` to prevent basic styles from being output. Useful if you're calling this mixin on the same element twice, as it prevents duplicate CSS output.\n/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins, in case the row is nested. Responsive gutter settings by default.\n@mixin flex-grid-row(\n  $behavior: null,\n  $size: $grid-row-width,\n  $columns: null,\n  $base: true,\n  $wrap: true,\n  $gutters: $grid-column-gutter\n) {\n  $margin: auto;\n  $wrap: if($wrap, wrap, nowrap);\n\n  @if index($behavior, nest) != null {\n    @include grid-row-nest($gutters);\n\n    @if index($behavior, collapse) != null {\n      margin-right: 0;\n      margin-left: 0;\n    }\n  }\n  @else {\n    @include grid-row-size($size);\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  @if $base {\n    display: flex;\n    flex-flow: row $wrap;\n  }\n\n  @if $columns != null {\n    @include grid-context($columns, $base) {\n      @content;\n    }\n  }\n}\n\n/// Calculates the `flex` property for a flex grid column. It accepts all of the same values as the basic `grid-column()` function, along with two extras:\n///   - `expand` (the default) will make the column expand to fill space.\n///   - `shrink` will make the column contract, so it only takes up the horizontal space it needs.\n///\n/// @param {Mixed} $columns [expand] - Width of the column.\n@function flex-grid-column($columns: expand) {\n  $flex: 1 1 0px; // sass-lint:disable-line zero-unit\n\n  @if $columns == shrink {\n    $flex: 0 0 auto;\n  }\n  @else if $columns != expand {\n    $flex: 0 0 grid-column($columns);\n  }\n\n  @return $flex;\n}\n\n/// Creates a column for a flex grid. By default, the column will stretch to the full width of its container, but this can be overridden with sizing classes, or by using the `unstack` class on the parent flex row.\n///\n/// @param {Mixed} $columns [expand] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.\n/// @param {Number} $gutter [$grid-column-gutter] - Space between columns, added as a left and right padding.\n@mixin flex-grid-column(\n  $columns: expand,\n  $gutters: $grid-column-gutter\n) {\n  // Base properties\n  @include flex-grid-size($columns);\n\n  // Gutters\n  @include grid-column-gutter($gutters: $gutters);\n\n  // fixes recent Chrome version not limiting child width\n  // https://stackoverflow.com/questions/34934586/white-space-nowrap-and-flexbox-did-not-work-in-chrome\n  @if $columns == expand {\n    min-width: initial;\n  }\n  // max-width fixes IE 10/11 not respecting the flex-basis property\n  @if $columns != expand and $columns != shrink {\n    max-width: grid-column($columns);\n  }\n}\n\n/// Creates a block grid for a flex grid row.\n///\n/// @param {Number} $n - Number of columns to display on each row.\n/// @param {String} $selector - Selector to use to target columns within the row.\n@mixin flex-grid-layout(\n  $n,\n  $selector: '.column'\n) {\n  flex-wrap: wrap;\n\n  > #{$selector} {\n    $pct: percentage(1/$n);\n\n    flex: 0 0 $pct;\n    max-width: $pct;\n  }\n}\n\n/// Changes the width flex grid column.\n/// @param {Mixed} $columns [expand] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.\n@mixin flex-grid-size($columns: null) {\n  $columns: $columns or expand;\n\n  flex: flex-grid-column($columns);\n\n  // max-width fixes IE 10/11 not respecting the flex-basis property\n  @if $columns != expand and $columns != shrink {\n    max-width: grid-column($columns);\n  }\n}\n\n\n@mixin foundation-flex-grid {\n  // Row\n  .row {\n    @include flex-grid-row;\n\n    // Nesting behavior\n    & .row {\n      @include flex-grid-row(nest, $base: false);\n    }\n\n    // Expanded row\n    &.expanded {\n      @include grid-row-size(expand);\n    }\n\n    &.collapse {\n      > .column {\n        @include grid-col-collapse;\n      }\n    }\n\n    // Undo negative margins\n    // From collapsed child\n    &.is-collapse-child,\n    &.collapse > .column > .row {\n      margin-right: 0;\n      margin-left: 0;\n    }\n  }\n\n  // Column\n  .column {\n    @include flex-grid-column;\n  }\n\n  // Column row\n  // The double .row class is needed to bump up the specificity\n  .column.row.row {\n    display: flex;\n  }\n\n  // To properly nest a column row, padding and margin is removed\n  .row .column.row.row {\n    margin-right: 0;\n    margin-left: 0;\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n\n  .flex-container {\n    @include flex;\n  }\n\n  .flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  .flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  .flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  @each $dir, $prop in $-zf-flex-direction {\n    .flex-dir-#{$dir} {\n      @include flex-direction($prop);\n    }\n  }\n\n  @include -zf-each-breakpoint {\n    @for $i from 1 through $grid-column-count {\n      // Sizing (percentage)\n      .#{$-zf-size}-#{$i} {\n        flex: flex-grid-column($i);\n        max-width: grid-column($i);\n      }\n\n      // Offsets\n      $o: $i - 1;\n\n      .#{$-zf-size}-offset-#{$o} {\n        @include grid-column-offset($o);\n      }\n    }\n\n    // Source ordering\n    @for $i from 1 through 6 {\n      .#{$-zf-size}-order-#{$i} {\n        @include flex-order($i);\n      }\n    }\n\n    // Block grid\n    @for $i from 1 through $block-grid-max {\n      .#{$-zf-size}-up-#{$i} {\n        @include flex-grid-layout($i);\n      }\n    }\n\n    @if $-zf-size != $-zf-zero-breakpoint {\n      // Sizing (expand)\n      @include breakpoint($-zf-size) {\n        .#{$-zf-size}-expand {\n          flex: flex-grid-column();\n        }\n      }\n\n      // direction helper classes\n      @each $dir, $prop in $-zf-flex-direction {\n        .#{$-zf-size}-flex-dir-#{$dir} {\n          @include flex-direction($prop);\n        }\n      }\n      // child helper classes\n      .#{$-zf-size}-flex-child-auto {\n        flex: 1 1 auto;\n      }\n\n      .#{$-zf-size}-flex-child-grow {\n        flex: 1 0 auto;\n      }\n\n      .#{$-zf-size}-flex-child-shrink {\n        flex: 0 1 auto;\n      }\n\n      // Auto-stacking/unstacking\n      @at-root (without: media) {\n        .row.#{$-zf-size}-unstack {\n          > .column {\n            flex: flex-grid-column(100%);\n\n            @include breakpoint($-zf-size) {\n              flex: flex-grid-column();\n            }\n          }\n        }\n      }\n    }\n\n    // Responsive collapsing\n    .#{$-zf-size}-collapse {\n      > .column { @include grid-col-collapse; }\n    }\n\n    .#{$-zf-size}-uncollapse {\n      > .column { @include grid-col-gutter($-zf-size); }\n    }\n  }\n\n  // Sizing (shrink)\n  .shrink {\n    flex: flex-grid-column(shrink);\n    max-width: 100%;\n  }\n\n  .columns {\n    @extend .column; // sass-lint:disable-line placeholder-in-extend\n\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_grid.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// The maximum width of a row.\n/// @type Number\n$grid-row-width: $global-width !default;\n\n/// The default column count of a grid. Changing this value affects the logic of the grid mixins, and the number of CSS classes output.\n/// @type Number\n$grid-column-count: 12 !default;\n\n/// The amount of space between columns at different screen sizes. To use just one size, set the variable to a number instead of a map.\n/// @type Map | Length\n/// @since 6.1.0\n$grid-column-gutter: (\n  small: 20px,\n  medium: 30px,\n) !default;\n\n/// If `true`, the last column in a row will align to the opposite edge of the row.\n/// @type Boolean\n$grid-column-align-edge: true !default;\n\n/// The highest number of `.x-up` classes available when using the block grid CSS.\n/// @type Number\n$block-grid-max: 8 !default;\n\n// Internal value to store the end column float direction\n$-zf-end-float: if($grid-column-align-edge, $global-right, $global-left);\n\n@import 'row';\n@import 'column';\n@import 'size';\n@import 'position';\n@import 'gutter';\n@import 'classes';\n@import 'layout';\n\n@import 'flex-grid';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_gutter.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Set the gutters on a column\n/// @param {Number|Keyword} $gutter [auto]\n///   Spacing between columns, accepts multiple values:\n///   - A single value will make the gutter that exact size.\n///   - A breakpoint name will make the gutter the corresponding size in the $gutters map.\n///   - \"auto\" will make the gutter responsive, using the $gutters map values.\n/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use. Responsive gutter settings by default.\n@mixin grid-column-gutter(\n  $gutter: auto,\n  $gutters: $grid-column-gutter\n) {\n  @include -zf-breakpoint-value($gutter, $gutters) {\n    $padding: rem-calc($-zf-bp-value) / 2;\n\n    padding-right: $padding;\n    padding-left: $padding;\n  }\n}\n\n/// Collapse the gutters on a column by removing the padding. **Note:** only use this mixin within a breakpoint. To collapse a column's gutters on all screen sizes, use the `$gutter` parameter of the `grid-column()` mixin instead.\n@mixin grid-column-collapse {\n  @include grid-column-gutter(0);\n}\n\n/// Un-collapse the gutters on a column by re-adding the padding.\n///\n/// @param {Number} $gutter [$grid-column-gutter] - Spacing between columns.\n@mixin grid-column-uncollapse($gutter: $grid-column-gutter) {\n  @warn 'This mixin is being replaced by grid-column-gutter(). grid-column-uncollapse() will be removed in Foundation 6.4.';\n  @include grid-column-gutter($gutters: $gutter);\n}\n\n/// Shorthand for `grid-column-gutter()`.\n/// @alias grid-column-gutter\n@mixin grid-col-gutter(\n  $gutter: auto,\n  $gutters: $grid-column-gutter\n) {\n  @include grid-column-gutter($gutter, $gutters);\n}\n\n/// Shorthand for `grid-column-collapse()`.\n/// @alias grid-column-collapse\n@mixin grid-col-collapse {\n  @include grid-column-collapse;\n}\n\n/// Shorthand for `grid-column-uncollapse()`.\n/// @alias grid-column-uncollapse\n@mixin grid-col-uncollapse($gutter: $grid-column-gutter) {\n  @warn 'This mixin is being replaced by grid-col-gutter(). grid-col-uncollapse() will be removed in Foundation 6.4.';\n  @include grid-column-uncollapse($gutter);\n}\n\n/// Sets bottom margin on grid columns to match gutters\n/// @param {Number|Keyword} $margin [auto]\n///   The bottom margin on grid columns, accepts multiple values:\n///   - A single value will make the margin that exact size.\n///   - A breakpoint name will make the margin the corresponding size in the $margins map.\n///   - \"auto\" will make the margin responsive, using the $margins map values.\n/// @param {Number|Map} $margins [$grid-column-gutter] - Map or single value to use. Responsive gutter settings by default.\n@mixin grid-column-margin (\n  $margin: auto,\n  $margins: $grid-column-gutter\n) {\n  @include -zf-breakpoint-value($margin, $margins) {\n    $margin-bottom: rem-calc($-zf-bp-value);\n    margin-bottom: $margin-bottom;\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_layout.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Sizes child elements so that `$n` number of items appear on each row.\n///\n/// @param {Number} $n - Number of elements to display per row.\n/// @param {String} $selector ['.column'] - Selector(s) to use for child elements.\n/// @param {Number|List} $gutter\n///   The gutter to apply to child elements. Accepts multiple values:\n///   - $grid-column-gutter will use the values in the $grid-column-gutter map, including breakpoint sizes.\n///   - A fixed numeric value will apply this gutter to all breakpoints.\n@mixin grid-layout(\n  $n,\n  $selector: '.column',\n  $gutter: null\n) {\n  & > #{$selector} {\n    float: $global-left;\n    width: percentage(1/$n);\n\n    // If a $gutter value is passed\n    @if($gutter) {\n      // Gutters\n      @if type-of($gutter) == 'map' {\n        @each $breakpoint, $value in $gutter {\n          $padding: rem-calc($value) / 2;\n\n          @include breakpoint($breakpoint) {\n            padding-right: $padding;\n            padding-left: $padding;\n          }\n        }\n      }\n      @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 {\n        $padding: rem-calc($gutter) / 2;\n        padding-right: $padding;\n        padding-left: $padding;\n      }\n    }\n\n    &:nth-of-type(1n) {\n      clear: none;\n    }\n\n    &:nth-of-type(#{$n}n+1) {\n      clear: both;\n    }\n\n    &:last-child {\n      float: $global-left;\n    }\n  }\n}\n\n/// Adds extra CSS to block grid children so the last items in the row center automatically. Apply this to the columns, not the row.\n///\n/// @param {Number} $n - Number of items that appear in each row.\n@mixin grid-layout-center-last($n) {\n  @for $i from 1 to $n {\n    @if $i == 1 {\n      &:nth-child(#{$n}n+1):last-child {\n        margin-left: (100 - 100/$n * $i) / 2 * 1%;\n      }\n    }\n    @else {\n      &:nth-child(#{$n}n+1):nth-last-child(#{$i}) {\n        margin-left: (100 - 100/$n * $i) / 2 * 1%;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_position.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Reposition a column.\n///\n/// @param {Number|Keyword} $position - Direction and amount to move. The column will move equal to the width of the column count specified. A positive number will push the column to the right, while a negative number will pull it to the left. Set to center to center the column.\n@mixin grid-column-position($position) {\n  @if type-of($position) == 'number' {\n    $offset: percentage($position / $grid-column-count);\n\n    position: relative;\n    #{$global-left}: $offset;\n  }\n  @else if $position == center {\n    &, &:last-child:not(:first-child) {\n      float: none;\n      clear: both;\n    }\n    margin-right: auto;\n    margin-left: auto;\n  }\n  @else {\n    @warn 'Wrong syntax for grid-column-position(). Enter a positive or negative number, or center.';\n  }\n}\n\n/// Reset a position definition.\n@mixin grid-column-unposition {\n  position: static;\n  float: left;\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/// Offsets a column to the right by `$n` columns.\n/// @param {Number|List} $n - Width to offset by. You can pass in any value accepted by the `grid-column()` mixin, such as `6`, `50%`, or `1 of 2`.\n@mixin grid-column-offset($n) {\n  margin-#{$global-left}: grid-column($n);\n}\n\n/// Disable the default behavior of the last column in a row aligning to the opposite edge.\n@mixin grid-column-end {\n  // This extra specificity is required for the property to be applied\n  &:last-child:last-child {\n    float: $global-left;\n  }\n}\n\n/// Shorthand for `grid-column-position()`.\n/// @alias grid-column-position\n@mixin grid-col-pos($position) {\n  @include grid-column-position($position);\n}\n\n/// Shorthand for `grid-column-unposition()`.\n/// @alias grid-column-unposition\n@mixin grid-col-unpos {\n  @include grid-column-unposition;\n}\n\n/// Shorthand for `grid-column-offset()`.\n/// @alias grid-column-offset\n@mixin grid-col-off($n) {\n  @include grid-column-offset($n);\n}\n\n/// Shorthand for `grid-column-end()`.\n/// @alias grid-column-end\n@mixin grid-col-end {\n  @include grid-column-end;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_row.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Change the behavior of columns defined inside this mixin to use a different column count.\n/// @content\n///\n/// @param {Number} $columns - Number of columns to use.\n/// @param {Boolean} $root [false]\n///   If `false`, selectors inside this mixin will nest inside the parent selector.\n///   If `true`, selectors will not nest.\n@mixin grid-context(\n  $columns,\n  $root: false\n) {\n  // Store the current column count so it can be re-set later\n  $old-grid-column-count: $grid-column-count;\n  $grid-column-count: $columns !global;\n\n  @if $root {\n    @at-root { @content; }\n  }\n  @else {\n    @content;\n  }\n\n  // Restore the old column count\n  $grid-column-count: $old-grid-column-count !global;\n}\n\n/// Creates a grid row.\n/// @content\n///\n/// @param {Number} $columns [null] - Column count for this row. `null` will use the default column count.\n/// @param {Keywords} $behavior [null]\n///   Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.\n/// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.\n/// @param {Boolean} $cf [true] - Whether or not to include a clearfix.\n/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins. Responsive gutter settings by default.\n@mixin grid-row(\n  $columns: null,\n  $behavior: null,\n  $size: $grid-row-width,\n  $cf: true,\n  $gutters: $grid-column-gutter\n) {\n  $margin: auto;\n\n  @if index($behavior, nest) != null {\n    @include grid-row-nest($gutters);\n\n    @if index($behavior, collapse) != null {\n      margin-right: 0;\n      margin-left: 0;\n    }\n  }\n  @else {\n    @include grid-row-size($size);\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  @if $cf {\n    @include clearfix;\n  }\n\n  @if $columns != null {\n    @include grid-context($columns) {\n      @content;\n    }\n  }\n}\n\n/// Inverts the margins of a row to nest it inside of a column.\n///\n/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins. Responsive gutter settings by default.\n@mixin grid-row-nest($gutters: $grid-column-gutter) {\n  @include -zf-each-breakpoint {\n    $margin: rem-calc(-zf-get-bp-val($gutters, $-zf-size)) / 2 * -1;\n\n    margin-right: $margin;\n    margin-left: $margin;\n  }\n}\n\n/// Set a grid row size\n///\n/// @param {Keyword|Number} $size [$grid-row-width] Maximum size of the row. Set to `expand` to make the row taking the full width.\n@mixin grid-row-size($size: $grid-row-width) {\n  @if $size == expand {\n    $size: none;\n  }\n\n  max-width: $size;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/grid/_size.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Set the width of a grid column.\n///\n/// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`.\n@mixin grid-column-size(\n  $columns: $grid-column-count\n) {\n  width: grid-column($columns);\n}\n\n/// Shorthand for `grid-column-size()`.\n/// @alias grid-column-size\n@mixin grid-col-size(\n  $columns: $grid-column-count\n) {\n  @include grid-column-size($columns);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/settings/_settings.scss",
    "content": "//  Foundation for Sites Settings\n//  -----------------------------\n//\n//  Table of Contents:\n//\n//   1. Global\n//   2. Breakpoints\n//   3. The Grid\n//   4. Base Typography\n//   5. Typography Helpers\n//   6. Abide\n//   7. Accordion\n//   8. Accordion Menu\n//   9. Badge\n//  10. Breadcrumbs\n//  11. Button\n//  12. Button Group\n//  13. Callout\n//  14. Card\n//  15. Close Button\n//  16. Drilldown\n//  17. Dropdown\n//  18. Dropdown Menu\n//  19. Forms\n//  20. Label\n//  21. Media Object\n//  22. Menu\n//  23. Meter\n//  24. Off-canvas\n//  25. Orbit\n//  26. Pagination\n//  27. Progress Bar\n//  28. Responsive Embed\n//  29. Reveal\n//  30. Slider\n//  31. Switch\n//  32. Table\n//  33. Tabs\n//  34. Thumbnail\n//  35. Title Bar\n//  36. Tooltip\n//  37. Top Bar\n\n@import 'util/util';\n\n// 1. Global\n// ---------\n\n$global-font-size: 100%;\n$global-width: rem-calc(1200);\n$global-lineheight: 1.5;\n$foundation-palette: (\n  primary: #1779ba,\n  secondary: #767676,\n  success: #3adb76,\n  warning: #ffae00,\n  alert: #cc4b37,\n);\n$light-gray: #e6e6e6;\n$medium-gray: #cacaca;\n$dark-gray: #8a8a8a;\n$black: #0a0a0a;\n$white: #fefefe;\n$body-background: $white;\n$body-font-color: $black;\n$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;\n$body-antialiased: true;\n$global-margin: 1rem;\n$global-padding: 1rem;\n$global-weight-normal: normal;\n$global-weight-bold: bold;\n$global-radius: 0;\n$global-text-direction: ltr;\n$global-flexbox: false;\n$print-transparent-backgrounds: true;\n\n@include add-foundation-colors;\n\n// 2. Breakpoints\n// --------------\n\n$breakpoints: (\n  small: 0,\n  medium: 640px,\n  large: 1024px,\n  xlarge: 1200px,\n  xxlarge: 1440px,\n);\n$print-breakpoint: large;\n$breakpoint-classes: (small medium large);\n\n// 3. The Grid\n// -----------\n\n$grid-row-width: $global-width;\n$grid-column-count: 12;\n$grid-column-gutter: (\n  small: 20px,\n  medium: 30px,\n);\n$grid-column-align-edge: true;\n$block-grid-max: 8;\n\n// 4. Base Typography\n// ------------------\n\n$header-font-family: $body-font-family;\n$header-font-weight: $global-weight-normal;\n$header-font-style: normal;\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;\n$header-color: inherit;\n$header-lineheight: 1.4;\n$header-margin-bottom: 0.5rem;\n$header-styles: (\n  small: (\n    'h1': ('font-size': 24),\n    'h2': ('font-size': 20),\n    'h3': ('font-size': 19),\n    'h4': ('font-size': 18),\n    'h5': ('font-size': 17),\n    'h6': ('font-size': 16),\n  ),\n  medium: (\n    'h1': ('font-size': 48),\n    'h2': ('font-size': 40),\n    'h3': ('font-size': 31),\n    'h4': ('font-size': 25),\n    'h5': ('font-size': 20),\n    'h6': ('font-size': 16),\n  ),\n);\n$header-text-rendering: optimizeLegibility;\n$small-font-size: 80%;\n$header-small-font-color: $medium-gray;\n$paragraph-lineheight: 1.6;\n$paragraph-margin-bottom: 1rem;\n$paragraph-text-rendering: optimizeLegibility;\n$code-color: $black;\n$code-font-family: $font-family-monospace;\n$code-font-weight: $global-weight-normal;\n$code-background: $light-gray;\n$code-border: 1px solid $medium-gray;\n$code-padding: rem-calc(2 5 1);\n$anchor-color: $primary-color;\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%);\n$anchor-text-decoration: none;\n$anchor-text-decoration-hover: none;\n$hr-width: $global-width;\n$hr-border: 1px solid $medium-gray;\n$hr-margin: rem-calc(20) auto;\n$list-lineheight: $paragraph-lineheight;\n$list-margin-bottom: $paragraph-margin-bottom;\n$list-style-type: disc;\n$list-style-position: outside;\n$list-side-margin: 1.25rem;\n$list-nested-side-margin: 1.25rem;\n$defnlist-margin-bottom: 1rem;\n$defnlist-term-weight: $global-weight-bold;\n$defnlist-term-margin-bottom: 0.3rem;\n$blockquote-color: $dark-gray;\n$blockquote-padding: rem-calc(9 20 0 19);\n$blockquote-border: 1px solid $medium-gray;\n$cite-font-size: rem-calc(13);\n$cite-color: $dark-gray;\n$cite-pseudo-content: '\\2014 \\0020';\n$keystroke-font: $font-family-monospace;\n$keystroke-color: $black;\n$keystroke-background: $light-gray;\n$keystroke-padding: rem-calc(2 4 0);\n$keystroke-radius: $global-radius;\n$abbr-underline: 1px dotted $black;\n\n// 5. Typography Helpers\n// ---------------------\n\n$lead-font-size: $global-font-size * 1.25;\n$lead-lineheight: 1.6;\n$subheader-lineheight: 1.4;\n$subheader-color: $dark-gray;\n$subheader-font-weight: $global-weight-normal;\n$subheader-margin-top: 0.2rem;\n$subheader-margin-bottom: 0.5rem;\n$stat-font-size: 2.5rem;\n\n// 6. Abide\n// --------\n\n$abide-inputs: true;\n$abide-labels: true;\n$input-background-invalid: get-color(alert);\n$form-label-color-invalid: get-color(alert);\n$input-error-color: get-color(alert);\n$input-error-font-size: rem-calc(12);\n$input-error-font-weight: $global-weight-bold;\n\n// 7. Accordion\n// ------------\n\n$accordion-background: $white;\n$accordion-plusminus: true;\n$accordion-title-font-size: rem-calc(12);\n$accordion-item-color: $primary-color;\n$accordion-item-background-hover: $light-gray;\n$accordion-item-padding: 1.25rem 1rem;\n$accordion-content-background: $white;\n$accordion-content-border: 1px solid $light-gray;\n$accordion-content-color: $body-font-color;\n$accordion-content-padding: 1rem;\n\n// 8. Accordion Menu\n// -----------------\n\n$accordionmenu-arrows: true;\n$accordionmenu-arrow-color: $primary-color;\n$accordionmenu-arrow-size: 6px;\n\n// 9. Badge\n// --------\n\n$badge-background: $primary-color;\n$badge-color: $white;\n$badge-color-alt: $black;\n$badge-palette: $foundation-palette;\n$badge-padding: 0.3em;\n$badge-minwidth: 2.1em;\n$badge-font-size: 0.6rem;\n\n// 10. Breadcrumbs\n// ---------------\n\n$breadcrumbs-margin: 0 0 $global-margin 0;\n$breadcrumbs-item-font-size: rem-calc(11);\n$breadcrumbs-item-color: $primary-color;\n$breadcrumbs-item-color-current: $black;\n$breadcrumbs-item-color-disabled: $medium-gray;\n$breadcrumbs-item-margin: 0.75rem;\n$breadcrumbs-item-uppercase: true;\n$breadcrumbs-item-slash: true;\n\n// 11. Button\n// ----------\n\n$button-padding: 0.85em 1em;\n$button-margin: 0 0 $global-margin 0;\n$button-fill: solid;\n$button-background: $primary-color;\n$button-background-hover: scale-color($button-background, $lightness: -15%);\n$button-color: $white;\n$button-color-alt: $black;\n$button-radius: $global-radius;\n$button-sizes: (\n  tiny: 0.6rem,\n  small: 0.75rem,\n  default: 0.9rem,\n  large: 1.25rem,\n);\n$button-palette: $foundation-palette;\n$button-opacity-disabled: 0.25;\n$button-background-hover-lightness: -20%;\n$button-hollow-hover-lightness: -50%;\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n\n// 12. Button Group\n// ----------------\n\n$buttongroup-margin: 1rem;\n$buttongroup-spacing: 1px;\n$buttongroup-child-selector: '.button';\n$buttongroup-expand-max: 6;\n$buttongroup-radius-on-each: true;\n\n// 13. Callout\n// -----------\n\n$callout-background: $white;\n$callout-background-fade: 85%;\n$callout-border: 1px solid rgba($black, 0.25);\n$callout-margin: 0 0 1rem 0;\n$callout-padding: 1rem;\n$callout-font-color: $body-font-color;\n$callout-font-color-alt: $body-background;\n$callout-radius: $global-radius;\n$callout-link-tint: 30%;\n\n// 14. Card\n// --------\n\n$card-background: $white;\n$card-font-color: $body-font-color;\n$card-divider-background: $light-gray;\n$card-border: 1px solid $light-gray;\n$card-shadow: none;\n$card-border-radius: $global-radius;\n$card-padding: $global-padding;\n$card-margin: $global-margin;\n\n// 15. Close Button\n// ----------------\n\n$closebutton-position: right top;\n$closebutton-offset-horizontal: (\n  small: 0.66rem,\n  medium: 1rem,\n);\n$closebutton-offset-vertical: (\n  small: 0.33em,\n  medium: 0.5rem,\n);\n$closebutton-size: (\n  small: 1.5em,\n  medium: 2em,\n);\n$closebutton-lineheight: 1;\n$closebutton-color: $dark-gray;\n$closebutton-color-hover: $black;\n\n// 16. Drilldown\n// -------------\n\n$drilldown-transition: transform 0.15s linear;\n$drilldown-arrows: true;\n$drilldown-arrow-color: $primary-color;\n$drilldown-arrow-size: 6px;\n$drilldown-background: $white;\n\n// 17. Dropdown\n// ------------\n\n$dropdown-padding: 1rem;\n$dropdown-background: $body-background;\n$dropdown-border: 1px solid $medium-gray;\n$dropdown-font-size: 1rem;\n$dropdown-width: 300px;\n$dropdown-radius: $global-radius;\n$dropdown-sizes: (\n  tiny: 100px,\n  small: 200px,\n  large: 400px,\n);\n\n// 18. Dropdown Menu\n// -----------------\n\n$dropdownmenu-arrows: true;\n$dropdownmenu-arrow-color: $anchor-color;\n$dropdownmenu-arrow-size: 6px;\n$dropdownmenu-min-width: 200px;\n$dropdownmenu-background: $white;\n$dropdownmenu-border: 1px solid $medium-gray;\n\n// 19. Forms\n// ---------\n\n$fieldset-border: 1px solid $medium-gray;\n$fieldset-padding: rem-calc(20);\n$fieldset-margin: rem-calc(18 0);\n$legend-padding: rem-calc(0 3);\n$form-spacing: rem-calc(16);\n$helptext-color: $black;\n$helptext-font-size: rem-calc(13);\n$helptext-font-style: italic;\n$input-prefix-color: $black;\n$input-prefix-background: $light-gray;\n$input-prefix-border: 1px solid $medium-gray;\n$input-prefix-padding: 1rem;\n$form-label-color: $black;\n$form-label-font-size: rem-calc(14);\n$form-label-font-weight: $global-weight-normal;\n$form-label-line-height: 1.8;\n$select-background: $white;\n$select-triangle-color: $dark-gray;\n$select-radius: $global-radius;\n$input-color: $black;\n$input-placeholder-color: $medium-gray;\n$input-font-family: inherit;\n$input-font-size: rem-calc(16);\n$input-font-weight: $global-weight-normal;\n$input-background: $white;\n$input-background-focus: $white;\n$input-background-disabled: $light-gray;\n$input-border: 1px solid $medium-gray;\n$input-border-focus: 1px solid $dark-gray;\n$input-shadow: inset 0 1px 2px rgba($black, 0.1);\n$input-shadow-focus: 0 0 5px $medium-gray;\n$input-cursor-disabled: not-allowed;\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n$input-number-spinners: true;\n$input-radius: $global-radius;\n$form-button-radius: $global-radius;\n\n// 20. Label\n// ---------\n\n$label-background: $primary-color;\n$label-color: $white;\n$label-color-alt: $black;\n$label-palette: $foundation-palette;\n$label-font-size: 0.8rem;\n$label-padding: 0.33333rem 0.5rem;\n$label-radius: $global-radius;\n\n// 21. Media Object\n// ----------------\n\n$mediaobject-margin-bottom: $global-margin;\n$mediaobject-section-padding: $global-padding;\n$mediaobject-image-width-stacked: 100%;\n\n// 22. Menu\n// --------\n\n$menu-margin: 0;\n$menu-margin-nested: 1rem;\n$menu-item-padding: 0.7rem 1rem;\n$menu-item-color-active: $white;\n$menu-item-background-active: get-color(primary);\n$menu-icon-spacing: 0.25rem;\n$menu-item-background-hover: $light-gray;\n$menu-border: $light-gray;\n\n// 23. Meter\n// ---------\n\n$meter-height: 1rem;\n$meter-radius: $global-radius;\n$meter-background: $medium-gray;\n$meter-fill-good: $success-color;\n$meter-fill-medium: $warning-color;\n$meter-fill-bad: $alert-color;\n\n// 24. Off-canvas\n// --------------\n\n$offcanvas-size: 250px;\n$offcanvas-vertical-size: 250px;\n$offcanvas-background: $light-gray;\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7);\n$offcanvas-push-zindex: 1;\n$offcanvas-overlap-zindex: 10;\n$offcanvas-reveal-zindex: 1;\n$offcanvas-transition-length: 0.5s;\n$offcanvas-transition-timing: ease;\n$offcanvas-fixed-reveal: true;\n$offcanvas-exit-background: rgba($white, 0.25);\n$maincontent-class: 'off-canvas-content';\n\n// 25. Orbit\n// ---------\n\n$orbit-bullet-background: $medium-gray;\n$orbit-bullet-background-active: $dark-gray;\n$orbit-bullet-diameter: 1.2rem;\n$orbit-bullet-margin: 0.1rem;\n$orbit-bullet-margin-top: 0.8rem;\n$orbit-bullet-margin-bottom: 0.8rem;\n$orbit-caption-background: rgba($black, 0.5);\n$orbit-caption-padding: 1rem;\n$orbit-control-background-hover: rgba($black, 0.5);\n$orbit-control-padding: 1rem;\n$orbit-control-zindex: 10;\n\n// 26. Pagination\n// --------------\n\n$pagination-font-size: rem-calc(14);\n$pagination-margin-bottom: $global-margin;\n$pagination-item-color: $black;\n$pagination-item-padding: rem-calc(3 10);\n$pagination-item-spacing: rem-calc(1);\n$pagination-radius: $global-radius;\n$pagination-item-background-hover: $light-gray;\n$pagination-item-background-current: $primary-color;\n$pagination-item-color-current: $white;\n$pagination-item-color-disabled: $medium-gray;\n$pagination-ellipsis-color: $black;\n$pagination-mobile-items: false;\n$pagination-mobile-current-item: false;\n$pagination-arrows: true;\n\n// 27. Progress Bar\n// ----------------\n\n$progress-height: 1rem;\n$progress-background: $medium-gray;\n$progress-margin-bottom: $global-margin;\n$progress-meter-background: $primary-color;\n$progress-radius: $global-radius;\n\n// 28. Responsive Embed\n// --------------------\n\n$responsive-embed-margin-bottom: rem-calc(16);\n$responsive-embed-ratios: (\n  default: 4 by 3,\n  widescreen: 16 by 9,\n);\n\n// 29. Reveal\n// ----------\n\n$reveal-background: $white;\n$reveal-width: 600px;\n$reveal-max-width: $global-width;\n$reveal-padding: $global-padding;\n$reveal-border: 1px solid $medium-gray;\n$reveal-radius: $global-radius;\n$reveal-zindex: 1005;\n$reveal-overlay-background: rgba($black, 0.45);\n\n// 30. Slider\n// ----------\n\n$slider-width-vertical: 0.5rem;\n$slider-transition: all 0.2s ease-in-out;\n$slider-height: 0.5rem;\n$slider-background: $light-gray;\n$slider-fill-background: $medium-gray;\n$slider-handle-height: 1.4rem;\n$slider-handle-width: 1.4rem;\n$slider-handle-background: $primary-color;\n$slider-opacity-disabled: 0.25;\n$slider-radius: $global-radius;\n\n// 31. Switch\n// ----------\n\n$switch-background: $medium-gray;\n$switch-background-active: $primary-color;\n$switch-height: 2rem;\n$switch-height-tiny: 1.5rem;\n$switch-height-small: 1.75rem;\n$switch-height-large: 2.5rem;\n$switch-radius: $global-radius;\n$switch-margin: $global-margin;\n$switch-paddle-background: $white;\n$switch-paddle-offset: 0.25rem;\n$switch-paddle-radius: $global-radius;\n$switch-paddle-transition: all 0.25s ease-out;\n\n// 32. Table\n// ---------\n\n$table-background: $white;\n$table-color-scale: 5%;\n$table-border: 1px solid smart-scale($table-background, $table-color-scale);\n$table-padding: rem-calc(8 10 10);\n$table-hover-scale: 2%;\n$table-row-hover: darken($table-background, $table-hover-scale);\n$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);\n$table-is-striped: true;\n$table-striped-background: smart-scale($table-background, $table-color-scale);\n$table-stripe: even;\n$table-head-background: smart-scale($table-background, $table-color-scale / 2);\n$table-head-row-hover: darken($table-head-background, $table-hover-scale);\n$table-foot-background: smart-scale($table-background, $table-color-scale);\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale);\n$table-head-font-color: $body-font-color;\n$table-foot-font-color: $body-font-color;\n$show-header-for-stacked: false;\n\n// 33. Tabs\n// --------\n\n$tab-margin: 0;\n$tab-background: $white;\n$tab-color: $primary-color;\n$tab-background-active: $light-gray;\n$tab-active-color: $primary-color;\n$tab-item-font-size: rem-calc(12);\n$tab-item-background-hover: $white;\n$tab-item-padding: 1.25rem 1.5rem;\n$tab-expand-max: 6;\n$tab-content-background: $white;\n$tab-content-border: $light-gray;\n$tab-content-color: $body-font-color;\n$tab-content-padding: 1rem;\n\n// 34. Thumbnail\n// -------------\n\n$thumbnail-border: solid 4px $white;\n$thumbnail-margin-bottom: $global-margin;\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);\n$thumbnail-transition: box-shadow 200ms ease-out;\n$thumbnail-radius: $global-radius;\n\n// 35. Title Bar\n// -------------\n\n$titlebar-background: $black;\n$titlebar-color: $white;\n$titlebar-padding: 0.5rem;\n$titlebar-text-font-weight: bold;\n$titlebar-icon-color: $white;\n$titlebar-icon-color-hover: $medium-gray;\n$titlebar-icon-spacing: 0.25rem;\n\n// 36. Tooltip\n// -----------\n\n$has-tip-font-weight: $global-weight-bold;\n$has-tip-border-bottom: dotted 1px $dark-gray;\n$tooltip-background-color: $black;\n$tooltip-color: $white;\n$tooltip-padding: 0.75rem;\n$tooltip-font-size: $small-font-size;\n$tooltip-pip-width: 0.75rem;\n$tooltip-pip-height: $tooltip-pip-width * 0.866;\n$tooltip-radius: $global-radius;\n\n// 37. Top Bar\n// -----------\n\n$topbar-padding: 0.5rem;\n$topbar-background: $light-gray;\n$topbar-submenu-background: $topbar-background;\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0;\n$topbar-input-width: 200px;\n$topbar-unstack-breakpoint: medium;\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/typography/_alignment.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-text-alignment {\n  @each $size in $breakpoint-classes {\n    @include breakpoint($size) {\n      @each $align in (left, right, center, justify) {\n        @if $size != $-zf-zero-breakpoint {\n          .#{$size}-text-#{$align} {\n            text-align: $align;\n          }\n        }\n        @else {\n          .text-#{$align} {\n            text-align: $align;\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/typography/_base.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-base\n////\n\n// Base Typography\n// - - - - - - - - - - - - - - -\n// These are styles applied to basic HTML tags, including:\n//   - Paragraphs <p>\n//   - Bold/italics <b> <strong> <i> <em>\n//   - Small text <small>\n//   - Headings <h1>—<h6>\n//   - Anchors <a>\n//   - Dividers <hr>\n//   - Lists <ul> <ol> <dl>\n//   - Blockquotes <blockquote>\n//   - Code blocks <code>\n//   - Abbreviations <abbr>\n//   - Citations <cite>\n//   - Keystrokes <kbd>\n\n/// Font family for header elements.\n/// @type String | List\n$header-font-family: $body-font-family !default;\n\n/// Font weight of headers.\n/// @type String\n$header-font-weight: $global-weight-normal !default;\n\n/// Font style (e.g. italicized) of headers.\n/// @type String\n$header-font-style: normal !default;\n\n/// Font stack used for elements that use monospaced type, such as code samples\n/// @type String | List\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace !default;\n\n/// Color of headers.\n/// @type Color\n$header-color: inherit !default;\n\n/// Line height of headers.\n/// @type Number\n$header-lineheight: 1.4 !default;\n\n/// Bottom margin of headers.\n/// @type Number\n$header-margin-bottom: 0.5rem !default;\n\n/// Styles for headings at various screen sizes. Each key is a breakpoint, and each value is a map of heading styles.\n/// @type Map\n$header-styles: (\n  small: (\n    'h1': ('font-size': 24),\n    'h2': ('font-size': 20),\n    'h3': ('font-size': 19),\n    'h4': ('font-size': 18),\n    'h5': ('font-size': 17),\n    'h6': ('font-size': 16),\n  ),\n  medium: (\n    'h1': ('font-size': 48),\n    'h2': ('font-size': 40),\n    'h3': ('font-size': 31),\n    'h4': ('font-size': 25),\n    'h5': ('font-size': 20),\n    'h6': ('font-size': 16),\n  ),\n) !default;\n\n// $header-styles map is built from $header-sizes in order to ensure downward compatibility\n// when $header-sizes is depreciated, $header-styles needs to get !default values like settings.scss\n@function build_from_header-sizes($header-sizes) {\n  @warn 'Note, that $header-sizes has been replaced with $header-styles. $header-sizes still works, but it is going to be depreciated.';\n  $header-styles: ();\n  @each $size, $headers in $header-sizes {\n    $header-map: ();\n    @each $header, $font-size in $headers {\n      $header-map: map-merge($header-map, ($header: ('font-size': $font-size)));  \n    }\n    $header-styles: map-merge($header-styles, ($size: $header-map));\n  }\n  @return $header-styles;\n}\n\n// If it exists $headers-sizes is used to build $header-styles. See the documentation.\n@if variable-exists(header-sizes) {\n  $header-styles: build_from_header-sizes($header-sizes);\n}\n\n/// Text rendering method of headers.\n/// @type String\n$header-text-rendering: optimizeLegibility !default;\n\n/// Font size of `<small>` elements.\n/// @type Number\n$small-font-size: 80% !default;\n\n/// Color of `<small>` elements when placed inside headers.\n/// @type Color\n$header-small-font-color: $medium-gray !default;\n\n/// Line height of text inside `<p>` elements.\n/// @type Number\n$paragraph-lineheight: 1.6 !default;\n\n/// Bottom margin of paragraphs.\n/// @type Number\n$paragraph-margin-bottom: 1rem !default;\n\n/// Text rendering method for paragraph text.\n/// @type String\n$paragraph-text-rendering: optimizeLegibility !default;\n\n/// Text color of code samples.\n/// @type Color\n$code-color: $black !default;\n\n/// Font family of code samples.\n/// @type String | List\n$code-font-family: $font-family-monospace !default;\n\n/// Font weight of text in code samples.\n/// @type String\n$code-font-weight: $global-weight-normal !default;\n\n/// Background color of code samples.\n/// @type Color\n$code-background: $light-gray !default;\n\n/// Border around code samples.\n/// @type List\n$code-border: 1px solid $medium-gray !default;\n\n/// Padding around text of code samples.\n/// @type Number | List\n$code-padding: rem-calc(2 5 1) !default;\n\n/// Default color for links.\n/// @type Color\n$anchor-color: $primary-color !default;\n\n/// Default color for links on hover.\n/// @type Color\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%) !default;\n\n/// Default text deocration for links.\n/// @type String\n$anchor-text-decoration: none !default;\n\n/// Default text decoration for links on hover.\n/// @type String\n$anchor-text-decoration-hover: none !default;\n\n/// Maximum width of a divider.\n/// @type Number\n$hr-width: $global-width !default;\n\n/// Default border for a divider.\n/// @type List\n$hr-border: 1px solid $medium-gray !default;\n\n/// Default margin for a divider.\n/// @type Number | List\n$hr-margin: rem-calc(20) auto !default;\n\n/// Line height for items in a list.\n/// @type Number\n$list-lineheight: $paragraph-lineheight !default;\n\n/// Bottom margin for items in a list.\n/// @type Number\n$list-margin-bottom: $paragraph-margin-bottom !default;\n\n/// Bullet type to use for unordered lists (e.g., `square`, `circle`, `disc`).\n/// @type String\n$list-style-type: disc !default;\n\n/// Positioning for bullets on unordered list items.\n/// @type String\n$list-style-position: outside !default;\n\n/// Left (or right) margin for lists.\n/// @type Number\n$list-side-margin: 1.25rem !default;\n\n/// Left (or right) margin for a list inside a list.\n/// @type Number\n$list-nested-side-margin: 1.25rem !default;\n\n/// Bottom margin for `<dl>` elements.\n/// @type Number\n$defnlist-margin-bottom: 1rem !default;\n\n/// Font weight for `<dt>` elements.\n/// @type String\n$defnlist-term-weight: $global-weight-bold !default;\n\n/// Spacing between `<dt>` and `<dd>` elements.\n/// @type Number\n$defnlist-term-margin-bottom: 0.3rem !default;\n\n/// Text color of `<blockquote>` elements.\n/// @type Color\n$blockquote-color: $dark-gray !default;\n\n/// Padding inside a `<blockquote>` element.\n/// @type Number | List\n$blockquote-padding: rem-calc(9 20 0 19) !default;\n\n/// Side border for `<blockquote>` elements.\n/// @type List\n$blockquote-border: 1px solid $medium-gray !default;\n\n/// Font size for `<cite>` elements.\n/// @type Number\n$cite-font-size: rem-calc(13) !default;\n\n/// Text color for `<cite>` elements.\n/// @type Color\n$cite-color: $dark-gray !default;\n\n/// Pseudo content for `<cite>` elements.\n/// @type String\n$cite-pseudo-content: '\\2014 \\0020' !default;\n\n/// Font family for `<kbd>` elements.\n/// @type String | List\n$keystroke-font: $font-family-monospace !default;\n\n/// Text color for `<kbd>` elements.\n/// @type Color\n$keystroke-color: $black !default;\n\n/// Background color for `<kbd>` elements.\n/// @type Color\n$keystroke-background: $light-gray !default;\n\n/// Padding for `<kbd>` elements.\n/// @type Number | List\n$keystroke-padding: rem-calc(2 4 0) !default;\n\n/// Border radius for `<kbd>` elements.\n/// @type Number | List\n$keystroke-radius: $global-radius !default;\n\n/// Bottom border style for `<abbr>` elements.\n/// @type List\n$abbr-underline: 1px dotted $black !default;\n\n@mixin foundation-typography-base {\n  // Typography resets\n  div,\n  dl,\n  dt,\n  dd,\n  ul,\n  ol,\n  li,\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  pre,\n  form,\n  p,\n  blockquote,\n  th,\n  td {\n    margin: 0;\n    padding: 0;\n  }\n\n  // Paragraphs\n  p {\n    margin-bottom: $paragraph-margin-bottom;\n\n    font-size: inherit;\n    line-height: $paragraph-lineheight;\n    text-rendering: $paragraph-text-rendering;\n  }\n\n  // Emphasized text\n  em,\n  i {\n    font-style: italic;\n    line-height: inherit;\n  }\n\n  // Strong text\n  strong,\n  b {\n    font-weight: $global-weight-bold;\n    line-height: inherit;\n  }\n\n  // Small text\n  small {\n    font-size: $small-font-size;\n    line-height: inherit;\n  }\n\n  // Headings\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6 {\n    font-family: $header-font-family;\n    font-style: $header-font-style;\n    font-weight: $header-font-weight;\n    color: $header-color;\n    text-rendering: $header-text-rendering;\n\n    small {\n      line-height: 0;\n      color: $header-small-font-color;\n    }\n  }\n\n  // Heading styles\n  @each $size, $headers in $header-styles {\n    @include breakpoint($size) {\n      @each $header, $header-defs in $headers {\n        $font-size-temp: 1rem;\n        #{$header} {\n\n          @if map-has-key($header-defs, font-size) {\n            $font-size-temp: rem-calc(map-get($header-defs, font-size));\n            font-size: $font-size-temp;\n          } @else if map-has-key($header-defs, fs) {\n            $font-size-temp: rem-calc(map-get($header-defs, fs));\n            font-size: $font-size-temp;\n          } @else if $size == $-zf-zero-breakpoint {\n            font-size: $font-size-temp;\n          }\n          @if map-has-key($header-defs, line-height) {\n            line-height: unitless-calc(map-get($header-defs, line-height), $font-size-temp);\n          } @else if map-has-key($header-defs, lh) {\n            line-height: unitless-calc(map-get($header-defs, lh), $font-size-temp);\n          } @else if $size == $-zf-zero-breakpoint {\n            line-height: unitless-calc($header-lineheight, $font-size-temp);\n          }\n\n          @if map-has-key($header-defs, margin-top) {\n            margin-top: rem-calc(map-get($header-defs, margin-top));\n          } @else if map-has-key($header-defs, mt) {\n            margin-top: rem-calc(map-get($header-defs, mt));\n          } @else if $size == $-zf-zero-breakpoint {\n            margin-top: 0;\n          }\n          @if map-has-key($header-defs, margin-bottom) {\n            margin-bottom: rem-calc(map-get($header-defs, margin-bottom));\n          } @else if map-has-key($header-defs, mb) {\n            margin-bottom: rem-calc(map-get($header-defs, mb));\n          } @else if $size == $-zf-zero-breakpoint {\n            margin-bottom: rem-calc($header-margin-bottom);\n          }\n        }\n      }\n    }\n  }\n\n  // Links\n  a {\n    line-height: inherit;\n    color: $anchor-color;\n    text-decoration: $anchor-text-decoration;\n\n    cursor: pointer;\n\n    &:hover,\n    &:focus {\n      color: $anchor-color-hover;\n      @if $anchor-text-decoration-hover != $anchor-text-decoration {\n        text-decoration: $anchor-text-decoration-hover;\n      }\n    }\n\n    img {\n      border: 0;\n    }\n  }\n\n  // Horizontal rule\n  hr {\n    clear: both;\n\n    max-width: $hr-width;\n    height: 0;\n    margin: $hr-margin;\n\n    border-top: 0;\n    border-right: 0;\n    border-bottom: $hr-border;\n    border-left: 0;\n  }\n\n  // Lists\n  ul,\n  ol,\n  dl {\n    margin-bottom: $list-margin-bottom;\n    list-style-position: $list-style-position;\n    line-height: $list-lineheight;\n  }\n\n  // List items\n  li {\n    font-size: inherit;\n  }\n\n  // Unordered lists\n  ul {\n    margin-#{$global-left}: $list-side-margin;\n    list-style-type: $list-style-type;\n  }\n\n  // Ordered lists\n  ol {\n    margin-#{$global-left}: $list-side-margin;\n  }\n\n  // Nested unordered/ordered lists\n  ul, ol {\n    & & {\n      margin-#{$global-left}: $list-nested-side-margin;\n      margin-bottom: 0;\n    }\n  }\n\n  // Definition lists\n  dl {\n    margin-bottom: $defnlist-margin-bottom;\n\n    dt {\n      margin-bottom: $defnlist-term-margin-bottom;\n      font-weight: $defnlist-term-weight;\n    }\n  }\n\n  // Blockquotes\n  blockquote {\n    margin: 0 0 $paragraph-margin-bottom;\n    padding: $blockquote-padding;\n    border-#{$global-left}: $blockquote-border;\n\n    &, p {\n      line-height: $paragraph-lineheight;\n      color: $blockquote-color;\n    }\n  }\n\n  // Citations\n  cite {\n    display: block;\n    font-size: $cite-font-size;\n    color: $cite-color;\n\n    &:before {\n      content: $cite-pseudo-content;\n    }\n  }\n\n  // Abbreviations\n  abbr {\n    border-bottom: $abbr-underline;\n    color: $body-font-color;\n    cursor: help;\n  }\n\n  // Figures\n  figure {\n    margin: 0;\n  }\n  \n  // Code\n  code {\n    padding: $code-padding;\n\n    border: $code-border;\n    background-color: $code-background;\n\n    font-family: $code-font-family;\n    font-weight: $code-font-weight;\n    color: $code-color;\n  }\n\n  // Keystrokes\n  kbd {\n    margin: 0;\n    padding: $keystroke-padding;\n\n    background-color: $keystroke-background;\n\n    font-family: $keystroke-font;\n    color: $keystroke-color;\n\n    @if has-value($keystroke-radius) {\n      border-radius: $keystroke-radius;\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/typography/_helpers.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-helpers\n////\n\n/// Default font size for lead paragraphs.\n/// @type Number\n$lead-font-size: $global-font-size * 1.25 !default;\n\n/// Default line height for lead paragraphs.\n/// @type String\n$lead-lineheight: 1.6 !default;\n\n/// Default line height for subheaders.\n/// @type Number\n$subheader-lineheight: 1.4 !default;\n\n/// Default font color for subheaders.\n/// @type Color\n$subheader-color: $dark-gray !default;\n\n/// Default font weight for subheaders.\n/// @type String\n$subheader-font-weight: $global-weight-normal !default;\n\n/// Default top margin for subhheaders.\n/// @type Number\n$subheader-margin-top: 0.2rem !default;\n\n/// Default bottom margin for subheaders.\n/// @type Number\n$subheader-margin-bottom: 0.5rem !default;\n\n/// Default font size for statistic numbers.\n/// @type Number\n$stat-font-size: 2.5rem !default;\n\n@mixin foundation-typography-helpers {\n  // Use to create a subheading under a main header\n  // Make sure you pair the two elements in a <header> element, like this:\n  // <header>\n  //   <h1>Heading</h1>\n  //   <h2>Subheading</h2>\n  // </header>\n  .subheader {\n    margin-top: $subheader-margin-top;\n    margin-bottom: $subheader-margin-bottom;\n\n    font-weight: $subheader-font-weight;\n    line-height: $subheader-lineheight;\n    color: $subheader-color;\n  }\n\n  // Use to style an introductory lead, deck, blurb, etc.\n  .lead {\n    font-size: $lead-font-size;\n    line-height: $lead-lineheight;\n  }\n\n  // Use to style a large number to display a statistic\n  .stat {\n    font-size: $stat-font-size;\n    line-height: 1;\n\n    p + & {\n      margin-top: -1rem;\n    }\n  }\n\n  // Use to remove the bullets from an unordered list\n  .no-bullet {\n    margin-#{$global-left}: 0;\n    list-style: none;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/typography/_print.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// If `true`, all elements will have transparent backgrounds when printed, to save on ink.\n/// @type Boolean\n/// @group global\n$print-transparent-backgrounds: true !default;\n$print-hrefs: true !default;\n\n// sass-lint:disable-all\n\n@mixin foundation-print-styles {\n  .show-for-print { display: none !important; }\n\n  @media print {\n    * {\n      @if $print-transparent-backgrounds {\n        background: transparent !important;\n      }\n\n      box-shadow: none !important;\n\n      color: black !important; // Black prints faster: h5bp.com/s\n      text-shadow: none !important;\n    }\n\n    .show-for-print { display: block !important; }\n    .hide-for-print { display: none !important; }\n\n    table.show-for-print { display: table !important; }\n    thead.show-for-print { display: table-header-group !important; }\n    tbody.show-for-print { display: table-row-group !important; }\n    tr.show-for-print { display: table-row !important; }\n    td.show-for-print { display: table-cell !important; }\n    th.show-for-print { display: table-cell !important; }\n\n    // Display the URL of a link after the text\n    a,\n    a:visited { text-decoration: underline;}\n    @if $print-hrefs {\n      a[href]:after { content: ' (' attr(href) ')'; }\n    }\n\n    // Don't display the URL for images or JavaScript/internal links\n    .ir a:after,\n    a[href^='javascript:']:after,\n    a[href^='#']:after { content: ''; }\n\n    // Display what an abbreviation stands for after the text\n    abbr[title]:after { content: ' (' attr(title) ')'; }\n\n    // Prevent page breaks in the middle of a blockquote or preformatted text block\n    pre,\n    blockquote {\n      border: 1px solid $dark-gray;\n      page-break-inside: avoid;\n    }\n\n    // h5bp.com/t\n    thead { display: table-header-group; }\n\n    tr,\n    img { page-break-inside: avoid; }\n\n    img { max-width: 100% !important; }\n\n    @page { margin: 0.5cm; }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    // Avoid page breaks after a heading\n    h2,\n    h3 { page-break-after: avoid; }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/typography/_typography.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography\n////\n\n// Base typography styles (tags only)\n@import 'base';\n\n// Typography helper classes (classes only)\n@import 'helpers';\n\n// Text alignment classes\n@import 'alignment';\n\n// Print styles\n@import 'print';\n\n@mixin foundation-typography {\n  @include foundation-typography-base;\n  @include foundation-typography-helpers;\n  @include foundation-text-alignment;\n  @include foundation-print-styles;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_breakpoint.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n  small: 0,\n  medium: 640px,\n  large: 1024px,\n  xlarge: 1200px,\n  xxlarge: 1440px,\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n  @error 'Your smallest breakpoint (defined in $breakpoints) must be set to \"0\".';\n}\n@else {\n  $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n  // Size or keyword\n  $bp: nth($val, 1);\n  // Value for max-width media queries\n  $bp-max: 0;\n  // Direction of media query (up, down, or only)\n  $dir: if(length($val) > 1, nth($val, 2), up);\n  // Eventual output\n  $str: '';\n  // Is it a named media query?\n  $named: false;\n\n  // Orientation media queries have a unique syntax\n  @if $bp == 'landscape' or $bp == 'portrait' {\n    @return '(orientation: #{$bp})';\n  }\n  @else if $bp == 'retina' {\n    @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';\n  }\n\n  // Try to pull a named breakpoint out of the $breakpoints map\n  @if type-of($bp) == 'string' {\n    @if map-has-key($breakpoints, $bp) {\n      @if $dir == 'only' or $dir == 'down' {\n        $bp-max: -zf-map-next($breakpoints, $bp);\n      }\n\n      $bp: map-get($breakpoints, $bp);\n      $named: true;\n    }\n    @else {\n      $bp: 0;\n      @warn 'breakpoint(): \"#{$val}\" is not defined in your $breakpoints setting.';\n    }\n  }\n\n  // Convert any pixel, rem, or unitless value to em\n  $bp: -zf-bp-to-em($bp);\n  @if $bp-max {\n    $bp-max: -zf-bp-to-em($bp-max) - (1/16);\n  }\n\n  // Conditions to skip media query creation\n  // - It's a named breakpoint that resolved to \"0 down\" or \"0 up\"\n  // - It's a numeric breakpoint that resolved to \"0 \" + anything\n  @if $bp > 0em or $dir == 'only' or $dir == 'down' {\n    // `only` ranges use the format `(min-width: n) and (max-width: n)`\n    @if $dir == 'only' {\n      // Only named media queries can have an \"only\" range\n      @if $named == true {\n        // Only use \"min-width\" if the floor is greater than 0\n        @if $bp > 0em {\n          $str: $str + '(min-width: #{$bp})';\n\n          // Only add \"and\" to the media query if there's a ceiling\n          @if $bp-max != null {\n            $str: $str + ' and ';\n          }\n        }\n\n        // Only use \"max-width\" if there's a ceiling\n        @if $bp-max != null {\n          $str: $str + '(max-width: #{$bp-max})';\n        }\n      }\n      @else {\n        @warn 'breakpoint(): Only named media queries can have an `only` range.';\n      }\n    }\n\n    // `down` ranges use the format `(max-width: n)`\n    @else if $dir == 'down' {\n      $max: if($named, $bp-max, $bp);\n\n      // Skip media query creation if input value is exactly \"0 down\",\n      // unless the function was called as \"small down\", in which case it's just \"small only\"\n      @if $named or $bp > 0em {\n        @if $max != null {\n          $str: $str + '(max-width: #{$max})';\n        }\n      }\n    }\n\n    // `up` ranges use the format `(min-width: n)`\n    @else if $bp > 0em {\n      $str: $str + '(min-width: #{$bp})';\n    }\n  }\n\n  @return $str;\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n///  - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.\n///  - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n///  - If a rem value is passed, the unit will be changed to em.\n///  - If an em value is passed, the value will be used as-is.\n///\n/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($value) {\n  $str: breakpoint($value);\n  $bp: index($-zf-breakpoints-keys, $value);\n  $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n\n  // If $str is still an empty string, no media query is needed\n  @if $str == '' {\n    @content;\n  }\n\n  // Otherwise, wrap the content in a media query\n  @else {\n    // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n    @if $bp != null and $bp <= $pbp {\n      @media print, screen and #{$str} {\n        @content;\n       }\n    }\n    @else {\n      @media screen and #{$str} {\n        @content;\n      }\n    }\n  }\n}\n\n/// Convers the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `<meta>` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n  $str: '';\n  @each $key, $value in $map {\n    $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n  }\n  $str: str-slice($str, 1, -2);\n\n  @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n  // Store the keys of the map as a list\n  $values: map-keys($map);\n\n  $i: 0;\n\n  // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n  @if (map-has-key($map, $key)) {\n    $i: index($values, $key) + 1;\n  }\n\n  // If the key doesn't exist, or it's the last key in the map, return null\n  @if ($i > length($map) or $i == 0) {\n    @return null;\n  }\n  // Otherwise, return the value\n  @else {\n    @return map-get($map, nth($values, $i));\n  }\n\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n  // If the given map is a single value, return it\n  @if type-of($map) == 'number' {\n    @return $map;\n  }\n\n  // Check if the breakpoint name exists globally\n  @if not map-has-key($breakpoints, $value) {\n    @return null;\n  }\n  // Check if the breakpoint name exists in the local config map\n  @else if map-has-key($map, $value) {\n    // If it does, just return the value\n    @return map-get($map, $value);\n  }\n  // Otherwise, find the next lowest breakpoint and return that value\n  @else {\n    $anchor: null;\n    $found: false;\n\n    @each $key, $val in $breakpoints {\n      @if not $found {\n        @if map-has-key($map, $key) {\n          $anchor: $key;\n        }\n        @if $key == $value {\n          $found: true;\n        }\n      }\n    }\n\n    @return map-get($map, $anchor);\n  }\n}\n\n@if map-has-key($breakpoints, small) {\n  $small-up: screen;\n  $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n@if map-has-key($breakpoints, medium) {\n  $medium-up: unquote('screen and #{breakpoint(medium)}');\n  $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n@if map-has-key($breakpoints, large) {\n  $large-up: unquote('screen and #{breakpoint(large)}');\n  $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n@if map-has-key($breakpoints, xlarge) {\n  $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n  $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n@if map-has-key($breakpoints, xxlarge) {\n  $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_color.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'math';\n\n////\n/// @group functions\n////\n\n/// Checks the luminance of `$color`.\n///\n/// @param {Color} $color - Color to check the luminance of.\n///\n/// @returns {Number} The luminance of `$color`.\n@function color-luminance($color) {\n  // Adapted from: https://github.com/LeaVerou/contrast-ratio/blob/gh-pages/color.js\n  // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n  $rgba: red($color), green($color), blue($color);\n  $rgba2: ();\n\n  @for $i from 1 through 3 {\n    $rgb: nth($rgba, $i);\n    $rgb: $rgb / 255;\n\n    $rgb: if($rgb < 0.03928, $rgb / 12.92, pow(($rgb + 0.055) / 1.055, 2.4));\n\n    $rgba2: append($rgba2, $rgb);\n  }\n\n  @return 0.2126 * nth($rgba2, 1) + 0.7152 * nth($rgba2, 2) + 0.0722 * nth($rgba2, 3);\n}\n\n/// Checks the contrast ratio of two colors.\n///\n/// @param {Color} $color1 - First color to compare.\n/// @param {Color} $color2 - Second color to compare.\n///\n/// @returns {Number} The contrast ratio of the compared colors.\n@function color-contrast($color1, $color2) {\n  // Adapted from: https://github.com/LeaVerou/contrast-ratio/blob/gh-pages/color.js\n  // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n  $luminance1: color-luminance($color1) + 0.05;\n  $luminance2: color-luminance($color2) + 0.05;\n  $ratio: $luminance1 / $luminance2;\n\n  @if $luminance2 > $luminance1 {\n    $ratio: 1 / $ratio;\n  }\n\n  $ratio: round($ratio * 10) / 10;\n\n  @return $ratio;\n}\n\n/// Checks the luminance of `$base`, and returns the color from `$colors` (list of colors) that has the most contrast.\n///\n/// @param {Color} $color1 - First color to compare.\n/// @param {Color} $color2 - Second color to compare.\n///\n/// @returns {Number} The contrast ratio of the compared colors.\n@function color-pick-contrast($base, $colors: ($white, $black), $tolerance: 0) {\n  $contrast: color-contrast($base, nth($colors, 1));\n  $best: nth($colors, 1);\n\n  @for $i from 2 through length($colors) {\n    $current-contrast: color-contrast($base, nth($colors, $i));\n    @if ($current-contrast - $contrast > $tolerance) {\n      $contrast: color-contrast($base, nth($colors, $i));\n      $best: nth($colors, $i);\n    }\n  }\n\n  @if ($contrast < 3) {\n    @warn \"Contrast ratio of #{$best} on #{$base} is pretty bad, just #{$contrast}\";\n  }\n\n  @return $best;\n}\n\n/// Scales a color to be darker if it's light, or lighter if it's dark. Use this function to tint a color appropriate to its lightness.\n///\n/// @param {Color} $color - Color to scale.\n/// @param {Percentage} $scale [5%] - Amount to scale up or down.\n/// @param {Percentage} $threshold [40%] - Threshold of lightness to check against.\n///\n/// @returns {Color} A scaled color.\n@function smart-scale($color, $scale: 5%, $threshold: 40%) {\n  @if lightness($color) > $threshold {\n    $scale: -$scale;\n  }\n  @return scale-color($color, $lightness: $scale);\n}\n\n/// Get color from foundation-palette\n///\n/// @param {key} color key from foundation-palette\n///\n/// @returns {Color} color from foundation-palette\n@function get-color($key) {\n  @if map-has-key($foundation-palette, $key) {\n    @return map-get($foundation-palette, $key);\n  }\n  @else {\n    @error 'given $key is not available in $foundation-palette';\n  }\n}\n\n/// Transfers the colors in the `$foundation-palette`map into variables, such as `$primary-color` and `$secondary-color`. Call this mixin below the Global section of your settings file to properly migrate your codebase.\n@mixin add-foundation-colors() {\n  @if map-has-key($foundation-palette, primary) {\n    $primary-color: map-get($foundation-palette, primary) !global;\n  }\n  @if map-has-key($foundation-palette, secondary) {\n    $secondary-color: map-get($foundation-palette, secondary) !global;\n  }\n  @if map-has-key($foundation-palette, success) {\n    $success-color: map-get($foundation-palette, success) !global;\n  }\n  @if map-has-key($foundation-palette, warning) {\n    $warning-color: map-get($foundation-palette, warning) !global;\n  }\n  @if map-has-key($foundation-palette, alert) {\n    $alert-color: map-get($foundation-palette, alert) !global;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_flex.scss",
    "content": "$-zf-flex-justify: (\n  'left': flex-start,\n  'right': flex-end,\n  'center': center,\n  'justify': space-between,\n  'spaced': space-around,\n);\n\n$-zf-flex-align: (\n  'top': flex-start,\n  'bottom': flex-end,\n  'middle': center,\n  'stretch': stretch,\n);\n\n$-zf-flex-direction: (\n  'row': row,\n  'row-reverse': row-reverse,\n  'column': column,\n  'column-reverse': column-reverse,\n);\n\n/// Enables flexbox by adding `display: flex` to the element.\n@mixin flex {\n  display: flex;\n}\n\n/// Horizontally or vertically aligns the items within a flex container.\n///\n/// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align($x: null, $y: null) {\n  @if $x {\n    @if map-has-key($-zf-flex-justify, $x) {\n      $x: map-get($-zf-flex-justify, $x);\n    }\n    @else {\n      @warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.';\n    }\n  }\n\n  @if $y {\n    @if map-has-key($-zf-flex-align, $y) {\n      $y: map-get($-zf-flex-align, $y);\n    }\n    @else {\n      @warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.';\n    }\n  }\n\n  justify-content: $x;\n  align-items: $y;\n}\n\n/// Vertically align a single column within a flex row. Apply this mixin to a flex column.\n///\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align-self($y: null) {\n  @if $y {\n    @if map-has-key($-zf-flex-align, $y) {\n      $y: map-get($-zf-flex-align, $y);\n    }\n    @else {\n      @warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.';\n    }\n  }\n\n  align-self: $y;\n}\n\n/// Changes the source order of a flex child. Children with lower numbers appear first in the layout.\n/// @param {Number} $order [0] - Order number to apply.\n@mixin flex-order($order: 0) {\n  order: $order;\n}\n\n/// Change flex-direction\n/// @param {Keyword} $direction [row] - Flex direction to use. Can be\n///   - row (default): same as text direction\n///   - row-reverse: opposite to text direction\n///   - column: same as row but top to bottom\n///   - column-reverse: same as row-reverse top to bottom\n@mixin flex-direction($direction: row) {\n  flex-direction: $direction;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_math.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Finds the greatest common divisor of two integers.\n///\n/// @param {Number} $a - First number to compare.\n/// @param {Number} $b - Second number to compare.\n///\n/// @returns {Number} The greatest common divisor.\n@function gcd($a, $b) {\n  // From: http://rosettacode.org/wiki/Greatest_common_divisor#JavaScript\n  @if ($b != 0) {\n    @return gcd($b, $a % $b);\n  }\n  @else {\n    @return abs($a);\n  }\n}\n\n/// Handles decimal exponents by trying to convert them into a fraction and then use a nth-root-algorithm for parts of the calculation\n///\n/// @param {Number} $base - The base number.\n/// @param {Number} $exponent - The exponent.\n///\n/// @returns {Number} The product of the exponentiation.\n@function pow($base, $exponent, $prec: 12) {\n  @if (floor($exponent) != $exponent) {\n    $prec2 : pow(10, $prec);\n    $exponent: round($exponent * $prec2);\n    $denominator: gcd($exponent, $prec2);\n    @return nth-root(pow($base, $exponent / $denominator), $prec2 / $denominator, $prec);\n  }\n\n  $value: $base;\n  @if $exponent > 1 {\n    @for $i from 2 through $exponent {\n      $value: $value * $base;\n    }\n  }\n  @else if $exponent < 1 {\n    @for $i from 0 through -$exponent {\n      $value: $value / $base;\n    }\n  }\n\n  @return $value;\n}\n\n@function nth-root($num, $n: 2, $prec: 12) {\n  // From: http://rosettacode.org/wiki/Nth_root#JavaScript\n  $x: 1;\n\n  @for $i from 0 through $prec {\n    $x: 1 / $n * (($n - 1) * $x + ($num / pow($x, $n - 1)));\n  }\n\n  @return $x;\n}\n\n/// Calculates the height as a percentage of the width for a given ratio.\n/// @param {List} $ratio - Ratio to use to calculate the height, formatted as `x by y`.\n/// @return {Number} A percentage value for the height relative to the width of a responsive container.\n@function ratio-to-percentage($ratio) {\n  $w: nth($ratio, 1);\n  $h: nth($ratio, 3);\n  @return $h / $w * 100%;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_mixins.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Creates a CSS triangle, which can be used for dropdown arrows, dropdown pips, and more. Use this mixin inside a `&::before` or `&::after` selector, to attach the triangle to an existing element.\n///\n/// @param {Number} $triangle-size - Width of the triangle.\n/// @param {Color} $triangle-color - Color of the triangle.\n/// @param {Keyword} $triangle-direction - Direction the triangle points. Can be `up`, `right`, `down`, or `left`.\n@mixin css-triangle(\n  $triangle-size,\n  $triangle-color,\n  $triangle-direction\n) {\n  display: block;\n  width: 0;\n  height: 0;\n\n  border: inset $triangle-size;\n\n  content: '';\n\n  @if ($triangle-direction == down) {\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: $triangle-color transparent transparent;\n  }\n  @if ($triangle-direction == up) {\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent $triangle-color;\n  }\n  @if ($triangle-direction == right) {\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent $triangle-color;\n  }\n  @if ($triangle-direction == left) {\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent $triangle-color transparent transparent;\n  }\n}\n\n/// Creates a menu icon with a set width, height, number of bars, and colors. The mixin uses the height of the icon and the weight of the bars to determine spacing. <div class=\"docs-example-burger\"></div>\n///\n/// @param {Color} $color [$black] - Color to use for the icon.\n/// @param {Color} $color-hover [$dark-gray] - Color to use when the icon is hovered over.\n/// @param {Number} $width [20px] - Width of the icon.\n/// @param {Number} $height [16px] - Height of the icon.\n/// @param {Number} $weight [2px] - Height of individual bars in the icon.\n/// @param {Number} $bars [3] - Number of bars in the icon.\n@mixin hamburger(\n  $color: $black,\n  $color-hover: $dark-gray,\n  $width: 20px,\n  $height: 16px,\n  $weight: 2px,\n  $bars: 3\n) {\n  // box-shadow CSS output\n  $shadow: ();\n  $hover-shadow: ();\n\n  // Spacing between bars is calculated based on the total height of the icon and the weight of each bar\n  $spacing: ($height - ($weight * $bars)) / ($bars - 1);\n\n  @if unit($spacing) == 'px' {\n    $spacing: floor($spacing);\n  }\n\n  @for $i from 2 through $bars {\n    $offset: ($weight + $spacing) * ($i - 1);\n    $shadow: append($shadow, 0 $offset 0 $color, comma);\n  }\n\n  // Icon container\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: $width;\n  height: $height;\n  cursor: pointer;\n\n  // Icon bars\n  &::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n\n    display: block;\n    width: 100%;\n    height: $weight;\n\n    background: $color;\n    box-shadow: $shadow;\n\n    content: '';    \n  }\n\n  // Hover state\n  @if $color-hover {\n    // Generate CSS\n    @for $i from 2 through $bars {\n      $offset: ($weight + $spacing) * ($i - 1);\n      $hover-shadow: append($hover-shadow, 0 $offset 0 $color-hover, comma);\n    }\n\n    &:hover::after {\n      background: $color-hover;\n      box-shadow: $hover-shadow;\n    }\n  }\n}\n\n/// Adds a downward-facing triangle as a background image to an element. The image is formatted as an SVG, making it easy to change the color. Because Internet Explorer doesn't support encoded SVGs as background images, a PNG fallback is also included.\n/// There are two PNG fallbacks: a black triangle and a white triangle. The one used depends on the lightness of the input color.\n///\n/// @param {Color} $color [$black] - Color to use for the triangle.\n@mixin background-triangle($color: $black) {\n  $rgb: 'rgb%28#{round(red($color))}, #{round(green($color))}, #{round(blue($color))}%29';\n\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>\");\n\n  @media screen and (min-width:0\\0) {\n    @if lightness($color) < 60% {\n      // White triangle\n      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');\n    }\n    @else {\n      // Black triangle\n      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==');\n    }\n  }\n}\n\n/// Applies the micro clearfix hack popularized by Nicolas Gallagher. Include this mixin on a container if its children are all floated, to give the container a proper height.\n/// The clearfix is augmented with specific styles to prevent borders in flexbox environments\n/// @link http://nicolasgallagher.com/micro-clearfix-hack/ Micro Clearfix Hack\n/// @link http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/ Flexbox fix\n@mixin clearfix {\n  &::before,\n  &::after {\n    display: table;\n    content: ' ';\n\n    @if $global-flexbox {\n      flex-basis: 0;\n      order: 1;\n    }\n  }\n\n  &::after {\n    clear: both;\n  }\n}\n\n/// Adds CSS for a \"quantity query\" selector that automatically sizes elements based on how many there are inside a container.\n/// @link http://alistapart.com/article/quantity-queries-for-css Quantity Queries for CSS\n///\n/// @param {Number} $max - Maximum number of items to detect. The higher this number is, the more CSS that's required to cover each number of items.\n/// @param {Keyword} $elem [li] - Tag to use for sibling selectors.\n@mixin auto-width($max, $elem: li) {\n  @for $i from 2 through $max {\n    &:nth-last-child(#{$i}):first-child,\n    &:nth-last-child(#{$i}):first-child ~ #{$elem} {\n      width: percentage(1 / $i);\n    }\n  }\n}\n\n/// Removes the focus ring around an element when a mouse input is detected.\n@mixin disable-mouse-outline {\n  [data-whatinput='mouse'] & {\n    outline: 0;\n  }\n}\n\n/// Makes an element visually hidden, but still accessible to keyboards and assistive devices.\n/// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility Hiding Content for Accessibility\n@mixin element-invisible {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n}\n\n/// Reverses the CSS output created by the `element-invisible()` mixin.\n@mixin element-invisible-off {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n}\n\n/// Vertically centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin vertical-center {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/// Horizontally centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin horizontal-center {\n  position: absolute;\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/// Absolutely centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin absolute-center {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n/// Iterates through breakpoints defined in `$breakpoint-classes` and prints the CSS inside the mixin at each breakpoint's media query. Use this with the grid, or any other component that has responsive classes.\n///\n/// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.\n@mixin -zf-each-breakpoint($small: true) {\n  $list: $breakpoint-classes;\n\n  @if not $small {\n    $list: sl-remove($list, $-zf-zero-breakpoint);\n  }\n\n  @each $name in $list {\n    $-zf-size: $name !global;\n\n    @include breakpoint($name) {\n      @content;\n    }\n  }\n}\n\n/// Generate the `@content` passed to the mixin with a value `$-zf-bp-value` related to a breakpoint, depending on the `$name` parameter:\n/// - For a single value, `$-zf-bp-value` is this value.\n/// - For a breakpoint name, `$-zf-bp-value` is the corresponding breakpoint value in `$map`.\n/// - For \"auto\", `$-zf-bp-value` is the corresponding breakpoint value in `$map` and is passed to `@content`, which is made responsive for each breakpoint of `$map`.\n/// @param {Number|Keyword} $name [auto] - Single value or breakpoint name to use. \"auto\" by default.\n/// @param {Number|Map} $map - Map of breakpoints and values or single value to use.\n@mixin -zf-breakpoint-value(\n  $name: auto,\n  $map: null\n) {\n  @if $name == auto and type-of($map) == 'map' {\n    // \"auto\"\n    @each $k, $v in $map {\n      @include breakpoint($k) {\n        @include -zf-breakpoint-value($v, $map) {\n          @content;\n        }\n      }\n    }\n  }\n  @else {\n    // breakpoint name\n    @if type-of($name) == 'string' {\n      $name: -zf-get-bp-val($map, $name);\n    }\n\n    // breakpoint value\n    $-zf-bp-value: $name !global;\n    @content;\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_selector.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.\n///\n/// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.\n/// @param {Keyword} $modifier [''] - A modifier to be applied to each text input type (e.g. a class or a pseudo-class). Leave blank to ignore.\n@function text-inputs($types: (), $modifier: '') {\n  $return: ();\n\n  $all-types:\n    text\n    password\n    date\n    datetime\n    datetime-local\n    month\n    week\n    email\n    number\n    search\n    tel\n    time\n    url\n    color;\n\n  @if not has-value($types) {\n    $types: $all-types;\n  }\n\n  @each $type in $types {\n    $return: append($return, unquote('[type=\\'#{$type}\\']#{$modifier}'), comma);\n  }\n\n  @return $return;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_unit.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n$global-font-size: 100% !default;\n\n/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.\n///\n/// @param {Number} $num - Number to strip unit from.\n///\n/// @returns {Number} The same number, sans unit.\n@function strip-unit($num) {\n  @return $num / ($num * 0 + 1);\n}\n\n/// Converts one or more pixel values into matching rem values.\n///\n/// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.\n/// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.\n///\n/// @returns {List} A list of converted values.\n@function rem-calc($values, $base: null) {\n  $rem-values: ();\n  $count: length($values);\n\n  // If no base is defined, defer to the global font size\n  @if $base == null {\n    $base: $global-font-size;\n  }\n\n  // If the base font size is a %, then multiply it by 16px\n  // This is because 100% font size = 16px in most all browsers\n  @if unit($base) == '%' {\n    $base: ($base / 100%) * 16px;\n  }\n\n  // Using rem as base allows correct scaling\n  @if unit($base) == 'rem' {\n    $base: strip-unit($base) * 16px;\n  }\n\n  @if $count == 1 {\n    @return -zf-to-rem($values, $base);\n  }\n\n  @for $i from 1 through $count {\n    $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));\n  }\n\n  @return $rem-values;\n}\n\n// Converts a unitless, pixel, or rem value to em, for use in breakpoints.\n@function -zf-bp-to-em($value) {\n  // Pixel and unitless values are converted to rems\n  @if unit($value) == 'px' or unitless($value) {\n    $value: rem-calc($value, $base: 16px);\n  }\n\n  // Then the value is converted to ems\n  @return strip-unit($value) * 1em;\n}\n\n/// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.\n/// @access private\n///\n/// @param {Number} $value - Pixel value to convert.\n/// @param {Number} $base [null] - Base for pixel conversion.\n///\n/// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.\n@function -zf-to-rem($value, $base: null) {\n  // Check if the value is a number\n  @if type-of($value) != 'number' {\n    @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';\n    @return $value;\n  }\n\n  // Transform em into rem if someone hands over 'em's\n  @if unit($value) == 'em' {\n    $value: strip-unit($value) * 1rem;\n  }\n\n  // Calculate rem if units for $value is not rem or em\n  @if unit($value) != 'rem' {\n    $value: strip-unit($value) / strip-unit($base) * 1rem;\n  }\n\n  // Turn 0rem into 0\n  @if $value == 0rem {\n    $value: 0;\n  }\n\n  @return $value;\n}\n\n/// Converts a pixel, percentage, rem or em value to a unitless value based on a given font size. Ideal for working out unitless line heights.\n///\n/// @param {Number} $value - Value to convert to a unitless line height\n/// @param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size\n///\n/// @return {Number} - Unitless number\n@function unitless-calc($value, $base: null) {\n\n  // If no base is defined, defer to the global font size\n  @if $base == null {\n    $base: $global-font-size;\n  }\n\n  // First, lets convert our $base to pixels\n\n  // If the base font size is a %, then multiply it by 16px\n  @if unit($base) == '%' {\n    $base: ($base / 100%) * 16px;\n  }\n\n  @if unit($base) == 'rem' {\n    $base: strip-unit($base) * 16px;\n  }\n\n  @if unit($base) == 'em' {\n    $base: strip-unit($base) * 16px;\n  }\n\n  // Now lets convert our value to pixels too\n  @if unit($value) == '%' {\n    $value: ($value / 100%) * $base;\n  }\n\n  @if unit($value) == 'rem' {\n    $value: strip-unit($value) * $base;\n  }\n\n  @if unit($value) == 'em' {\n    $value: strip-unit($value) * $base;\n  }\n\n  // 'px'\n  @if unit($value) == 'px' {\n    @return strip-unit($value) / strip-unit($base);\n  }\n\n  // assume that line-heights greatern then 10 are meant to be absolute in 'px'\n  @if unitless($value) and ($value > 10) {\n    @return $value / strip-unit($base);\n  }\n\n  @return $value;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_util.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@import 'math';\n@import 'unit';\n@import 'value';\n@import 'color';\n@import 'selector';\n@import 'flex';\n@import 'breakpoint';\n@import 'mixins';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/foundation-sites/scss/util/_value.scss",
    "content": "// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Determine if a value is not falsey, in CSS terms. Falsey values are `null`, `none`, `0` with any unit, or an empty list.\n///\n/// @param {Mixed} $val - Value to check.\n///\n/// @returns {Boolean} `true` if `$val` is not falsey.\n@function has-value($val) {\n  @if $val == null or $val == none {\n    @return false;\n  }\n  @if type-of($val) == 'number' and strip-unit($val) == 0 {\n    @return false;\n  }\n  @if type-of($val) == 'list' and length($val) == 0 {\n    @return false;\n  }\n  @return true;\n}\n\n/// Determine a top/right/bottom/right value on a padding, margin, etc. property, no matter how many values were passed in. Use this function if you need to know the specific side of a value, but don't know if the value is using a shorthand format.\n///\n/// @param {List|Number} $val - Value to analyze. Should be a shorthand sizing property, e.g. \"1em 2em 1em\"\n/// @param {Keyword} $side - Side to return. Should be `top`, `right`, `bottom`, or `left`.\n///\n/// @returns {Number} A single value based on `$val` and `$side`.\n@function get-side($val, $side) {\n  $length: length($val);\n\n  @if $length == 1 {\n    @return $val;\n  }\n  @if $length == 2 {\n    @return map-get((\n      top: nth($val, 1),\n      bottom: nth($val, 1),\n      left: nth($val, 2),\n      right: nth($val, 2),\n    ), $side);\n  }\n  @if $length == 3 {\n    @return map-get((\n      top: nth($val, 1),\n      left: nth($val, 2),\n      right: nth($val, 2),\n      bottom: nth($val, 3),\n    ), $side);\n  }\n  @if $length == 4 {\n    @return map-get((\n      top: nth($val, 1),\n      right: nth($val, 2),\n      bottom: nth($val, 3),\n      left: nth($val, 4),\n    ), $side);\n  }\n}\n\n/// Given border $val, find a specific element of the border, which is $elem. The possible values for $elem are width, style, and color.\n///\n/// @param {List} $val - Border value to find a value in.\n/// @param {Keyword} $elem - Border component to extract.\n///\n/// @returns {Mixed} If the value exists, returns the value. If the value is not in the border definition, the function will return a 0px width, solid style, or black border.\n@function get-border-value($val, $elem) {\n  // Find the width, style, or color and return it\n  @each $v in $val {\n    $type: type-of($v);\n    @if $elem == width and $type == 'number' {\n      @return $v;\n    }\n    @if $elem == style and $type == 'string' {\n      @return $v;\n    }\n    @if $elem == color and $type == 'color' {\n      @return $v;\n    }\n  }\n\n  // Defaults\n  $defaults: (\n    width: 0,\n    style: solid,\n    color: #000,\n  );\n\n  @return map-get($defaults, $elem);\n}\n\n/// Finds a value in a nested map.\n/// @link https://css-tricks.com/snippets/sass/deep-getset-maps/ Deep Get/Set in Maps\n///\n/// @param {Map} $map - Map to pull a value from.\n/// @param {String} $keys... - Keys to use when looking for a value.\n/// @returns {Mixed} The value found in the map.\n@function map-deep-get($map, $keys...) {\n  @each $key in $keys {\n    $map: map-get($map, $key);\n  }\n  @return $map;\n}\n\n/// Casts a map into a list.\n/// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/\n///\n/// @param {Map} $map - Map to pull a value from.\n///\n/// @returns {List} Depending on the flag, returns either $keys or $values or both.\n@function map-to-list($map, $keep: 'both') {\n  $keep: if(index('keys' 'values', $keep), $keep, 'both');\n\n  @if type-of($map) == 'map' {\n    $keys: ();\n    $values: ();\n\n    @each $key, $val in $map {\n      $keys: append($keys, $key);\n      $values: append($values, $val);\n    }\n\n    @if $keep == 'keys' {\n      @return $keys;\n    }\n    @else if $keep == 'values' {\n      @return $values;\n    }\n    @else {\n      @return zip($keys, $values);\n    }\n  }\n\n  @return if(type-of($map) != 'list', ($value,), $map);\n\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/.bower.json",
    "content": "{\n  \"name\": \"jquery\",\n  \"main\": \"dist/jquery.js\",\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"package.json\"\n  ],\n  \"keywords\": [\n    \"jquery\",\n    \"javascript\",\n    \"browser\",\n    \"library\"\n  ],\n  \"homepage\": \"https://github.com/jquery/jquery-dist\",\n  \"version\": \"2.2.4\",\n  \"_release\": \"2.2.4\",\n  \"_resolution\": {\n    \"type\": \"version\",\n    \"tag\": \"2.2.4\",\n    \"commit\": \"c0185ab7c75aab88762c5aae780b9d83b80eda72\"\n  },\n  \"_source\": \"https://github.com/jquery/jquery-dist.git\",\n  \"_target\": \"~2.2.0\",\n  \"_originalSource\": \"jquery\"\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/AUTHORS.txt",
    "content": "Authors ordered by first contribution.\n\nJohn Resig <jeresig@gmail.com>\nGilles van den Hoven <gilles0181@gmail.com>\nMichael Geary <mike@geary.com>\nStefan Petre <stefan.petre@gmail.com>\nYehuda Katz <wycats@gmail.com>\nCorey Jewett <cj@syntheticplayground.com>\nKlaus Hartl <klaus.hartl@gmail.com>\nFranck Marcia <franck.marcia@gmail.com>\nJörn Zaefferer <joern.zaefferer@gmail.com>\nPaul Bakaus <paul.bakaus@gmail.com>\nBrandon Aaron <brandon.aaron@gmail.com>\nMike Alsup <malsup@gmail.com>\nDave Methvin <dave.methvin@gmail.com>\nEd Engelhardt <edengelhardt@gmail.com>\nSean Catchpole <littlecooldude@gmail.com>\nPaul Mclanahan <pmclanahan@gmail.com>\nDavid Serduke <davidserduke@gmail.com>\nRichard D. Worth <rdworth@gmail.com>\nScott González <scott.gonzalez@gmail.com>\nAriel Flesler <aflesler@gmail.com>\nJon Evans <jon@springyweb.com>\nTJ Holowaychuk <tj@vision-media.ca>\nMichael Bensoussan <mickey@seesmic.com>\nRobert Katić <robert.katic@gmail.com>\nLouis-Rémi Babé <lrbabe@gmail.com>\nEarle Castledine <mrspeaker@gmail.com>\nDamian Janowski <damian.janowski@gmail.com>\nRich Dougherty <rich@rd.gen.nz>\nKim Dalsgaard <kim@kimdalsgaard.com>\nAndrea Giammarchi <andrea.giammarchi@gmail.com>\nMark Gibson <jollytoad@gmail.com>\nKarl Swedberg <kswedberg@gmail.com>\nJustin Meyer <justinbmeyer@gmail.com>\nBen Alman <cowboy@rj3.net>\nJames Padolsey <cla@padolsey.net>\nDavid Petersen <public@petersendidit.com>\nBatiste Bieler <batiste.bieler@gmail.com>\nAlexander Farkas <info@corrupt-system.de>\nRick Waldron <waldron.rick@gmail.com>\nFilipe Fortes <filipe@fortes.com>\nNeeraj Singh <neerajdotname@gmail.com>\nPaul Irish <paul.irish@gmail.com>\nIraê Carvalho <irae@irae.pro.br>\nMatt Curry <matt@pseudocoder.com>\nMichael Monteleone <michael@michaelmonteleone.net>\nNoah Sloan <noah.sloan@gmail.com>\nTom Viner <github@viner.tv>\nDouglas Neiner <doug@dougneiner.com>\nAdam J. Sontag <ajpiano@ajpiano.com>\nDave Reed <dareed@microsoft.com>\nRalph Whitbeck <ralph.whitbeck@gmail.com>\nCarl Fürstenberg <azatoth@gmail.com>\nJacob Wright <jacwright@gmail.com>\nJ. Ryan Stinnett <jryans@gmail.com>\nunknown <Igen005@.upcorp.ad.uprr.com>\ntemp01 <temp01irc@gmail.com>\nHeungsub Lee <h@subl.ee>\nColin Snover <github.com@zetafleet.com>\nRyan W Tenney <ryan@10e.us>\nPinhook <contact@pinhooklabs.com>\nRon Otten <r.j.g.otten@gmail.com>\nJephte Clain <Jephte.Clain@univ-reunion.fr>\nAnton Matzneller <obhvsbypqghgc@gmail.com>\nAlex Sexton <AlexSexton@gmail.com>\nDan Heberden <danheberden@gmail.com>\nHenri Wiechers <hwiechers@gmail.com>\nRussell Holbrook <russell.holbrook@patch.com>\nJulian Aubourg <aubourg.julian@gmail.com>\nGianni Alessandro Chiappetta <gianni@runlevel6.org>\nScott Jehl <scottjehl@gmail.com>\nJames Burke <jrburke@gmail.com>\nJonas Pfenniger <jonas@pfenniger.name>\nXavi Ramirez <xavi.rmz@gmail.com>\nJared Grippe <jared@deadlyicon.com>\nSylvester Keil <sylvester@keil.or.at>\nBrandon Sterne <bsterne@mozilla.com>\nMathias Bynens <mathias@qiwi.be>\nTimmy Willison <timmywillisn@gmail.com>\nCorey Frang <gnarf37@gmail.com>\nDigitalxero <digitalxero>\nAnton Kovalyov <anton@kovalyov.net>\nDavid Murdoch <david@davidmurdoch.com>\nJosh Varner <josh.varner@gmail.com>\nCharles McNulty <cmcnulty@kznf.com>\nJordan Boesch <jboesch26@gmail.com>\nJess Thrysoee <jess@thrysoee.dk>\nMichael Murray <m@murz.net>\nLee Carpenter <elcarpie@gmail.com>\nAlexis Abril <me@alexisabril.com>\nRob Morgan <robbym@gmail.com>\nJohn Firebaugh <john_firebaugh@bigfix.com>\nSam Bisbee <sam@sbisbee.com>\nGilmore Davidson <gilmoreorless@gmail.com>\nBrian Brennan <me@brianlovesthings.com>\nXavier Montillet <xavierm02.net@gmail.com>\nDaniel Pihlstrom <sciolist.se@gmail.com>\nSahab Yazdani <sahab.yazdani+github@gmail.com>\navaly <github-com@agachi.name>\nScott Hughes <hi@scott-hughes.me>\nMike Sherov <mike.sherov@gmail.com>\nGreg Hazel <ghazel@gmail.com>\nSchalk Neethling <schalk@ossreleasefeed.com>\nDenis Knauf <Denis.Knauf@gmail.com>\nTimo Tijhof <krinklemail@gmail.com>\nSteen Nielsen <swinedk@gmail.com>\nAnton Ryzhov <anton@ryzhov.me>\nShi Chuan <shichuanr@gmail.com>\nBerker Peksag <berker.peksag@gmail.com>\nToby Brain <tobyb@freshview.com>\nMatt Mueller <mattmuelle@gmail.com>\nJustin <drakefjustin@gmail.com>\nDaniel Herman <daniel.c.herman@gmail.com>\nOleg Gaidarenko <markelog@gmail.com>\nRichard Gibson <richard.gibson@gmail.com>\nRafaël Blais Masson <rafbmasson@gmail.com>\ncmc3cn <59194618@qq.com>\nJoe Presbrey <presbrey@gmail.com>\nSindre Sorhus <sindresorhus@gmail.com>\nArne de Bree <arne@bukkie.nl>\nVladislav Zarakovsky <vlad.zar@gmail.com>\nAndrew E Monat <amonat@gmail.com>\nOskari <admin@o-programs.com>\nJoao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>\ntsinha <tsinha@Anthonys-MacBook-Pro.local>\nMatt Farmer <matt@frmr.me>\nTrey Hunner <treyhunner@gmail.com>\nJason Moon <jmoon@socialcast.com>\nJeffery To <jeffery.to@gmail.com>\nKris Borchers <kris.borchers@gmail.com>\nVladimir Zhuravlev <private.face@gmail.com>\nJacob Thornton <jacobthornton@gmail.com>\nChad Killingsworth <chadkillingsworth@missouristate.edu>\nNowres Rafid <nowres.rafed@gmail.com>\nDavid Benjamin <davidben@mit.edu>\nUri Gilad <antishok@gmail.com>\nChris Faulkner <thefaulkner@gmail.com>\nElijah Manor <elijah.manor@gmail.com>\nDaniel Chatfield <chatfielddaniel@gmail.com>\nNikita Govorov <nikita.govorov@gmail.com>\nWesley Walser <waw325@gmail.com>\nMike Pennisi <mike@mikepennisi.com>\nMarkus Staab <markus.staab@redaxo.de>\nDave Riddle <david@joyvuu.com>\nCallum Macrae <callum@lynxphp.com>\nBenjamin Truyman <bentruyman@gmail.com>\nJames Huston <james@jameshuston.net>\nErick Ruiz de Chávez <erickrdch@gmail.com>\nDavid Bonner <dbonner@cogolabs.com>\nAkintayo Akinwunmi <aakinwunmi@judge.com>\nMORGAN <morgan@morgangraphics.com>\nIsmail Khair <ismail.khair@gmail.com>\nCarl Danley <carldanley@gmail.com>\nMike Petrovich <michael.c.petrovich@gmail.com>\nGreg Lavallee <greglavallee@wapolabs.com>\nDaniel Gálvez <dgalvez@editablething.com>\nSai Lung Wong <sai.wong@huffingtonpost.com>\nTom H Fuertes <TomFuertes@gmail.com>\nRoland Eckl <eckl.roland@googlemail.com>\nJay Merrifield <fracmak@gmail.com>\nAllen J Schmidt Jr <cobrasoft@gmail.com>\nJonathan Sampson <jjdsampson@gmail.com>\nMarcel Greter <marcel.greter@ocbnet.ch>\nMatthias Jäggli <matthias.jaeggli@gmail.com>\nDavid Fox <dfoxinator@gmail.com>\nYiming He <yiminghe@gmail.com>\nDevin Cooper <cooper.semantics@gmail.com>\nPaul Ramos <paul.b.ramos@gmail.com>\nRod Vagg <rod@vagg.org>\nBennett Sorbo <bsorbo@gmail.com>\nSebastian Burkhard <sebi.burkhard@gmail.com>\nZachary Adam Kaplan <razic@viralkitty.com>\nnanto_vi <nanto@moon.email.ne.jp>\nnanto <nanto@moon.email.ne.jp>\nDanil Somsikov <danilasomsikov@gmail.com>\nRyunosuke SATO <tricknotes.rs@gmail.com>\nJean Boussier <jean.boussier@gmail.com>\nAdam Coulombe <me@adam.co>\nAndrew Plummer <plummer.andrew@gmail.com>\nMark Raddatz <mraddatz@gmail.com>\nIsaac Z. Schlueter <i@izs.me>\nKarl Sieburg <ksieburg@yahoo.com>\nPascal Borreli <pascal@borreli.com>\nNguyen Phuc Lam <ruado1987@gmail.com>\nDmitry Gusev <dmitry.gusev@gmail.com>\nMichał Gołębiowski <m.goleb@gmail.com>\nLi Xudong <istonelee@gmail.com>\nSteven Benner <admin@stevenbenner.com>\nTom H Fuertes <tomfuertes@gmail.com>\nRenato Oliveira dos Santos <ros3@cin.ufpe.br>\nros3cin <ros3@cin.ufpe.br>\nJason Bedard <jason+jquery@jbedard.ca>\nKyle Robinson Young <kyle@dontkry.com>\nChris Talkington <chris@talkingtontech.com>\nEddie Monge <eddie@eddiemonge.com>\nTerry Jones <terry@jon.es>\nJason Merino <jasonmerino@gmail.com>\nJeremy Dunck <jdunck@gmail.com>\nChris Price <price.c@gmail.com>\nGuy Bedford <guybedford@gmail.com>\nAmey Sakhadeo <me@ameyms.com>\nMike Sidorov <mikes.ekb@gmail.com>\nAnthony Ryan <anthonyryan1@gmail.com>\nDominik D. Geyer <dominik.geyer@gmail.com>\nGeorge Kats <katsgeorgeek@gmail.com>\nLihan Li <frankieteardrop@gmail.com>\nRonny Springer <springer.ronny@gmail.com>\nChris Antaki <ChrisAntaki@gmail.com>\nMarian Sollmann <marian.sollmann@cargomedia.ch>\nnjhamann <njhamann@gmail.com>\nIlya Kantor <iliakan@gmail.com>\nDavid Hong <d.hong@me.com>\nJohn Paul <john@johnkpaul.com>\nJakob Stoeck <jakob@pokermania.de>\nChristopher Jones <chris@cjqed.com>\nForbes Lindesay <forbes@lindesay.co.uk>\nS. Andrew Sheppard <andrew@wq.io>\nLeonardo Balter <leonardo.balter@gmail.com>\nRoman Reiß <me@silverwind.io>\nBenjy Cui <benjytrys@gmail.com>\nRodrigo Rosenfeld Rosas <rr.rosas@gmail.com>\nJohn Hoven <hovenj@gmail.com>\nPhilip Jägenstedt <philip@foolip.org>\nChristian Kosmowski <ksmwsk@gmail.com>\nLiang Peng <poppinlp@gmail.com>\nTJ VanToll <tj.vantoll@gmail.com>\nSenya Pugach <upisfree@outlook.com>\nAurelio De Rosa <aurelioderosa@gmail.com>\nNazar Mokrynskyi <nazar@mokrynskyi.com>\nAmit Merchant <bullredeyes@gmail.com>\nJason Bedard <jason+github@jbedard.ca>\nArthur Verschaeve <contact@arthurverschaeve.be>\nDan Hart <danhart@notonthehighstreet.com>\nBin Xin <rhyzix@gmail.com>\nDavid Corbacho <davidcorbacho@gmail.com>\nVeaceslav Grimalschi <grimalschi@yandex.ru>\nDaniel Husar <dano.husar@gmail.com>\nFrederic Hemberger <mail@frederic-hemberger.de>\nBen Toews <mastahyeti@gmail.com>\nAditya Raghavan <araghavan3@gmail.com>\nVictor Homyakov <vkhomyackov@gmail.com>\nShivaji Varma <contact@shivajivarma.com>\nNicolas HENRY <icewil@gmail.com>\nAnne-Gaelle Colom <coloma@westminster.ac.uk>\nGeorge Mauer <gmauer@gmail.com>\nLeonardo Braga <leonardo.braga@gmail.com>\nStephen Edgar <stephen@netweb.com.au>\nThomas Tortorini <thomastortorini@gmail.com>\nWinston Howes <winstonhowes@gmail.com>\nJon Hester <jon.d.hester@gmail.com>\nAlexander O'Mara <me@alexomara.com>\nBastian Buchholz <buchholz.bastian@googlemail.com>\nArthur Stolyar <nekr.fabula@gmail.com>\nCalvin Metcalf <calvin.metcalf@gmail.com>\nMu Haibao <mhbseal@163.com>\nRichard McDaniel <rm0026@uah.edu>\nChris Rebert <github@rebertia.com>\nGabriel Schulhof <gabriel.schulhof@intel.com>\nGilad Peleg <giladp007@gmail.com>\nMartin Naumann <martin@geekonaut.de>\nMarek Lewandowski <m.lewandowski@cksource.com>\nBruno Pérel <brunoperel@gmail.com>\nReed Loden <reed@reedloden.com>\nDaniel Nill <daniellnill@gmail.com>\nYongwoo Jeon <yongwoo.jeon@navercorp.com>\nSean Henderson <seanh.za@gmail.com>\nRichard Kraaijenhagen <stdin+git@riichard.com>\nConnor Atherton <c.liam.atherton@gmail.com>\nGary Ye <garysye@gmail.com>\nChristian Grete <webmaster@christiangrete.com>\nLiza Ramo <liza.h.ramo@gmail.com>\nJulian Alexander Murillo <julian.alexander.murillo@gmail.com>\nJoelle Fleurantin <joasqueeniebee@gmail.com>\nJun Sun <klsforever@gmail.com>\nDevin Wilson <dwilson6.github@gmail.com>\nTodor Prikumov <tono_pr@abv.bg>\nZack Hall <zackhall@outlook.com>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/LICENSE.txt",
    "content": "Copyright jQuery Foundation and other contributors, https://jquery.org/\n\nThis software consists of voluntary contributions made by many\nindividuals. For exact contribution history, see the revision history\navailable at https://github.com/jquery/jquery\n\nThe following license applies to all parts of this software except as\ndocumented below:\n\n====\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n====\n\nAll files located in the node_modules and external directories are\nexternally maintained libraries used by this software which have their\nown licenses; we recommend you read them, as their terms may differ from\nthe terms above.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/README.md",
    "content": "# jQuery\n\n> jQuery is a fast, small, and feature-rich JavaScript library.\n\nFor information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/).\nFor source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).\n\n## Including jQuery\n\nBelow are some of the most common ways to include jQuery.\n\n### Browser\n\n#### Script tag\n\n```html\n<script src=\"https://code.jquery.com/jquery-2.2.0.min.js\"></script>\n```\n\n#### Babel\n\n[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively.\n\n```js\nimport $ from \"jquery\";\n```\n\n#### Browserify/Webpack\n\nThere are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this...\n\n```js\nvar $ = require(\"jquery\");\n```\n\n#### AMD (Asynchronous Module Definition)\n\nAMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html).\n\n```js\ndefine([\"jquery\"], function($) {\n\n});\n```\n\n### Node\n\nTo include jQuery in [Node](nodejs.org), first install with npm.\n\n```sh\nnpm install jquery\n```\n\nFor jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes.\n\n```js\nrequire(\"jsdom\").env(\"\", function(err, window) {\n\tif (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n\n\tvar $ = require(\"jquery\")(window);\n});\n```\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/bower.json",
    "content": "{\n  \"name\": \"jquery\",\n  \"main\": \"dist/jquery.js\",\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"package.json\"\n  ],\n  \"keywords\": [\n    \"jquery\",\n    \"javascript\",\n    \"browser\",\n    \"library\"\n  ]\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/dist/jquery.js",
    "content": "/*!\n * jQuery JavaScript Library v2.2.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-05-20T17:23Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\nvar arr = [];\n\nvar document = window.document;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\tversion = \"2.2.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Not own constructor property must be Object\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype || {}, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf( \"use strict\" ) === 1 ) {\n\t\t\t\tscript = document.createElement( \"script\" );\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\n\t\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t\t// and removal by using an indirect global eval\n\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] =  function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t//   but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n *  selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n *  selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnotwhite = ( /\\S+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE9-10 only\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t//  - Node\n\t//    - Node.ELEMENT_NODE\n\t//    - Node.DOCUMENT_NODE\n\t//  - Object\n\t//    - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tregister: function( owner, initial ) {\n\t\tvar value = initial || {};\n\n\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t// use plain assignment\n\t\tif ( owner.nodeType ) {\n\t\t\towner[ this.expando ] = value;\n\n\t\t// Otherwise secure it in a non-enumerable, non-writable property\n\t\t// configurability must be true to allow the property to be\n\t\t// deleted with the delete operator\n\t\t} else {\n\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\tvalue: value,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true\n\t\t\t} );\n\t\t}\n\t\treturn owner[ this.expando ];\n\t},\n\tcache: function( owner ) {\n\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return an empty object.\n\t\tif ( !acceptData( owner ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\t\t\towner[ this.expando ] && owner[ this.expando ][ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\n\t\t// In cases where either:\n\t\t//\n\t\t//   1. No key was specified\n\t\t//   2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t//   1. The entire cache object\n\t\t//   2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase( key ) );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t//   1. An object of properties\n\t\t//   2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.register( owner );\n\n\t\t} else {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <= 35-45+\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data, camelKey;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = dataUser.get( elem, key ) ||\n\n\t\t\t\t\t// Try to find dashed key if it exists (gh-2779)\n\t\t\t\t\t// This is for 2.2.x only\n\t\t\t\t\tdataUser.get( elem, key.replace( rmultiDash, \"-$&\" ).toLowerCase() );\n\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = dataUser.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tcamelKey = jQuery.camelCase( key );\n\t\t\tthis.each( function() {\n\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = dataUser.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdataUser.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf( \"-\" ) > -1 && data !== undefined ) {\n\t\t\t\t\tdataUser.set( this, key, value );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([\\w:-]+)/ );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE9\n\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE9-11+\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0-4.3, Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY offsetX offsetY pageX pageY \" +\n\t\t\t\"screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop  || body && body.clientTop  || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;\n\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1></$2>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" ) )\n\t\t\t\t.appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = iframe[ 0 ].contentDocument;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\nvar rmargin = ( /^margin/ );\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar documentElement = document.documentElement;\n\n\n\n( function() {\n\tvar pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE9-11+\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;\" +\n\t\t\"padding:0;margin-top:1px;position:absolute\";\n\tcontainer.appendChild( div );\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\t\tdiv.style.cssText =\n\n\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;\" +\n\t\t\t\"position:relative;display:block;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"top:1%;width:50%\";\n\t\tdiv.innerHTML = \"\";\n\t\tdocumentElement.appendChild( container );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\t\treliableMarginLeftVal = divStyle.marginLeft === \"2px\";\n\t\tboxSizingReliableVal = divStyle.width === \"4px\";\n\n\t\t// Support: Android 4.0 - 4.3 only\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.marginRight = \"50%\";\n\t\tpixelMarginRightVal = divStyle.marginRight === \"4px\";\n\n\t\tdocumentElement.removeChild( container );\n\t}\n\n\tjQuery.extend( support, {\n\t\tpixelPosition: function() {\n\n\t\t\t// This test is executed only once but we still do memoizing\n\t\t\t// since we can use the boxSizingReliable pre-computing.\n\t\t\t// No need to check if the test was already performed, though.\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\tboxSizingReliable: function() {\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelMarginRight: function() {\n\n\t\t\t// Support: Android 4.0-4.3\n\t\t\t// We're checking for boxSizingReliableVal here instead of pixelMarginRightVal\n\t\t\t// since that compresses better and they're computed together anyway.\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelMarginRightVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\n\t\t\t// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\treliableMarginRight: function() {\n\n\t\t\t// Support: Android 2.3\n\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container. (#3333)\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\t// This support function is only executed once so no memoizing is needed.\n\t\t\tvar ret,\n\t\t\t\tmarginDiv = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\tmarginDiv.style.cssText = div.style.cssText =\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;box-sizing:content-box;\" +\n\t\t\t\t\"display:block;margin:0;border:0;padding:0\";\n\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\t\t\tdocumentElement.appendChild( container );\n\n\t\t\tret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );\n\n\t\t\tdocumentElement.removeChild( container );\n\t\t\tdiv.removeChild( marginDiv );\n\n\t\t\treturn ret;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\tret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;\n\n\t// Support: Opera 12.1x only\n\t// Fall back to style even without computed\n\t// computed is undefined for elems on document fragments\n\tif ( ( ret === \"\" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\tret = jQuery.style( elem, name );\n\t}\n\n\t// Support: IE9\n\t// getPropertyValue is only needed for .css('filter') (#12537)\n\tif ( computed ) {\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// http://dev.w3.org/csswg/cssom/#resolved-values\n\t\tif ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE9-11+\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style;\n\n// Return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( name ) {\n\n\t// Shortcut for names that are not vendor prefixed\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// At this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// At this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// At this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// Some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test( val ) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// Use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = dataPriv.get( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] = dataPriv.access(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\tdefaultDisplay( elem.nodeName )\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display !== \"none\" || !hidden ) {\n\t\t\t\tdataPriv.set(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\thidden ? display : jQuery.css( elem, \"display\" )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t\"float\": \"cssFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\tif ( type === \"number\" ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tstyle[ name ] = value;\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\t\t\t\t\telem.offsetWidth === 0 ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = extra && getStyles( elem ),\n\t\t\t\tsubtract = extra && augmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t);\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ name ] = value;\n\t\t\t\tvalue = jQuery.css( elem, name );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// Support: Android 2.3\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 &&\n\t\t\t\t( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE9\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE9-10 do not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tdataPriv.get( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\t\t\tstyle.display = \"inline-block\";\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show\n\t\t\t\t// and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// Store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done( function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t} );\n\t\t}\n\t\tanim.done( function() {\n\t\t\tvar prop;\n\n\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t} );\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( ( display === \"none\" ? defaultDisplay( elem.nodeName ) : display ) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( jQuery.isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tjQuery.proxy( result.stop, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnotwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ?\n\t\topt.duration : opt.duration in jQuery.fx.speeds ?\n\t\t\tjQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\twindow.clearInterval( timerId );\n\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: iOS<=5.1, Android<=4.2+\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE<=11+\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: Android<=2.3\n\t// Options inside disabled selects are incorrectly marked as disabled\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE<=11+\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle;\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ name ];\n\t\t\tattrHandle[ name ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tname.toLowerCase() :\n\t\t\t\tnull;\n\t\t\tattrHandle[ name ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\treturn tabindex ?\n\t\t\t\t\tparseInt( tabindex, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\t\trclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t\t0 :\n\t\t\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( type === \"string\" ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + getClass( elem ) + \" \" ).replace( rclass, \" \" )\n\t\t\t\t\t.indexOf( className ) > -1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g,\n\trspaces = /[\\x20\\t\\r\\n\\f]+/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\n\t\t\t\t\t// Handle most common string cases\n\t\t\t\t\tret.replace( rreturn, \"\" ) :\n\n\t\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) ).replace( rspaces, \" \" );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ?\n\t\t\t\t\t\t\t\t!option.disabled : option.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\njQuery.each( ( \"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\" ).split( \" \" ),\n\tfunction( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n} );\n\njQuery.fn.extend( {\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\n\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\n// Support: Firefox\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome, Safari\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = jQuery.now();\n\nvar rquery = ( /\\?/ );\n\n\n\n// Support: Android 2.3\n// Workaround failure to string-cast null input\njQuery.parseJSON = function( data ) {\n\treturn JSON.parse( data + \"\" );\n};\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE9\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" ).replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE8-11+\n\t\t\t// IE throws exception if url is malformed, e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE8-11+\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each( function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t} ).end();\n\t}\n} );\n\n\njQuery.expr.filters.hidden = function( elem ) {\n\treturn !jQuery.expr.filters.visible( elem );\n};\njQuery.expr.filters.visible = function( elem ) {\n\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\t// Use OR instead of AND as the element is not visible if either is true\n\t// See tickets #10406 and #13132\n\treturn elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;\n};\n\n\n\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t} ) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE9\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE9\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\"  ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = callback( \"error\" );\n\n\t\t\t\t// Support: IE9\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" ).prop( {\n\t\t\t\t\tcharset: s.scriptCharset,\n\t\t\t\t\tsrc: s.url\n\t\t\t\t} ).on(\n\t\t\t\t\t\"load error\",\n\t\t\t\t\tcallback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = jQuery.trim( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\telem = this[ 0 ],\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\tbox = elem.getBoundingClientRect();\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + win.pageYOffset - docElem.clientTop,\n\t\t\tleft: box.left + win.pageXOffset - docElem.clientLeft\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n\t\t// because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume getBoundingClientRect is there when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t//    documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari<7-8+, Chrome<37-44+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name },\n\t\tfunction( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t} );\n} );\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\tsize: function() {\n\t\treturn this.length;\n\t}\n} );\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( !noGlobal ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\nreturn jQuery;\n}));\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/external/sizzle/LICENSE.txt",
    "content": "Copyright jQuery Foundation and other contributors, https://jquery.org/\n\nThis software consists of voluntary contributions made by many\nindividuals. For exact contribution history, see the revision history\navailable at https://github.com/jquery/sizzle\n\nThe following license applies to all parts of this software except as\ndocumented below:\n\n====\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n====\n\nAll files located in the node_modules and external directories are\nexternally maintained libraries used by this software which have their\nown licenses; we recommend you read them, as their terms may differ from\nthe terms above.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/external/sizzle/dist/sizzle.js",
    "content": "/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] =  function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t//   but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n *  selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n *  selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\n// EXPOSE\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine(function() { return Sizzle; });\n// Sizzle requires that there be a global window in Common-JS like environments\n} else if ( typeof module !== \"undefined\" && module.exports ) {\n\tmodule.exports = Sizzle;\n} else {\n\twindow.Sizzle = Sizzle;\n}\n// EXPOSE\n\n})( window );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/.jshintrc",
    "content": "{\n\t\"boss\": true,\n\t\"curly\": true,\n\t\"eqeqeq\": true,\n\t\"eqnull\": true,\n\t\"expr\": true,\n\t\"immed\": true,\n\t\"noarg\": true,\n\t\"quotmark\": \"double\",\n\t\"undef\": true,\n\t\"unused\": true,\n\n\t\"sub\": true,\n\n\t// Support: IE < 10, Android < 4.1\n\t// The above browsers are failing a lot of tests in the ES5\n\t// test suite at http://test262.ecmascript.org.\n\t\"es3\": true,\n\n\t\"globals\": {\n\t\t\"window\": true,\n\t\t\"JSON\": false,\n\n\t\t\"jQuery\": true,\n\t\t\"define\": true,\n\t\t\"module\": true,\n\t\t\"noGlobal\": true\n\t}\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/jsonp.js",
    "content": "define( [\n\t\"../core\",\n\t\"./var/nonce\",\n\t\"./var/rquery\",\n\t\"../ajax\"\n], function( jQuery, nonce, rquery ) {\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/load.js",
    "content": "define( [\n\t\"../core\",\n\t\"../core/parseHTML\",\n\t\"../ajax\",\n\t\"../traversing\",\n\t\"../manipulation\",\n\t\"../selector\",\n\n\t// Optional event/alias dependency\n\t\"../event/alias\"\n], function( jQuery ) {\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = jQuery.trim( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/parseJSON.js",
    "content": "define( [\n\t\"../core\"\n], function( jQuery ) {\n\n// Support: Android 2.3\n// Workaround failure to string-cast null input\njQuery.parseJSON = function( data ) {\n\treturn JSON.parse( data + \"\" );\n};\n\nreturn jQuery.parseJSON;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/parseXML.js",
    "content": "define( [\n\t\"../core\"\n], function( jQuery ) {\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE9\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\nreturn jQuery.parseXML;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/script.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"../ajax\"\n], function( jQuery, document ) {\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" ).prop( {\n\t\t\t\t\tcharset: s.scriptCharset,\n\t\t\t\t\tsrc: s.url\n\t\t\t\t} ).on(\n\t\t\t\t\t\"load error\",\n\t\t\t\t\tcallback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/var/location.js",
    "content": "define( function() {\n\treturn window.location;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/var/nonce.js",
    "content": "define( [\n\t\"../../core\"\n], function( jQuery ) {\n\treturn jQuery.now();\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/var/rquery.js",
    "content": "define( function() {\n\treturn ( /\\?/ );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax/xhr.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/support\",\n\t\"../ajax\"\n], function( jQuery, support ) {\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE9\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE9\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\"  ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = callback( \"error\" );\n\n\t\t\t\t// Support: IE9\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/ajax.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/document\",\n\t\"./var/rnotwhite\",\n\t\"./ajax/var/location\",\n\t\"./ajax/var/nonce\",\n\t\"./ajax/var/rquery\",\n\n\t\"./core/init\",\n\t\"./ajax/parseJSON\",\n\t\"./ajax/parseXML\",\n\t\"./event/trigger\",\n\t\"./deferred\"\n], function( jQuery, document, rnotwhite, location, nonce, rquery ) {\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" ).replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE8-11+\n\t\t\t// IE throws exception if url is malformed, e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE8-11+\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes/attr.js",
    "content": "define( [\n\t\"../core\",\n\t\"../core/access\",\n\t\"./support\",\n\t\"../var/rnotwhite\",\n\t\"../selector\"\n], function( jQuery, access, support, rnotwhite ) {\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle;\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ name ];\n\t\t\tattrHandle[ name ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tname.toLowerCase() :\n\t\t\t\tnull;\n\t\t\tattrHandle[ name ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes/classes.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/rnotwhite\",\n\t\"../data/var/dataPriv\",\n\t\"../core/init\"\n], function( jQuery, rnotwhite, dataPriv ) {\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( type === \"string\" ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + getClass( elem ) + \" \" ).replace( rclass, \" \" )\n\t\t\t\t\t.indexOf( className ) > -1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes/prop.js",
    "content": "define( [\n\t\"../core\",\n\t\"../core/access\",\n\t\"./support\",\n\t\"../selector\"\n], function( jQuery, access, support ) {\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\treturn tabindex ?\n\t\t\t\t\tparseInt( tabindex, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\t\trclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t\t0 :\n\t\t\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes/support.js",
    "content": "define( [\n\t\"../var/document\",\n\t\"../var/support\"\n], function( document, support ) {\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: iOS<=5.1, Android<=4.2+\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE<=11+\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: Android<=2.3\n\t// Options inside disabled selects are incorrectly marked as disabled\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE<=11+\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\nreturn support;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes/val.js",
    "content": "define( [\n\t\"../core\",\n\t\"./support\",\n\t\"../core/init\"\n], function( jQuery, support ) {\n\nvar rreturn = /\\r/g,\n\trspaces = /[\\x20\\t\\r\\n\\f]+/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\n\t\t\t\t\t// Handle most common string cases\n\t\t\t\t\tret.replace( rreturn, \"\" ) :\n\n\t\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) ).replace( rspaces, \" \" );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ?\n\t\t\t\t\t\t\t\t!option.disabled : option.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/attributes.js",
    "content": "define( [\n\t\"./core\",\n\t\"./attributes/attr\",\n\t\"./attributes/prop\",\n\t\"./attributes/classes\",\n\t\"./attributes/val\"\n], function( jQuery ) {\n\n// Return jQuery for attributes-only inclusion\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/callbacks.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/rnotwhite\"\n], function( jQuery, rnotwhite ) {\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core/access.js",
    "content": "define( [\n\t\"../core\"\n], function( jQuery ) {\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\nreturn access;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core/init.js",
    "content": "// Initialize a jQuery object\ndefine( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"./var/rsingleTag\",\n\t\"../traversing/findFilter\"\n], function( jQuery, document, rsingleTag ) {\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\nreturn init;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core/parseHTML.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"./var/rsingleTag\",\n\t\"../manipulation/buildFragment\"\n], function( jQuery, document, rsingleTag, buildFragment ) {\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\nreturn jQuery.parseHTML;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core/ready.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"../core/init\",\n\t\"../deferred\"\n], function( jQuery, document ) {\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE9-10 only\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core/var/rsingleTag.js",
    "content": "define( function() {\n\n\t// Match a standalone tag\n\treturn ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/core.js",
    "content": "define( [\n\t\"./var/arr\",\n\t\"./var/document\",\n\t\"./var/slice\",\n\t\"./var/concat\",\n\t\"./var/push\",\n\t\"./var/indexOf\",\n\t\"./var/class2type\",\n\t\"./var/toString\",\n\t\"./var/hasOwn\",\n\t\"./var/support\"\n], function( arr, document, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) {\n\nvar\n\tversion = \"@VERSION\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Not own constructor property must be Object\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype || {}, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf( \"use strict\" ) === 1 ) {\n\t\t\t\tscript = document.createElement( \"script\" );\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\n\t\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t\t// and removal by using an indirect global eval\n\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/addGetHookIf.js",
    "content": "define( function() {\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\nreturn addGetHookIf;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/adjustCSS.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/rcssNum\"\n], function( jQuery, rcssNum ) {\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\nreturn adjustCSS;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/curCSS.js",
    "content": "define( [\n\t\"../core\",\n\t\"./var/rnumnonpx\",\n\t\"./var/rmargin\",\n\t\"./var/getStyles\",\n\t\"./support\",\n\t\"../selector\" // Get jQuery.contains\n], function( jQuery, rnumnonpx, rmargin, getStyles, support ) {\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\tret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;\n\n\t// Support: Opera 12.1x only\n\t// Fall back to style even without computed\n\t// computed is undefined for elems on document fragments\n\tif ( ( ret === \"\" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\tret = jQuery.style( elem, name );\n\t}\n\n\t// Support: IE9\n\t// getPropertyValue is only needed for .css('filter') (#12537)\n\tif ( computed ) {\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// http://dev.w3.org/csswg/cssom/#resolved-values\n\t\tif ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE9-11+\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\nreturn curCSS;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/defaultDisplay.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"../manipulation\" // appendTo\n], function( jQuery, document ) {\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" ) )\n\t\t\t\t.appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = iframe[ 0 ].contentDocument;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\n\nreturn defaultDisplay;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/hiddenVisibleSelectors.js",
    "content": "define( [\n\t\"../core\",\n\t\"../selector\"\n], function( jQuery ) {\n\njQuery.expr.filters.hidden = function( elem ) {\n\treturn !jQuery.expr.filters.visible( elem );\n};\njQuery.expr.filters.visible = function( elem ) {\n\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\t// Use OR instead of AND as the element is not visible if either is true\n\t// See tickets #10406 and #13132\n\treturn elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/showHide.js",
    "content": "define( [\n\t\"../data/var/dataPriv\"\n], function( dataPriv ) {\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\t\t\tif ( display === \"none\" ) {\n\n\t\t\t\t// Restore a pre-hide() value if we have one\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || \"\";\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember the value we're replacing\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\nreturn showHide;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/support.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"../var/documentElement\",\n\t\"../var/support\"\n], function( jQuery, document, documentElement, support ) {\n\n( function() {\n\tvar pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE9-11+\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;\" +\n\t\t\"padding:0;margin-top:1px;position:absolute\";\n\tcontainer.appendChild( div );\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\t\tdiv.style.cssText =\n\n\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;\" +\n\t\t\t\"position:relative;display:block;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"top:1%;width:50%\";\n\t\tdiv.innerHTML = \"\";\n\t\tdocumentElement.appendChild( container );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\t\treliableMarginLeftVal = divStyle.marginLeft === \"2px\";\n\t\tboxSizingReliableVal = divStyle.width === \"4px\";\n\n\t\t// Support: Android 4.0 - 4.3 only\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.marginRight = \"50%\";\n\t\tpixelMarginRightVal = divStyle.marginRight === \"4px\";\n\n\t\tdocumentElement.removeChild( container );\n\t}\n\n\tjQuery.extend( support, {\n\t\tpixelPosition: function() {\n\n\t\t\t// This test is executed only once but we still do memoizing\n\t\t\t// since we can use the boxSizingReliable pre-computing.\n\t\t\t// No need to check if the test was already performed, though.\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\tboxSizingReliable: function() {\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelMarginRight: function() {\n\n\t\t\t// Support: Android 4.0-4.3\n\t\t\t// We're checking for boxSizingReliableVal here instead of pixelMarginRightVal\n\t\t\t// since that compresses better and they're computed together anyway.\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelMarginRightVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\n\t\t\t// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37\n\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\treliableMarginRight: function() {\n\n\t\t\t// Support: Android 2.3\n\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container. (#3333)\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\t// This support function is only executed once so no memoizing is needed.\n\t\t\tvar ret,\n\t\t\t\tmarginDiv = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\tmarginDiv.style.cssText = div.style.cssText =\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;box-sizing:content-box;\" +\n\t\t\t\t\"display:block;margin:0;border:0;padding:0\";\n\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\t\t\tdocumentElement.appendChild( container );\n\n\t\t\tret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );\n\n\t\t\tdocumentElement.removeChild( container );\n\t\t\tdiv.removeChild( marginDiv );\n\n\t\t\treturn ret;\n\t\t}\n\t} );\n} )();\n\nreturn support;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/cssExpand.js",
    "content": "define( function() {\n\treturn [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/getStyles.js",
    "content": "define( function() {\n\treturn function( elem ) {\n\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/isHidden.js",
    "content": "define( [\n\t\"../../core\",\n\t\"../../selector\"\n\n\t// css is assumed\n], function( jQuery ) {\n\n\treturn function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/rmargin.js",
    "content": "define( function() {\n\treturn ( /^margin/ );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/rnumnonpx.js",
    "content": "define( [\n\t\"../../var/pnum\"\n], function( pnum ) {\n\treturn new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css/var/swap.js",
    "content": "define( function() {\n\n// A method for quickly swapping in/out CSS properties to get correct calculations.\nreturn function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/css.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/pnum\",\n\t\"./core/access\",\n\t\"./css/var/rmargin\",\n\t\"./var/document\",\n\t\"./var/rcssNum\",\n\t\"./css/var/rnumnonpx\",\n\t\"./css/var/cssExpand\",\n\t\"./css/var/isHidden\",\n\t\"./css/var/getStyles\",\n\t\"./css/var/swap\",\n\t\"./css/curCSS\",\n\t\"./css/adjustCSS\",\n\t\"./css/defaultDisplay\",\n\t\"./css/addGetHookIf\",\n\t\"./css/support\",\n\t\"./data/var/dataPriv\",\n\n\t\"./core/init\",\n\t\"./core/ready\",\n\t\"./selector\" // contains\n], function( jQuery, pnum, access, rmargin, document, rcssNum, rnumnonpx, cssExpand, isHidden,\n\tgetStyles, swap, curCSS, adjustCSS, defaultDisplay, addGetHookIf, support, dataPriv ) {\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style;\n\n// Return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( name ) {\n\n\t// Shortcut for names that are not vendor prefixed\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// At this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// At this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// At this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// Some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test( val ) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// Use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = dataPriv.get( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] = dataPriv.access(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\tdefaultDisplay( elem.nodeName )\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display !== \"none\" || !hidden ) {\n\t\t\t\tdataPriv.set(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\thidden ? display : jQuery.css( elem, \"display\" )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t\"float\": \"cssFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\tif ( type === \"number\" ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tstyle[ name ] = value;\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\t\t\t\t\telem.offsetWidth === 0 ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = extra && getStyles( elem ),\n\t\t\t\tsubtract = extra && augmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t);\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ name ] = value;\n\t\t\t\tvalue = jQuery.css( elem, name );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// Support: Android 2.3\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/data/Data.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/rnotwhite\",\n\t\"./var/acceptData\"\n], function( jQuery, rnotwhite, acceptData ) {\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tregister: function( owner, initial ) {\n\t\tvar value = initial || {};\n\n\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t// use plain assignment\n\t\tif ( owner.nodeType ) {\n\t\t\towner[ this.expando ] = value;\n\n\t\t// Otherwise secure it in a non-enumerable, non-writable property\n\t\t// configurability must be true to allow the property to be\n\t\t// deleted with the delete operator\n\t\t} else {\n\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\tvalue: value,\n\t\t\t\twritable: true,\n\t\t\t\tconfigurable: true\n\t\t\t} );\n\t\t}\n\t\treturn owner[ this.expando ];\n\t},\n\tcache: function( owner ) {\n\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return an empty object.\n\t\tif ( !acceptData( owner ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\t\t\towner[ this.expando ] && owner[ this.expando ][ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\n\t\t// In cases where either:\n\t\t//\n\t\t//   1. No key was specified\n\t\t//   2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t//   1. The entire cache object\n\t\t//   2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase( key ) );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t//   1. An object of properties\n\t\t//   2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.register( owner );\n\n\t\t} else {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <= 35-45+\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\n\nreturn Data;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/data/var/acceptData.js",
    "content": "define( function() {\n\n/**\n * Determines whether an object can have data\n */\nreturn function( owner ) {\n\n\t// Accepts only:\n\t//  - Node\n\t//    - Node.ELEMENT_NODE\n\t//    - Node.DOCUMENT_NODE\n\t//  - Object\n\t//    - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/data/var/dataPriv.js",
    "content": "define( [\n\t\"../Data\"\n], function( Data ) {\n\treturn new Data();\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/data/var/dataUser.js",
    "content": "define( [\n\t\"../Data\"\n], function( Data ) {\n\treturn new Data();\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/data.js",
    "content": "define( [\n\t\"./core\",\n\t\"./core/access\",\n\t\"./data/var/dataPriv\",\n\t\"./data/var/dataUser\"\n], function( jQuery, access, dataPriv, dataUser ) {\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data, camelKey;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = dataUser.get( elem, key ) ||\n\n\t\t\t\t\t// Try to find dashed key if it exists (gh-2779)\n\t\t\t\t\t// This is for 2.2.x only\n\t\t\t\t\tdataUser.get( elem, key.replace( rmultiDash, \"-$&\" ).toLowerCase() );\n\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = dataUser.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tcamelKey = jQuery.camelCase( key );\n\t\t\tthis.each( function() {\n\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = dataUser.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdataUser.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf( \"-\" ) > -1 && data !== undefined ) {\n\t\t\t\t\tdataUser.set( this, key, value );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/deferred.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/slice\",\n\t\"./callbacks\"\n], function( jQuery, slice ) {\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/deprecated.js",
    "content": "define( [\n\t\"./core\"\n], function( jQuery ) {\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\tsize: function() {\n\t\treturn this.length;\n\t}\n} );\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n} );\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/dimensions.js",
    "content": "define( [\n\t\"./core\",\n\t\"./core/access\",\n\t\"./css\"\n], function( jQuery, access ) {\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name },\n\t\tfunction( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t} );\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/effects/Tween.js",
    "content": "define( [\n\t\"../core\",\n\t\"../css\"\n], function( jQuery ) {\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 &&\n\t\t\t\t( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE9\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/effects/animatedSelector.js",
    "content": "define( [\n\t\"../core\",\n\t\"../selector\",\n\t\"../effects\"\n], function( jQuery ) {\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/effects.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/document\",\n\t\"./var/rcssNum\",\n\t\"./css/var/cssExpand\",\n\t\"./var/rnotwhite\",\n\t\"./css/var/isHidden\",\n\t\"./css/adjustCSS\",\n\t\"./css/defaultDisplay\",\n\t\"./data/var/dataPriv\",\n\n\t\"./core/init\",\n\t\"./effects/Tween\",\n\t\"./queue\",\n\t\"./css\",\n\t\"./deferred\",\n\t\"./traversing\"\n], function( jQuery, document, rcssNum, cssExpand, rnotwhite,\n\tisHidden, adjustCSS, defaultDisplay, dataPriv ) {\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE9-10 do not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tdataPriv.get( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\t\t\tstyle.display = \"inline-block\";\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show\n\t\t\t\t// and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// Store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done( function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t} );\n\t\t}\n\t\tanim.done( function() {\n\t\t\tvar prop;\n\n\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t} );\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( ( display === \"none\" ? defaultDisplay( elem.nodeName ) : display ) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( jQuery.isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tjQuery.proxy( result.stop, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnotwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ?\n\t\topt.duration : opt.duration in jQuery.fx.speeds ?\n\t\t\tjQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\twindow.clearInterval( timerId );\n\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event/ajax.js",
    "content": "define( [\n\t\"../core\",\n\t\"../event\"\n], function( jQuery ) {\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event/alias.js",
    "content": "define( [\n\t\"../core\",\n\n\t\"../event\",\n\t\"./trigger\"\n], function( jQuery ) {\n\njQuery.each( ( \"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\" ).split( \" \" ),\n\tfunction( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n} );\n\njQuery.fn.extend( {\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event/focusin.js",
    "content": "define( [\n\t\"../core\",\n\t\"../data/var/dataPriv\",\n\t\"./support\",\n\n\t\"../event\",\n\t\"./trigger\"\n], function( jQuery, dataPriv, support ) {\n\n// Support: Firefox\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome, Safari\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event/support.js",
    "content": "define( [\n\t\"../var/support\"\n], function( support ) {\n\nsupport.focusin = \"onfocusin\" in window;\n\nreturn support;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event/trigger.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/document\",\n\t\"../data/var/dataPriv\",\n\t\"../data/var/acceptData\",\n\t\"../var/hasOwn\",\n\n\t\"../event\"\n], function( jQuery, document, dataPriv, acceptData, hasOwn ) {\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/event.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/document\",\n\t\"./var/rnotwhite\",\n\t\"./var/slice\",\n\t\"./data/var/dataPriv\",\n\n\t\"./core/init\",\n\t\"./selector\"\n], function( jQuery, document, rnotwhite, slice, dataPriv ) {\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY offsetX offsetY pageX pageY \" +\n\t\t\t\"screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop  || body && body.clientTop  || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/exports/amd.js",
    "content": "define( [\n\t\"../core\"\n], function( jQuery ) {\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/exports/global.js",
    "content": "var\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( !noGlobal ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/intro.js",
    "content": "/*!\n * jQuery JavaScript Library v@VERSION\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: @DATE\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/jquery.js",
    "content": "define( [\n\t\"./core\",\n\t\"./selector\",\n\t\"./traversing\",\n\t\"./callbacks\",\n\t\"./deferred\",\n\t\"./core/ready\",\n\t\"./data\",\n\t\"./queue\",\n\t\"./queue/delay\",\n\t\"./attributes\",\n\t\"./event\",\n\t\"./event/alias\",\n\t\"./event/focusin\",\n\t\"./manipulation\",\n\t\"./manipulation/_evalUrl\",\n\t\"./wrap\",\n\t\"./css\",\n\t\"./css/hiddenVisibleSelectors\",\n\t\"./serialize\",\n\t\"./ajax\",\n\t\"./ajax/xhr\",\n\t\"./ajax/script\",\n\t\"./ajax/jsonp\",\n\t\"./ajax/load\",\n\t\"./event/ajax\",\n\t\"./effects\",\n\t\"./effects/animatedSelector\",\n\t\"./offset\",\n\t\"./dimensions\",\n\t\"./deprecated\",\n\t\"./exports/amd\"\n], function( jQuery ) {\n\nreturn ( window.jQuery = window.$ = jQuery );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/_evalUrl.js",
    "content": "define( [\n\t\"../ajax\"\n], function( jQuery ) {\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t} );\n};\n\nreturn jQuery._evalUrl;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/buildFragment.js",
    "content": "define( [\n\t\"../core\",\n\t\"./var/rtagName\",\n\t\"./var/rscriptType\",\n\t\"./wrapMap\",\n\t\"./getAll\",\n\t\"./setGlobalEval\"\n], function( jQuery, rtagName, rscriptType, wrapMap, getAll, setGlobalEval ) {\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\nreturn buildFragment;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/getAll.js",
    "content": "define( [\n\t\"../core\"\n], function( jQuery ) {\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE9-11+\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\nreturn getAll;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/setGlobalEval.js",
    "content": "define( [\n\t\"../data/var/dataPriv\"\n], function( dataPriv ) {\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\nreturn setGlobalEval;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/support.js",
    "content": "define( [\n\t\"../var/document\",\n\t\"../var/support\"\n], function( document, support ) {\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0-4.3, Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\nreturn support;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/var/rcheckableType.js",
    "content": "define( function() {\n\treturn ( /^(?:checkbox|radio)$/i );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/var/rscriptType.js",
    "content": "define( function() {\n\treturn ( /^$|\\/(?:java|ecma)script/i );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/var/rtagName.js",
    "content": "define( function() {\n\treturn ( /<([\\w:-]+)/ );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation/wrapMap.js",
    "content": "define( function() {\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE9\n\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\nreturn wrapMap;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/manipulation.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/concat\",\n\t\"./var/push\",\n\t\"./core/access\",\n\t\"./manipulation/var/rcheckableType\",\n\t\"./manipulation/var/rtagName\",\n\t\"./manipulation/var/rscriptType\",\n\t\"./manipulation/wrapMap\",\n\t\"./manipulation/getAll\",\n\t\"./manipulation/setGlobalEval\",\n\t\"./manipulation/buildFragment\",\n\t\"./manipulation/support\",\n\n\t\"./data/var/dataPriv\",\n\t\"./data/var/dataUser\",\n\t\"./data/var/acceptData\",\n\n\t\"./core/init\",\n\t\"./traversing\",\n\t\"./selector\",\n\t\"./event\"\n], function( jQuery, concat, push, access,\n\trcheckableType, rtagName, rscriptType,\n\twrapMap, getAll, setGlobalEval, buildFragment, support,\n\tdataPriv, dataUser, acceptData ) {\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;\n\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1></$2>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <= 35-45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/offset.js",
    "content": "define( [\n\t\"./core\",\n\t\"./core/access\",\n\t\"./var/document\",\n\t\"./var/documentElement\",\n\t\"./css/var/rnumnonpx\",\n\t\"./css/curCSS\",\n\t\"./css/addGetHookIf\",\n\t\"./css/support\",\n\n\t\"./core/init\",\n\t\"./css\",\n\t\"./selector\" // contains\n], function( jQuery, access, document, documentElement, rnumnonpx, curCSS, addGetHookIf, support ) {\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\telem = this[ 0 ],\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\tbox = elem.getBoundingClientRect();\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + win.pageYOffset - docElem.clientTop,\n\t\t\tleft: box.left + win.pageXOffset - docElem.clientLeft\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n\t\t// because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume getBoundingClientRect is there when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t//    documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari<7-8+, Chrome<37-44+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/outro.js",
    "content": "return jQuery;\n}));\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/queue/delay.js",
    "content": "define( [\n\t\"../core\",\n\t\"../queue\",\n\t\"../effects\" // Delay is optional because of this dependency\n], function( jQuery ) {\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\nreturn jQuery.fn.delay;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/queue.js",
    "content": "define( [\n\t\"./core\",\n\t\"./data/var/dataPriv\",\n\t\"./deferred\",\n\t\"./callbacks\"\n], function( jQuery, dataPriv ) {\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/selector-native.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/document\",\n\t\"./var/documentElement\",\n\t\"./var/hasOwn\",\n\t\"./var/indexOf\"\n], function( jQuery, document, documentElement, hasOwn, indexOf ) {\n\n/*\n * Optional (non-Sizzle) selector module for custom builds.\n *\n * Note that this DOES NOT SUPPORT many documented jQuery\n * features in exchange for its smaller size:\n *\n * Attribute not equal selector\n * Positional selectors (:first; :eq(n); :odd; etc.)\n * Type selectors (:input; :checkbox; :button; etc.)\n * State-based selectors (:animated; :visible; :hidden; etc.)\n * :has(selector)\n * :not(complex selector)\n * custom selectors via Sizzle extensions\n * Leading combinators (e.g., $collection.find(\"> *\"))\n * Reliable functionality on XML fragments\n * Requiring all parts of a selector to match elements under context\n *   (e.g., $div.find(\"div > *\") now matches children of $div)\n * Matching against non-elements\n * Reliable sorting of disconnected nodes\n * querySelectorAll bug fixes (e.g., unreliable :focus on WebKit)\n *\n * If any of these are unacceptable tradeoffs, either use Sizzle or\n * customize this stub for the project's specific needs.\n */\n\nvar hasDuplicate, sortInput,\n\tsortStable = jQuery.expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === jQuery.expando,\n\tmatches = documentElement.matches ||\n\t\tdocumentElement.webkitMatchesSelector ||\n\t\tdocumentElement.mozMatchesSelector ||\n\t\tdocumentElement.oMatchesSelector ||\n\t\tdocumentElement.msMatchesSelector;\n\nfunction sortOrder( a, b ) {\n\n\t// Flag for duplicate removal\n\tif ( a === b ) {\n\t\thasDuplicate = true;\n\t\treturn 0;\n\t}\n\n\t// Sort on method existence if only one input has compareDocumentPosition\n\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\tif ( compare ) {\n\t\treturn compare;\n\t}\n\n\t// Calculate position if both inputs belong to the same document\n\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\ta.compareDocumentPosition( b ) :\n\n\t\t// Otherwise we know they are disconnected\n\t\t1;\n\n\t// Disconnected nodes\n\tif ( compare & 1 ) {\n\n\t\t// Choose the first element that is related to our preferred document\n\t\tif ( a === document || a.ownerDocument === document &&\n\t\t\tjQuery.contains( document, a ) ) {\n\t\t\treturn -1;\n\t\t}\n\t\tif ( b === document || b.ownerDocument === document &&\n\t\t\tjQuery.contains( document, b ) ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\t// Maintain original order\n\t\treturn sortInput ?\n\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t0;\n\t}\n\n\treturn compare & 4 ? -1 : 1;\n}\n\nfunction uniqueSort( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\thasDuplicate = false;\n\tsortInput = !sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n}\n\njQuery.extend( {\n\tfind: function( selector, context, results, seed ) {\n\t\tvar elem, nodeType,\n\t\t\ti = 0;\n\n\t\tresults = results || [];\n\t\tcontext = context || document;\n\n\t\t// Same basic safeguard as Sizzle\n\t\tif ( !selector || typeof selector !== \"string\" ) {\n\t\t\treturn results;\n\t\t}\n\n\t\t// Early return if context is not an element or document\n\t\tif ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\twhile ( ( elem = seed[ i++ ] ) ) {\n\t\t\t\tif ( jQuery.find.matchesSelector( elem, selector ) ) {\n\t\t\t\t\tresults.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tjQuery.merge( results, context.querySelectorAll( selector ) );\n\t\t}\n\n\t\treturn results;\n\t},\n\tuniqueSort: uniqueSort,\n\tunique: uniqueSort,\n\ttext: function( elem ) {\n\t\tvar node,\n\t\t\tret = \"\",\n\t\t\ti = 0,\n\t\t\tnodeType = elem.nodeType;\n\n\t\tif ( !nodeType ) {\n\n\t\t\t// If no nodeType, this is expected to be an array\n\t\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t\t// Do not traverse comment nodes\n\t\t\t\tret += jQuery.text( node );\n\t\t\t}\n\t\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t\t// Use textContent for elements\n\t\t\treturn elem.textContent;\n\t\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\n\t\t// Do not include comment or processing instruction nodes\n\n\t\treturn ret;\n\t},\n\tcontains: function( a, b ) {\n\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\tbup = b && b.parentNode;\n\t\treturn a === bup || !!( bup && bup.nodeType === 1 && adown.contains( bup ) );\n\t},\n\tisXMLDoc: function( elem ) {\n\n\t\t// documentElement is verified for cases where it doesn't yet exist\n\t\t// (such as loading iframes in IE - #4833)\n\t\tvar documentElement = elem && ( elem.ownerDocument || elem ).documentElement;\n\t\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n\t},\n\texpr: {\n\t\tattrHandle: {},\n\t\tmatch: {\n\t\t\tbool: new RegExp( \"^(?:checked|selected|async|autofocus|autoplay|controls|defer\" +\n\t\t\t\t\"|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$\", \"i\" ),\n\t\t\tneedsContext: /^[\\x20\\t\\r\\n\\f]*[>+~]/\n\t\t}\n\t}\n} );\n\njQuery.extend( jQuery.find, {\n\tmatches: function( expr, elements ) {\n\t\treturn jQuery.find( expr, null, null, elements );\n\t},\n\tmatchesSelector: function( elem, expr ) {\n\t\treturn matches.call( elem, expr );\n\t},\n\tattr: function( elem, name ) {\n\t\tvar fn = jQuery.expr.attrHandle[ name.toLowerCase() ],\n\n\t\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\t\tvalue = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ?\n\t\t\t\tfn( elem, name, jQuery.isXMLDoc( elem ) ) :\n\t\t\t\tundefined;\n\t\treturn value !== undefined ? value : elem.getAttribute( name );\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/selector-sizzle.js",
    "content": "define( [\n\t\"./core\",\n\t\"../external/sizzle/dist/sizzle\"\n], function( jQuery, Sizzle ) {\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/selector.js",
    "content": "define( [ \"./selector-sizzle\" ], function() {} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/serialize.js",
    "content": "define( [\n\t\"./core\",\n\t\"./manipulation/var/rcheckableType\",\n\t\"./core/init\",\n\t\"./traversing\", // filter\n\t\"./attributes/prop\"\n], function( jQuery, rcheckableType ) {\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t} ) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/traversing/findFilter.js",
    "content": "define( [\n\t\"../core\",\n\t\"../var/indexOf\",\n\t\"./var/rneedsContext\",\n\t\"../selector\"\n], function( jQuery, indexOf, rneedsContext ) {\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/traversing/var/dir.js",
    "content": "define( [\n\t\"../../core\"\n], function( jQuery ) {\n\nreturn function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/traversing/var/rneedsContext.js",
    "content": "define( [\n\t\"../../core\",\n\t\"../../selector\"\n], function( jQuery ) {\n\treturn jQuery.expr.match.needsContext;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/traversing/var/siblings.js",
    "content": "define( function() {\n\nreturn function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/traversing.js",
    "content": "define( [\n\t\"./core\",\n\t\"./var/indexOf\",\n\t\"./traversing/var/dir\",\n\t\"./traversing/var/siblings\",\n\t\"./traversing/var/rneedsContext\",\n\t\"./core/init\",\n\t\"./traversing/findFilter\",\n\t\"./selector\"\n], function( jQuery, indexOf, dir, siblings, rneedsContext ) {\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/arr.js",
    "content": "define( function() {\n\treturn [];\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/class2type.js",
    "content": "define( function() {\n\n\t// [[Class]] -> type pairs\n\treturn {};\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/concat.js",
    "content": "define( [\n\t\"./arr\"\n], function( arr ) {\n\treturn arr.concat;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/document.js",
    "content": "define( function() {\n\treturn window.document;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/documentElement.js",
    "content": "define( [\n\t\"./document\"\n], function( document ) {\n\treturn document.documentElement;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/hasOwn.js",
    "content": "define( [\n\t\"./class2type\"\n], function( class2type ) {\n\treturn class2type.hasOwnProperty;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/indexOf.js",
    "content": "define( [\n\t\"./arr\"\n], function( arr ) {\n\treturn arr.indexOf;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/pnum.js",
    "content": "define( function() {\n\treturn ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/push.js",
    "content": "define( [\n\t\"./arr\"\n], function( arr ) {\n\treturn arr.push;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/rcssNum.js",
    "content": "define( [\n\t\"../var/pnum\"\n], function( pnum ) {\n\nreturn new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/rnotwhite.js",
    "content": "define( function() {\n\treturn ( /\\S+/g );\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/slice.js",
    "content": "define( [\n\t\"./arr\"\n], function( arr ) {\n\treturn arr.slice;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/support.js",
    "content": "define( function() {\n\n\t// All support tests are defined in their respective modules.\n\treturn {};\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/var/toString.js",
    "content": "define( [\n\t\"./class2type\"\n], function( class2type ) {\n\treturn class2type.toString;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/jquery/src/wrap.js",
    "content": "define( [\n\t\"./core\",\n\t\"./core/init\",\n\t\"./manipulation\", // clone\n\t\"./traversing\" // parent, contents\n], function( jQuery ) {\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each( function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t} ).end();\n\t}\n} );\n\nreturn jQuery;\n} );\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/.bower.json",
    "content": "{\n  \"name\": \"motion-ui\",\n  \"version\": \"1.2.2\",\n  \"authors\": [\n    \"ZURB <foundation@zurb.com>\"\n  ],\n  \"description\": \"Sass library for creating transitions and animations.\",\n  \"main\": [\n    \"dist/motion-ui.css\",\n    \"dist/motion-ui.js\"\n  ],\n  \"keywords\": [\n    \"Sass\",\n    \"motion\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"_build\",\n    \"node_modules\",\n    \"bower_components\",\n    \"docs/src\",\n    \"test\"\n  ],\n  \"dependencies\": {\n    \"jquery\": \"~2.2.0\"\n  },\n  \"homepage\": \"https://github.com/zurb/motion-ui\",\n  \"_release\": \"1.2.2\",\n  \"_resolution\": {\n    \"type\": \"version\",\n    \"tag\": \"v1.2.2\",\n    \"commit\": \"7f1591d629501f6ec2af3e29368299776ac87e60\"\n  },\n  \"_source\": \"https://github.com/zurb/motion-ui.git\",\n  \"_target\": \"^1.2.2\",\n  \"_originalSource\": \"motion-ui\",\n  \"_direct\": true\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/LICENSE",
    "content": "Copyright (c) 2013-2015 ZURB, inc.\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/README.md",
    "content": "# Motion UI\n\nA Sass library for creating CSS transitions and animations from your friends at [ZURB](http://zurb.com). Originally integrated into [Foundation for Apps](http://foundation.zurb.com/apps), the code is now a standalone library, soon to be used by [Foundation for Sites](http://foundation.zurb.com/sites) and Foundation for Apps.\n\n## Installation\n\n- On npm: `npm install motion-ui`\n- On Bower: `bower install motion-ui`\n\n## Demos\n\n[View live demos on the ZURB Playground.](http://zurb.com/playground/motion-ui)\n\n## Documentation\n\n[View the documentation here.](docs)\n\n## Develop Locally\n\n```\ngit clone https://github.com/zurb/motion-ui\ncd motion-ui\nnpm install\n```\n\n- Run `npm start` to compile test Sass/JS files, and to build the documentation.\n  - **To make changes to the documentation, edit the files under `docs/src`.\n- Run `npm test` to run the unit tests.\n- Run `npm start dist` to compile distribution files.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/bower.json",
    "content": "{\n  \"name\": \"motion-ui\",\n  \"version\": \"1.2.2\",\n  \"authors\": [\n    \"ZURB <foundation@zurb.com>\"\n  ],\n  \"description\": \"Sass library for creating transitions and animations.\",\n  \"main\": [\n    \"dist/motion-ui.css\",\n    \"dist/motion-ui.js\"\n  ],\n  \"keywords\": [\n    \"Sass\",\n    \"motion\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"_build\",\n    \"node_modules\",\n    \"bower_components\",\n    \"docs/src\",\n    \"test\"\n  ],\n  \"dependencies\": {\n    \"jquery\": \"~2.2.0\"\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/composer.json",
    "content": "{\n  \"name\": \"zurb/motion-ui\",\n  \"description\": \"Sass library for creating transitions and animations.\",\n  \"version\": \"1.2.1\",\n  \"keywords\": [\n    \"css\",\n    \"sass\",\n    \"motion\",\n    \"animation\"\n  ],\n  \"homepage\": \"http://foundation.zurb.com\",\n  \"authors\": [\n    {\n      \"name\": \"ZURB, Inc.\",\n      \"homepage\": \"http://zurb.com\",\n      \"email\": \"foundation@zurb.com\"\n    }\n  ],\n  \"support\": {\n    \"email\": \"foundation@zurb.com\",\n    \"issues\": \"https://github.com/zurb/motion-ui/issues\",\n    \"forum\": \"http://foundation.zurb.com/forum\"\n  },\n  \"license\": \"MIT\"\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/dist/motion-ui.css",
    "content": ".slide-in-down.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-in-down.mui-enter.mui-enter-active {\n  -webkit-transform: translateY(0);\n          transform: translateY(0); }\n\n.slide-in-left.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-in-left.mui-enter.mui-enter-active {\n  -webkit-transform: translateX(0);\n          transform: translateX(0); }\n\n.slide-in-up.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-in-up.mui-enter.mui-enter-active {\n  -webkit-transform: translateY(0);\n          transform: translateY(0); }\n\n.slide-in-right.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-in-right.mui-enter.mui-enter-active {\n  -webkit-transform: translateX(0);\n          transform: translateX(0); }\n\n.slide-out-down.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateY(0);\n          transform: translateY(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-out-down.mui-leave.mui-leave-active {\n  -webkit-transform: translateY(100%);\n          transform: translateY(100%); }\n\n.slide-out-right.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateX(0);\n          transform: translateX(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-out-right.mui-leave.mui-leave-active {\n  -webkit-transform: translateX(100%);\n          transform: translateX(100%); }\n\n.slide-out-up.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateY(0);\n          transform: translateY(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-out-up.mui-leave.mui-leave-active {\n  -webkit-transform: translateY(-100%);\n          transform: translateY(-100%); }\n\n.slide-out-left.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: translateX(0);\n          transform: translateX(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden; }\n\n.slide-out-left.mui-leave.mui-leave-active {\n  -webkit-transform: translateX(-100%);\n          transform: translateX(-100%); }\n\n.fade-in.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  opacity: 0;\n  transition-property: opacity; }\n\n.fade-in.mui-enter.mui-enter-active {\n  opacity: 1; }\n\n.fade-out.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  opacity: 1;\n  transition-property: opacity; }\n\n.fade-out.mui-leave.mui-leave-active {\n  opacity: 0; }\n\n.hinge-in-from-top.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateX(-90deg);\n          transform: perspective(2000px) rotateX(-90deg);\n  -webkit-transform-origin: top;\n          transform-origin: top;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-top.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-in-from-right.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateY(-90deg);\n          transform: perspective(2000px) rotateY(-90deg);\n  -webkit-transform-origin: right;\n          transform-origin: right;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-right.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-in-from-bottom.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateX(90deg);\n          transform: perspective(2000px) rotateX(90deg);\n  -webkit-transform-origin: bottom;\n          transform-origin: bottom;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-bottom.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-in-from-left.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateY(90deg);\n          transform: perspective(2000px) rotateY(90deg);\n  -webkit-transform-origin: left;\n          transform-origin: left;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-left.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-in-from-middle-x.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateX(-90deg);\n          transform: perspective(2000px) rotateX(-90deg);\n  -webkit-transform-origin: center;\n          transform-origin: center;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-middle-x.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-in-from-middle-y.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotateY(-90deg);\n          transform: perspective(2000px) rotateY(-90deg);\n  -webkit-transform-origin: center;\n          transform-origin: center;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.hinge-in-from-middle-y.mui-enter.mui-enter-active {\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  opacity: 1; }\n\n.hinge-out-from-top.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: top;\n          transform-origin: top;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-top.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateX(-90deg);\n          transform: perspective(2000px) rotateX(-90deg);\n  opacity: 0; }\n\n.hinge-out-from-right.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: right;\n          transform-origin: right;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-right.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateY(-90deg);\n          transform: perspective(2000px) rotateY(-90deg);\n  opacity: 0; }\n\n.hinge-out-from-bottom.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: bottom;\n          transform-origin: bottom;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-bottom.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateX(90deg);\n          transform: perspective(2000px) rotateX(90deg);\n  opacity: 0; }\n\n.hinge-out-from-left.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: left;\n          transform-origin: left;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-left.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateY(90deg);\n          transform: perspective(2000px) rotateY(90deg);\n  opacity: 0; }\n\n.hinge-out-from-middle-x.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: center;\n          transform-origin: center;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-middle-x.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateX(-90deg);\n          transform: perspective(2000px) rotateX(-90deg);\n  opacity: 0; }\n\n.hinge-out-from-middle-y.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: perspective(2000px) rotate(0deg);\n          transform: perspective(2000px) rotate(0deg);\n  -webkit-transform-origin: center;\n          transform-origin: center;\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.hinge-out-from-middle-y.mui-leave.mui-leave-active {\n  -webkit-transform: perspective(2000px) rotateY(-90deg);\n          transform: perspective(2000px) rotateY(-90deg);\n  opacity: 0; }\n\n.scale-in-up.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: scale(0.5);\n          transform: scale(0.5);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.scale-in-up.mui-enter.mui-enter-active {\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  opacity: 1; }\n\n.scale-in-down.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: scale(1.5);\n          transform: scale(1.5);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.scale-in-down.mui-enter.mui-enter-active {\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  opacity: 1; }\n\n.scale-out-up.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.scale-out-up.mui-leave.mui-leave-active {\n  -webkit-transform: scale(1.5);\n          transform: scale(1.5);\n  opacity: 0; }\n\n.scale-out-down.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.scale-out-down.mui-leave.mui-leave-active {\n  -webkit-transform: scale(0.5);\n          transform: scale(0.5);\n  opacity: 0; }\n\n.spin-in.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: rotate(-0.75turn);\n          transform: rotate(-0.75turn);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.spin-in.mui-enter.mui-enter-active {\n  -webkit-transform: rotate(0);\n          transform: rotate(0);\n  opacity: 1; }\n\n.spin-out.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: rotate(0);\n          transform: rotate(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.spin-out.mui-leave.mui-leave-active {\n  -webkit-transform: rotate(0.75turn);\n          transform: rotate(0.75turn);\n  opacity: 0; }\n\n.spin-in-ccw.mui-enter {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: rotate(0.75turn);\n          transform: rotate(0.75turn);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 0; }\n\n.spin-in-ccw.mui-enter.mui-enter-active {\n  -webkit-transform: rotate(0);\n          transform: rotate(0);\n  opacity: 1; }\n\n.spin-out-ccw.mui-leave {\n  transition-duration: 500ms;\n  transition-timing-function: linear;\n  -webkit-transform: rotate(0);\n          transform: rotate(0);\n  transition-property: opacity, -webkit-transform;\n  transition-property: transform, opacity;\n  transition-property: transform, opacity, -webkit-transform;\n  opacity: 1; }\n\n.spin-out-ccw.mui-leave.mui-leave-active {\n  -webkit-transform: rotate(-0.75turn);\n          transform: rotate(-0.75turn);\n  opacity: 0; }\n\n.slow {\n  transition-duration: 750ms !important; }\n\n.fast {\n  transition-duration: 250ms !important; }\n\n.linear {\n  transition-timing-function: linear !important; }\n\n.ease {\n  transition-timing-function: ease !important; }\n\n.ease-in {\n  transition-timing-function: ease-in !important; }\n\n.ease-out {\n  transition-timing-function: ease-out !important; }\n\n.ease-in-out {\n  transition-timing-function: ease-in-out !important; }\n\n.bounce-in {\n  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }\n\n.bounce-out {\n  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }\n\n.bounce-in-out {\n  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }\n\n.short-delay {\n  transition-delay: 300ms !important; }\n\n.long-delay {\n  transition-delay: 700ms !important; }\n\n.shake {\n  -webkit-animation-name: shake-7;\n          animation-name: shake-7; }\n\n@-webkit-keyframes shake-7 {\n  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {\n    -webkit-transform: translateX(7%);\n            transform: translateX(7%); }\n  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {\n    -webkit-transform: translateX(-7%);\n            transform: translateX(-7%); } }\n\n@keyframes shake-7 {\n  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {\n    -webkit-transform: translateX(7%);\n            transform: translateX(7%); }\n  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {\n    -webkit-transform: translateX(-7%);\n            transform: translateX(-7%); } }\n\n.spin-cw {\n  -webkit-animation-name: spin-cw-1turn;\n          animation-name: spin-cw-1turn; }\n\n@-webkit-keyframes spin-cw-1turn {\n  0% {\n    -webkit-transform: rotate(-1turn);\n            transform: rotate(-1turn); }\n  100% {\n    -webkit-transform: rotate(0);\n            transform: rotate(0); } }\n\n@keyframes spin-cw-1turn {\n  0% {\n    -webkit-transform: rotate(-1turn);\n            transform: rotate(-1turn); }\n  100% {\n    -webkit-transform: rotate(0);\n            transform: rotate(0); } }\n\n.spin-ccw {\n  -webkit-animation-name: spin-cw-1turn;\n          animation-name: spin-cw-1turn; }\n\n@keyframes spin-cw-1turn {\n  0% {\n    -webkit-transform: rotate(0);\n            transform: rotate(0); }\n  100% {\n    -webkit-transform: rotate(1turn);\n            transform: rotate(1turn); } }\n\n.wiggle {\n  -webkit-animation-name: wiggle-7deg;\n          animation-name: wiggle-7deg; }\n\n@-webkit-keyframes wiggle-7deg {\n  40%, 50%, 60% {\n    -webkit-transform: rotate(7deg);\n            transform: rotate(7deg); }\n  35%, 45%, 55%, 65% {\n    -webkit-transform: rotate(-7deg);\n            transform: rotate(-7deg); }\n  0%, 30%, 70%, 100% {\n    -webkit-transform: rotate(0);\n            transform: rotate(0); } }\n\n@keyframes wiggle-7deg {\n  40%, 50%, 60% {\n    -webkit-transform: rotate(7deg);\n            transform: rotate(7deg); }\n  35%, 45%, 55%, 65% {\n    -webkit-transform: rotate(-7deg);\n            transform: rotate(-7deg); }\n  0%, 30%, 70%, 100% {\n    -webkit-transform: rotate(0);\n            transform: rotate(0); } }\n\n.shake,\n.spin-cw,\n.spin-ccw,\n.wiggle {\n  -webkit-animation-duration: 500ms;\n          animation-duration: 500ms; }\n\n.infinite {\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite; }\n\n.slow {\n  -webkit-animation-duration: 750ms !important;\n          animation-duration: 750ms !important; }\n\n.fast {\n  -webkit-animation-duration: 250ms !important;\n          animation-duration: 250ms !important; }\n\n.linear {\n  -webkit-animation-timing-function: linear !important;\n          animation-timing-function: linear !important; }\n\n.ease {\n  -webkit-animation-timing-function: ease !important;\n          animation-timing-function: ease !important; }\n\n.ease-in {\n  -webkit-animation-timing-function: ease-in !important;\n          animation-timing-function: ease-in !important; }\n\n.ease-out {\n  -webkit-animation-timing-function: ease-out !important;\n          animation-timing-function: ease-out !important; }\n\n.ease-in-out {\n  -webkit-animation-timing-function: ease-in-out !important;\n          animation-timing-function: ease-in-out !important; }\n\n.bounce-in {\n  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;\n          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }\n\n.bounce-out {\n  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;\n          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }\n\n.bounce-in-out {\n  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;\n          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }\n\n.short-delay {\n  -webkit-animation-delay: 300ms !important;\n          animation-delay: 300ms !important; }\n\n.long-delay {\n  -webkit-animation-delay: 700ms !important;\n          animation-delay: 700ms !important; }\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/dist/motion-ui.js",
    "content": ";(function(root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    define(['jquery'], factory);\n  } else if (typeof exports === 'object') {\n    module.exports = factory(require('jquery'));\n  } else {\n    root.MotionUI = factory(root.jQuery);\n  }\n}(this, function($) {\n'use strict';\n\n// Polyfill for requestAnimationFrame\n(function() {\n  if (!Date.now)\n    Date.now = function() { return new Date().getTime(); };\n\n  var vendors = ['webkit', 'moz'];\n  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n      window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n                                 || window[vp+'CancelRequestAnimationFrame']);\n  }\n  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n    || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n    var lastTime = 0;\n    window.requestAnimationFrame = function(callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function() { callback(lastTime = nextTime); },\n                          nextTime - now);\n    };\n    window.cancelAnimationFrame = clearTimeout;\n  }\n})();\n\nvar initClasses   = ['mui-enter', 'mui-leave'];\nvar activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\n// Find the right \"transitionend\" event for this browser\nvar endEvent = (function() {\n  var transitions = {\n    'transition': 'transitionend',\n    'WebkitTransition': 'webkitTransitionEnd',\n    'MozTransition': 'transitionend',\n    'OTransition': 'otransitionend'\n  }\n  var elem = window.document.createElement('div');\n\n  for (var t in transitions) {\n    if (typeof elem.style[t] !== 'undefined') {\n      return transitions[t];\n    }\n  }\n\n  return null;\n})();\n\nfunction animate(isIn, element, animation, cb) {\n  element = $(element).eq(0);\n\n  if (!element.length) return;\n\n  if (endEvent === null) {\n    isIn ? element.show() : element.hide();\n    cb();\n    return;\n  }\n\n  var initClass = isIn ? initClasses[0] : initClasses[1];\n  var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n  // Set up the animation\n  reset();\n  element.addClass(animation);\n  element.css('transition', 'none');\n  requestAnimationFrame(function() {\n    element.addClass(initClass);\n    if (isIn) element.show();\n  });\n\n  // Start the animation\n  requestAnimationFrame(function() {\n    element[0].offsetWidth;\n    element.css('transition', '');\n    element.addClass(activeClass);\n  });\n\n  // Clean up the animation when it finishes\n  element.one('transitionend', finish);\n\n  // Hides the element (for out animations), resets the element, and runs a callback\n  function finish() {\n    if (!isIn) element.hide();\n    reset();\n    if (cb) cb.apply(element);\n  }\n\n  // Resets transitions and removes motion-specific classes\n  function reset() {\n    element[0].style.transitionDuration = 0;\n    element.removeClass(initClass + ' ' + activeClass + ' ' + animation);\n  }\n}\n\nvar MotionUI = {\n  animateIn: function(element, animation, cb) {\n    animate(true, element, animation, cb);\n  },\n\n  animateOut: function(element, animation, cb) {\n    animate(false, element, animation, cb);\n  }\n}\n\nreturn MotionUI;\n}));\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/animations.md",
    "content": "# Animations\n\n## Basics\n\nUse the `mui-animation` mixin to create CSS keyframe animations. The mixin accepts a keyframe function, like this:\n\n```scss\n.spin-cw {\n  @include mui-animation(spin(in, 360deg));\n}\n```\n\nThe CSS output looks like this:\n\n```css\n@keyframes spin-cw-360deg {\n  0% {\n    transform: rotate(0deg); }\n  100% {\n    transform: rotate(360deg); }\n}\n\n.spin-cw {\n  animation-name: spin-cw-360deg;\n}\n```\n\n**Note that in order to play properly, the element must have at least the property `animation-duration` applied to it as well.**\n\nThere are seven keyframe functions:\n\n- `fade($from, $to)`\n- `hinge($state, $from, $axis, $perspective, $turn-origin)`\n- `shake($intensity)`\n- `slide($state, $direction, $amount)`\n- `spin($state, $direction, $amount)`\n- `wiggle($intensity)`\n- `zoom($from, $to)`\n\nAll keyframe functions have parameters that customize the effect. For example, with `shake()` and `wiggle()` you can set the intensity of the effect, and with `spin()` you can set how many degrees the spin goes.\n\nIf you're using a keyframe effect as-is, it can be inserted as a plain string instead of a function call, like so:\n\n.zoom-in {\n  @include mui-animation(zoom);\n}\n\n## Combination Effects\n\nMultiple keyframe effects can be combined into one. For example, you can combine a fade, slide, and spin into one animation, for something truly monstrous.\n\nTo create a combined effect, just add more keyframe functions to the `mui-animation` mixin, as additional parameters.\n\n```scss\n.slide-and-fade-and-spin {\n  @include mui-animation(slide, fade, spin(120deg));\n}\n```\n\n**Note that this doesn't work with the `shake()` or `wiggle()` animations. Only animations with single start and end keyframes can be combined.**\n\n## Series Animations\n\nMultiple elements can be animated in series.\n\nTo set it up, make sure each animating element shares a common parent.\n\n```html\n<div class=\"animation-wrapper\">\n  <div class=\"shake\"></div>\n  <div class=\"spin\"></div>\n  <div class=\"wiggle\"></div>\n</div>\n```\n\nBegin your series with the `mui-series()` mixin. Inside this mixin, attach animations to classes with the `mui-queue()` mixin. The first parameter is the length of the animation, the second parameter is an optional pause to create before the next animation, and the remaining parameters are a set of keyframe functions.\n\n```scss\n@include mui-series {\n  // 2 second shake\n  .shake    { @include mui-queue(2s, 0s, shake); }\n  // 1 second spin with a 2 second pause\n  .spin     { @include mui-queue(1s, 2s, spin); }\n  // 1 second zoom and fade\n  .fade-zoom { @include mui-queue(1s, 0s, fade, zoom); }\n}\n```\n\nTo add a delay to the start of the queue, add the length in seconds to the `mui-series` mixin.\n\n```scss\n// 2 second delay before the first shake\n@include mui-series(2s) {\n  .shake  { @include mui-queue(2s, 0s, shake()); }\n  .spin   { @include mui-queue(1s, 2s, spin()); }\n  .wiggle { @include mui-queue(wiggle); }\n}\n```\n\nTo trigger the queue, add the class `.is-animating` to the parent container. This can be done easily in JavaScript:\n\n```js\n// Plain JavaScript (IE10+)\ndocument.querySelector('.animation-wrapper').classList.add('is-animating');\n\n// jQuery\n$('.animation-wrapper').addClass('is-animating');\n```\n\n## Use with WOW.js\n\nMotion UI can be paired with WOW.js to animate elements in as the page scrolls. [Learn more about WOW.js integration.](wow.md);\n\n\n## Mixins\n\n\n### mui-animation()\n\nCreates a keyframe from one or more effect functions and assigns it to the element by adding the `animation-name` property.\n\n**Parameters:**\n\n- `effects...` (Function) - One or more effect functions to build the keyframe with.\n\n\n### mui-keyframes()\n\nCreates a keyframe from one or more effect functions. Use this function instead of `mui-animation` if you want to create a keyframe animation *without* automatically assigning it to the element.\n\n**Parameters:**\n\n- `name` (String) - Name of the keyframe.\n- `effects...` (Function) - One or more effect functions to build the keyframe with.\n\n\n### mui-series()\n\nCreates a new animation queue.\n\n**Parameters:**\n\n- `delay` (Duration) - Delay in seconds or milliseconds to place at the front of the animation queue. (**Default:** 0s)\n\n\n### mui-queue()\n\nAdds an animation to an animation queue. Only use this mixin inside of `mui-series()`.\n\n**Parameters:**\n\n- `duration` (Duration) - Length of the animation. (**Default:** 1s)\n- `gap` (Duration) - Amount of time to pause before playing the animation after this one. Use a negative value to make the next effect overlap with the current one. (**Default:** 0s)\n- `keyframes...` (Function) - One or more effect functions to build the keyframe with.\n\n\n## Functions\n\n\n### fade()\n\nCreates a fading animation.\n\n**Parameters:**\n\n- `from` (Number) - Opacity to start at. (**Default:** 0)\n- `to` (Number) - Opacity to end at. (**Default:** 1)\n\n\n### hinge()\n\nCreates a hinge effect by rotating the element.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `from` (Keyword) - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`. (**Default:** left)\n- `axis` (Keyword) - Axis of the element to rotate on. Can be `edge` or `center`. (**Default:** edge)\n- `perspective` (Number) - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced. (**Default:** 2000px)\n- `turn-origin` (Keyword) - Side of the element to start the rotation from. Can be `from-back` or `from-front`. (**Default:** from-back)\n\n\n### shake()\n\nCreates a shaking animation.\n\n**Parameters:**\n\n- `intensity` (Percentage) - Intensity of the shake, as a percentage value. (**Default:** 7%)\n\n\n### slide()\n\nCreates a sliding animation.\n\n**Parameters:**\n\n- `state` (Keyword) - Whether to move to (`in`) or from (`out`) the element's default position. (**Default:** in)\n- `direction` (Keyword) - Direction to move. Can be `up`, `down`, `left`, or `right`. (**Default:** up)\n- `amount` (Number) - Distance to move. Can be any CSS length unit. (**Default:** 100%)\n\n\n### spin()\n\nCreates a spinning animation.\n\n**Parameters:**\n\n- `direction` (Keyword) - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise). (**Default:** cw)\n- `amount` (Number) - Amount to spin. Can be any CSS angle unit. (**Default:** 360deg)\n\n\n### wiggle()\n\nCreates a wiggling animation.\n\n**Parameters:**\n\n- `intensity` (Number) - Intensity of the wiggle. Can be any CSS angle unit. (**Default:** 7deg)\n\n\n### zoom()\n\nCreates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller.\n\n**Parameters:**\n\n- `from` (Number) - Size to start at. (**Default:** 1.5)\n- `to` (Number) - Size to end at. (**Default:** 1)\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/classes.md",
    "content": "# CSS Classes\n\nThe Sass mixins are the heart of Motion UI, but the library also includes many pre-made CSS classes to get you up and running faster.\n\n## Defaults\n\nThe pre-made classes all use these transition/animation defaults:\n\n- **Speed:** 500ms\n- **Timing:** Linear\n- **Delay:** 0s\n\nThese defaults can be changed by modifying the [Motion UI settings](configuration.md);\n\n## Transition Classes\n\n- **Slide:**\n  - `.slide-in-down`\n  - `.slide-in-left`\n  - `.slide-in-up`\n  - `.slide-in-right`\n  - `.slide-out-down`\n  - `.slide-out-left`\n  - `.slide-out-up`\n  - `.slide-out-right`\n- **Fade:**\n  - `.fade-in`\n  - `.fade-out`\n- **Hinge:**\n  - `.hinge-in-from-top`\n  - `.hinge-in-from-right`\n  - `.hinge-in-from-bottom`\n  - `.hinge-in-from-left`\n  - `.hinge-in-from-middle-x`\n  - `.hinge-in-from-middle-y`\n  - `.hinge-out-from-top`\n  - `.hinge-out-from-right`\n  - `.hinge-out-from-bottom`\n  - `.hinge-out-from-left`\n  - `.hinge-out-from-middle-x`\n  - `.hinge-out-from-middle-y`\n- **Scale:**\n  - `.scale-in-up`\n  - `.scale-in-down`\n  - `.scale-out-up`\n  - `.scale-out-down`\n- **Spin:**\n  - `.spin-in`\n  - `.spin-out`\n  - `.spin-in-ccw`\n  - `.spin-out-ccw`\n\n## Animation Classes\n\n- `.shake`: shakes the element horizontally.\n- `.wiggle`: rotates the element back and forth.\n- `.spin-cw`: rotates the element once.\n- `.spin-ccw`: rotates the element once, counterclockwise.\n\n## Modifier Classes\n\nModifiers work with both transitions and animations.\n\n- **Speed:**\n  - `.slow` (750ms)\n  - `.fast` (250ms)\n- **Timing:**\n  - `.linear`\n  - `.ease`\n  - `.ease-in`\n  - `.ease-out`\n  - `.ease-in-out`\n  - `.bounce-in`\n  - `.bounce-out`\n  - `.bounce-in-out`\n- **Delay:**\n  - `.short-delay` (300ms)\n  - `.long-delay` (700ms)\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/configuration.md",
    "content": "# Configuration\n\nMotion UI has six variables which store all of the library's settings. Each is a map of keys and values.\n\n## States\n\n```scss\n$motion-ui-states: (\n  in: 'enter',\n  out: 'leave',\n);\n```\n\nMotion UI defines two motion states: `in` and `out`, which create classes with the words `enter` and `leave` respectively.\n\n## Classes\n\n```scss\n$motion-ui-classes: (\n  chain: true,\n  prefix: 'mui-',\n  active: '-active',\n);\n```\n\nDifferent animation libraries have different ways of writing classes, but most libraries require a setup class, as well as an active class to trigger a transition or animation.\n\nThe default configuration outputs classes like this:\n\n```css\n.fade-in.mui-enter {}\n.fade-in.mui-enter.mui-enter-active {}\n```\n\nSet the `chain` property of `$motion-ui-classes` to `false` to create classes like this:\n\n```css\n.fade-in-mui-enter {}\n.fade-in-mui-enter.fade-in-mui-enter-active {}\n```\n\nThe class output can also be fine-tuned with the `prefix` and `active` properties.\n\n## Animation Defaults\n\nThe maps `$motion-ui-speeds`, `$motion-ui-delays`, and `$motion-ui-easings` define terms for animation speeds, delays, and timing functions. For example, the `default` speed of animations is 500ms, while `slow` is 750ms, and `fast` is 250ms.\n\n## Other Settings\n\nMiscellaneous settings are in the `$motion-ui-settings` map. These settings define if animations include a fade, and what class to use for triggering an animation queue.\n\n```scss\n$motion-ui-settings: (\n  slide-and-fade: false,\n  hinge-and-fade: true,\n  scale-and-fade: true,\n  spin-and-fade: true,\n  activate-queue-class: 'is-animating'\n);\n```\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/installation.md",
    "content": "# Getting Started\n\n## Installation\n\nInstall Motion UI with npm or Bower.\n\n```bash\nnpm install motion-ui --save\nbower install motion-ui --save\n```\n\n## Sass Usage\n\nTo import the Sass files into a project, add the load path `[modules_folder]/motion-ui/src` to your Sass configuration, then `@import` the library:\n\n```scss\n@import 'motion-ui';\n```\n\n**[Autoprefixer](https://github.com/postcss/autoprefixer) is required to use this library.** The library uses unprefixed `transition` and `animation` properties, which are then prefixed by Autoprefixer.\n\nThe library includes two mixins which export all of the [default CSS](classes.md) for the framework. This includes:\n\n- Transitions for slide, fade, hinge, scale, and spin\n- Animation classes for spinning, shaking, and wiggling\n- Modifier classes for transition/animation speed, timing, and delay\n\n```scss\n@include motion-ui-transitions;\n@include motion-ui-animations;\n```\n\n## CSS Usage\n\nThe package files also include these pre-made classes as a standalone CSS file, in minified and unminified flavors.\n\n- **Uncompressed:** `[modules_folder]/motion-ui/dist/motion-ui.css`\n- **Compressed:** `[modules_folder]/motion-ui/dist/motion-ui.min.css`\n\n## JavaScript Usage\n\nThe package includes a small JavaScript library to help you transition elements in and out using Motion UI classes. It can be referenced as a browser global or a CommonJS/AMD package. Like the CSS, there's uncompressed and compressed versions included.\n\n- **Uncompressed:** `[modules_folder]/motion-ui/dist/motion-ui.js`\n- **Compressed:** `[modules_folder]/motion-ui/dist/motion-ui.min.js`\n\nRefer to the full [JavaScript documentation](javascript.md) to learn more about how the JS library works.\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/javascript.md",
    "content": "# JavaScript\n\nMotion UI includes a small JavaScript library that can play transitions, although this specific library is not required to take advantage of Motion UI's CSS. Animating in reveals a hidden element, while animating out hides a visible element.\n\nThe library is available on `window.MotionUI`, or can imported with a module system.\n\n## Usage\n\nThe `MotionUI` object has two methods: `animateIn()` and `animateOut()`. Both functions take three parameters:\n\n- `element`: a DOM element to animate.\n- `animation`: a transition class to use.\n- `cb` (optional): a callback to run when the transition finishes. Within the callback, the value of `this` is the DOM element that was transitioned.\n\nHere's an example:\n\n```js\nvar $elem = $('[data-animate]');\n\nMotionUI.animateIn($elem, 'slide-in', function() {\n  console.log('Transition finished!');\n});\n```\n\nWhat about animations? Those can be triggered just by adding the animation class to an element. Here are examples with plain JavaScript and with jQuery:\n\n```js\n// Plain JavaScript (IE10+)\ndocument.querySelector('.animating-thing').classList.add('wiggle');\n\n// jQuery\n$('.animating-thing').addClass('wiggle');\n```\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/readme.md",
    "content": "# Motion UI Documentation\n\n### [Installation](installation.md)\n\nInstalling Motion UI.\n\n### [Transitions](transitions.md)\n\nUsing CSS transitions to show and hide components.\n\n### [Animations](animations.md)\n\nUsing CSS animations to add effects.\n\n### [CSS Classes](classes.md)\n\nUsing the library's pre-made CSS classes.\n\n### [JavaScript](javascript.md)\n\nUsing the JavaScript plugin to transition elements in and out.\n\n### [Configuration](configuration.md)\n\nCustomizing Motion UI.\n\n### [WOW.js](wow.md)\n\nUsing Motion UI with WOW.js.\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/transitions.md",
    "content": "# Transitions\n\nEach transition has its own mixin, with multiple parameters that can customize the details of the effect. To create a transition class, just `@include` the mixin inside a class. Motion UI will create the necessary boilerplate for you.\n\nHere's a basic fade in class. The first parameter of every transition mixin is a *state*, which is either `in` or `out`. In transitions reveal elements, while out transitions hide them.\n\n```scss\n.fade-in {\n  @include mui-fade(in);\n}\n```\n\nHere's what the CSS looks like.\n\n```css\n.fade-in.mui-enter {\n  opacity: 0;\n  transition-property: opacity; }\n\n.fade-in.mui-enter.mui-enter-active {\n  opacity: 1; }\n```\n\nThe last three parameters of every transition mixin are the same: `$duration`, which sets the speed of the effect; `$timing`, which adjusts the easing; and `$delay`, which adds a delay before the effect starts.\n\n```scss\n.fade-in {\n  // A long, long fade\n  @include mui-fade(in, $duration: 10s);\n}\n```\n\n\n## Mixins\n\n\n### mui-fade()\n\nCreates a fade transition by adjusting the opacity of the element.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `from` (Number) - Opacity to start at. Must be a number between 0 and 1. (**Default:** 0)\n- `to` (Number) - Opacity to end on. (**Default:** 1)\n- `duration` (Keyword) - Length (speed) of the transition. (**Default:** null)\n- `timing` (Keyword|Function) - Easing of the transition. (**Default:** null)\n- `delay` (Duration) - Delay in seconds or milliseconds before the transition starts. (**Default:** null)\n\n\n### mui-hinge()\n\nCreates a hinge transition by rotating the element.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `from` (Keyword) - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`. (**Default:** left)\n- `axis` (Keyword) - Axis of the element to rotate on. Can be `edge` or `center`. (**Default:** edge)\n- `perspective` (Length) - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced. (**Default:** 2000px)\n- `turn-origin` (Keyword) - Side of the element to start the rotation from. Can be `from-back` or `from-front`. (**Default:** from-back)\n- `fade` (Boolean) - Set to `true` to fade the element in or out simultaneously. (**Default:** true)\n- `duration` (Duration) - Length (speed) of the transition. (**Default:** null)\n- `timing` (Keyword|Function) - Easing of the transition. (**Default:** null)\n- `delay` (Duration) - Delay in seconds or milliseconds before the transition starts. (**Default:** null)\n\n\n### mui-slide()\n\nCreates a sliding transition by translating the element horizontally or vertically.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `direction` (Keyword) - Direction to slide to. Can be `up`, `right`, `down`, or `left`. (**Default:** left)\n- `amount` (Length) - Length of the slide as a percentage value. (**Default:** 100%)\n- `fade` (Boolean) - Set to `true` to fade the element in or out simultaneously. (**Default:** false)\n- `duration` (Duration) - Length (speed) of the transition. (**Default:** null)\n- `timing` (Keyword|Function) - Easing of the transition. (**Default:** null)\n- `delay` (Duration) - Delay in seconds or milliseconds before the transition starts. (**Default:** null)\n\n\n### mui-spin()\n\nCreates a spinning transition by rotating the element. The `turn` unit is used to specify how far to rotate. `1turn` is equal to a 360-degree spin.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `direction` (Boolean) - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise). (**Default:** cw)\n- `amount` (Number) - Amount to element the element. (**Default:** 0.75turn)\n- `fade` (Boolean) - Set to `true` to fade the element in or out simultaneously. (**Default:** false)\n- `duration` (Duration) - Length (speed) of the transition. (**Default:** null)\n- `timing` (Keyword|Function) - Easing of the transition. (**Default:** null)\n- `delay` (Duration) - Delay in seconds or milliseconds before the transition starts. (**Default:** null)\n\n\n### mui-zoom()\n\nCreates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller.\n\n**Parameters:**\n\n- `state` (Keyword) - State to transition to. (**Default:** in)\n- `from` (Number) - Size to start at. (**Default:** 1.5)\n- `from` (Number) - Size to end at. (**Default:** 1)\n- `fade` (Boolean) - Set to `true` to fade the element in or out simultaneously. (**Default:** true)\n- `duration` (Duration) - Length (speed) of the transition. (**Default:** null)\n- `timing` (Keyword|Function) - Easing of the transition. (**Default:** null)\n- `delay` (Duration) - Delay in seconds or milliseconds before the transition starts. (**Default:** null)\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/docs/wow.md",
    "content": "# WOW.js Integration\n\nMotion UI can be paired with [WOW.js](http://mynameismatthieu.com/WOW/) to trigger animations as elements scroll into view. **[Here's a CodePen that illustrates the concepts below](http://codepen.io/gakimball/pen/WrKRRy)**.\n\nTo start, load the JavaScript for WOW.js. The quickest way to do this is by loading from a CDN:\n\n```html\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js\"></script>\n```\n\nNext, in your main JavaScript file, initialize WOW:\n\n```js\nvar wow = new WOW();\nwow.init();\n```\n\nLastly, we need animation classes to add to elements. Because Motion UI is a transition-focused library, there aren't many animation classes that come out of the box. The built-in animation classes are `.wiggle`, `.shake`, `.spin-cw`, and `.spin-ccw`. However, creating out own animation class using any of the transition effects is easy, using Motion UI's Sass mixins.\n\nHere's a basic fade class. Refer to the [documentation on animations](animations.md) to learn more about how animations are built.\n\n```scss\n.animate-fade-in {\n  @include mui-animation(fade);\n}\n```\n\nNow we can apply this class to any element. We also add the class `.wow`, so WOW knows which elements to target as the page scrolls.\n\n```html\n<img class=\"wow animate-fade-in\" src=\"//placekitten.com/300/300\">\n```\n\n\n\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/gulpfile.js",
    "content": "var $             = require('gulp-load-plugins')();\nvar gulp          = require('gulp');\nvar rimraf        = require('rimraf').sync;\nvar sequence      = require('run-sequence');\nvar supercollider = require('supercollider');\n\nvar COMPATIBILITY = [\n  'last 2 versions',\n  'ie >= 10',\n  'and_chr >= 2.3'\n];\n\nsupercollider\n  .config({\n    template: './docs/src/_template.hbs',\n    extension: 'md',\n    marked: false,\n    handlebars: require('./lib/handlebars')\n  })\n  .adapter('sass');\n\ngulp.task('clean', function(done) {\n  rimraf('./_build');\n  rimraf('./docs/*.md');\n  done();\n});\n\ngulp.task('docs', function() {\n  return gulp.src('./docs/src/*.md')\n    .pipe(supercollider.init())\n    .pipe(gulp.dest('./docs'));\n});\n\ngulp.task('sass', function() {\n  return gulp.src('./motion-ui.scss')\n    .pipe($.sass().on('error', $.sass.logError))\n    .pipe($.autoprefixer({\n      browsers: COMPATIBILITY\n    }))\n    .pipe(gulp.dest('./_build'));\n});\n\ngulp.task('javascript', function() {\n  return gulp.src('./motion-ui.js')\n    .pipe($.umd({\n      dependencies: function(file) {\n        return [{ name: 'jquery', amd: 'jquery', cjs: 'jquery', global: 'jQuery', param: '$' }];\n      },\n      exports: function(file) {\n        return 'MotionUI';\n      },\n      namespace: function(file) {\n        return 'MotionUI';\n      }\n    }))\n    .pipe(gulp.dest('./_build'));\n});\n\ngulp.task('dist', ['dist:sass', 'dist:javascript']);\n\ngulp.task('dist:sass', ['sass'], function() {\n  return gulp.src('./_build/motion-ui.css')\n    .pipe(gulp.dest('./dist'))\n    .pipe($.minifyCss())\n    .pipe($.rename('motion-ui.min.css'))\n    .pipe(gulp.dest('./dist'));\n});\n\ngulp.task('dist:javascript', ['javascript'], function() {\n  return gulp.src('./_build/motion-ui.js')\n    .pipe(gulp.dest('./dist'))\n    .pipe($.uglify())\n    .pipe($.rename('motion-ui.min.js'))\n    .pipe(gulp.dest('./dist'));\n});\n\ngulp.task('build', function(done) {\n  sequence('clean', ['docs', 'sass', 'javascript'], done);\n});\n\ngulp.task('lint', function() {\n  return gulp.src('./src/**/*.scss')\n    .pipe($.scssLint());\n})\n\ngulp.task('default', ['build'], function() {\n  gulp.watch(['./docs/src/*.md', './docs/src/_template.hbs'], ['docs']);\n  gulp.watch(['./src/**/*.scss', './motion-ui.scss'], ['sass']);\n  gulp.watch('./motion-ui.js', ['javascript']);\n});\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/lib/handlebars.js",
    "content": "var handlebars = require('handlebars');\n\nhandlebars.registerHelper('private', function(item, content) {\n  if (item.access === 'public') return content.fn(this);\n  else return content.inverse(this);\n});\n\nmodule.exports = handlebars;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/motion-ui.js",
    "content": "'use strict';\n\n// Polyfill for requestAnimationFrame\n(function() {\n  if (!Date.now)\n    Date.now = function() { return new Date().getTime(); };\n\n  var vendors = ['webkit', 'moz'];\n  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n      var vp = vendors[i];\n      window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n      window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n                                 || window[vp+'CancelRequestAnimationFrame']);\n  }\n  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n    || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n    var lastTime = 0;\n    window.requestAnimationFrame = function(callback) {\n        var now = Date.now();\n        var nextTime = Math.max(lastTime + 16, now);\n        return setTimeout(function() { callback(lastTime = nextTime); },\n                          nextTime - now);\n    };\n    window.cancelAnimationFrame = clearTimeout;\n  }\n})();\n\nvar initClasses   = ['mui-enter', 'mui-leave'];\nvar activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\n// Find the right \"transitionend\" event for this browser\nvar endEvent = (function() {\n  var transitions = {\n    'transition': 'transitionend',\n    'WebkitTransition': 'webkitTransitionEnd',\n    'MozTransition': 'transitionend',\n    'OTransition': 'otransitionend'\n  }\n  var elem = window.document.createElement('div');\n\n  for (var t in transitions) {\n    if (typeof elem.style[t] !== 'undefined') {\n      return transitions[t];\n    }\n  }\n\n  return null;\n})();\n\nfunction animate(isIn, element, animation, cb) {\n  element = $(element).eq(0);\n\n  if (!element.length) return;\n\n  if (endEvent === null) {\n    isIn ? element.show() : element.hide();\n    cb();\n    return;\n  }\n\n  var initClass = isIn ? initClasses[0] : initClasses[1];\n  var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n  // Set up the animation\n  reset();\n  element.addClass(animation);\n  element.css('transition', 'none');\n  requestAnimationFrame(function() {\n    element.addClass(initClass);\n    if (isIn) element.show();\n  });\n\n  // Start the animation\n  requestAnimationFrame(function() {\n    element[0].offsetWidth;\n    element.css('transition', '');\n    element.addClass(activeClass);\n  });\n\n  // Clean up the animation when it finishes\n  element.one('transitionend', finish);\n\n  // Hides the element (for out animations), resets the element, and runs a callback\n  function finish() {\n    if (!isIn) element.hide();\n    reset();\n    if (cb) cb.apply(element);\n  }\n\n  // Resets transitions and removes motion-specific classes\n  function reset() {\n    element[0].style.transitionDuration = 0;\n    element.removeClass(initClass + ' ' + activeClass + ' ' + animation);\n  }\n}\n\nvar MotionUI = {\n  animateIn: function(element, animation, cb) {\n    animate(true, element, animation, cb);\n  },\n\n  animateOut: function(element, animation, cb) {\n    animate(false, element, animation, cb);\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/motion-ui.scss",
    "content": "@import \"src/motion-ui\";\n\n@include motion-ui-transitions;\n@include motion-ui-animations;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/package.json",
    "content": "{\n  \"name\": \"motion-ui\",\n  \"version\": \"1.2.2\",\n  \"description\": \"Sass library for creating transitions and animations.\",\n  \"main\": \"dist/motion-ui.js\",\n  \"scripts\": {\n    \"start\": \"gulp\",\n    \"test\": \"mocha\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/zurb/motion-ui.git\"\n  },\n  \"keywords\": [\n    \"Sass\",\n    \"motion\"\n  ],\n  \"author\": \"ZURB <foundation@zurb.com>\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/zurb/motion-ui/issues\"\n  },\n  \"homepage\": \"http://zurb.com/playground/motion-ui\",\n  \"devDependencies\": {\n    \"gulp\": \"^3.9.0\",\n    \"gulp-autoprefixer\": \"^3.0.2\",\n    \"gulp-load-plugins\": \"^1.0.0-rc.1\",\n    \"gulp-minify-css\": \"^1.2.1\",\n    \"gulp-rename\": \"^1.2.2\",\n    \"gulp-sass\": \"2.1.0-beta\",\n    \"gulp-scss-lint\": \"^0.3.6\",\n    \"gulp-uglify\": \"^1.4.1\",\n    \"gulp-umd\": \"^0.2.0\",\n    \"handlebars\": \"^4.0.3\",\n    \"mocha\": \"^2.3.3\",\n    \"rimraf\": \"^2.4.3\",\n    \"run-sequence\": \"^1.1.4\",\n    \"sass-true\": \"^2.0.2\",\n    \"supercollider\": \"^1.0.0\"\n  },\n  \"dependencies\": {\n    \"jquery\": \"^2.2.0\"\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/_classes.scss",
    "content": "// scss-lint:disable ImportantRule, SpaceAfterComma, SingleLinePerProperty\n\n@mixin -motion-ui-defaults {\n  transition-duration: map-get($motion-ui-speeds, default);\n  transition-timing-function: map-get($motion-ui-easings, default);\n}\n\n// Transitions\n// - - - - - - - - - - - - - - -\n@mixin motion-ui-transitions {\n  // Slide\n  .slide-in-down    { @include mui-slide(in,  down); }\n  .slide-in-left    { @include mui-slide(in,  right); }\n  .slide-in-up      { @include mui-slide(in,  up); }\n  .slide-in-right   { @include mui-slide(in,  left); }\n  .slide-out-down   { @include mui-slide(out, down); }\n  .slide-out-right  { @include mui-slide(out, right); }\n  .slide-out-up     { @include mui-slide(out, up); }\n  .slide-out-left   { @include mui-slide(out, left); }\n\n  // Fade\n  .fade-in  { @include mui-fade(in,  0, 1); }\n  .fade-out { @include mui-fade(out, 1, 0); }\n\n  // Hinge\n  .hinge-in-from-top      { @include mui-hinge(in,  top); }\n  .hinge-in-from-right    { @include mui-hinge(in,  right); }\n  .hinge-in-from-bottom   { @include mui-hinge(in,  bottom); }\n  .hinge-in-from-left     { @include mui-hinge(in,  left); }\n  .hinge-in-from-middle-x  { @include mui-hinge(in,  top,   center); }\n  .hinge-in-from-middle-y  { @include mui-hinge(in,  right, center); }\n  .hinge-out-from-top     { @include mui-hinge(out, top); }\n  .hinge-out-from-right   { @include mui-hinge(out, right); }\n  .hinge-out-from-bottom  { @include mui-hinge(out, bottom); }\n  .hinge-out-from-left    { @include mui-hinge(out, left); }\n  .hinge-out-from-middle-x { @include mui-hinge(out, top,   center); }\n  .hinge-out-from-middle-y { @include mui-hinge(out, right, center); }\n\n  // Scale\n  .scale-in-up    { @include mui-zoom(in,  0.5, 1); }\n  .scale-in-down  { @include mui-zoom(in,  1.5, 1); }\n  .scale-out-up   { @include mui-zoom(out, 1, 1.5); }\n  .scale-out-down { @include mui-zoom(out, 1, 0.5); }\n\n  // Spin\n  .spin-in     { @include mui-spin(in,  cw); }\n  .spin-out    { @include mui-spin(out, cw); }\n  .spin-in-ccw  { @include mui-spin(in,  ccw); }\n  .spin-out-ccw { @include mui-spin(out, ccw); }\n\n  // Transition Modifiers\n  // - - - - - - - - - - - - - - -\n\n  @each $name, $value in $motion-ui-speeds {\n    @if $name != default {\n      .#{$name} { transition-duration: $value !important; }\n    }\n  }\n\n  @each $name, $value in $motion-ui-easings {\n    @if $name != default {\n      .#{$name} { transition-timing-function: $value !important; }\n    }\n  }\n\n  @each $name, $value in $motion-ui-delays {\n    @if $name != default {\n      .#{$name}-delay { transition-delay: $value !important; }\n    }\n  }\n}\n\n// Animations\n// - - - - - - - - - - - - - - -\n@mixin motion-ui-animations {\n  .shake    { @include mui-animation(shake); }\n  .spin-cw  { @include mui-animation(spin); }\n  .spin-ccw { @include mui-animation(spin(ccw)); }\n  .wiggle   { @include mui-animation(wiggle); }\n\n  .shake,\n  .spin-cw,\n  .spin-ccw,\n  .wiggle {\n    animation-duration: map-get($motion-ui-speeds, default);\n  }\n\n  // Animation Modifiers\n  // - - - - - - - - - - - - - - -\n  .infinite { animation-iteration-count: infinite; }\n\n  @each $name, $value in $motion-ui-speeds {\n    @if $name != default {\n      .#{$name} { animation-duration: $value !important; }\n    }\n  }\n\n  @each $name, $value in $motion-ui-easings {\n    @if $name != default {\n      .#{$name} { animation-timing-function: $value !important; }\n    }\n  }\n\n  @each $name, $value in $motion-ui-delays {\n    @if $name != default {\n      .#{$name}-delay { animation-delay: $value !important; }\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/_settings.scss",
    "content": "/// Format for CSS classes created with Motion UI.\n/// @type Map\n/// @prop {Boolean} append [true] - Defines if selectors are chained to the selector (`.class.enter`), or appended as a new class (`.class-enter`).\n/// @prop {String} prefix ['mui-'] - Prefix to add before the state of a class. Enter an empty string to use no prefix.\n/// @prop {String} prefix ['-active'] - Suffix to add to the active state class.\n$motion-ui-classes: (\n  chain: true,\n  prefix: 'mui-',\n  active: '-active',\n) !default;\n\n/// State names to reference when writing motion classes. To use multiple class names for one state, enter a list of strings instead of one string.\n/// @type Map\n$motion-ui-states: (\n  in: 'enter',\n  out: 'leave',\n) !default;\n\n/// Default speed that transitions and animations play at, along with values for modifier classes to change the speed.\n/// @type Map\n$motion-ui-speeds: (\n  default: 500ms,\n  slow: 750ms,\n  fast: 250ms,\n) !default;\n\n/// Default delay to add before motion, along with values for modifier classes to change the delay.\n/// @type Map\n$motion-ui-delays: (\n  default: 0,\n  short: 300ms,\n  long: 700ms,\n) !default;\n\n/// Default easing for transitions and animations, along with values for modifier classes to change the easing.\n/// @type Map\n$motion-ui-easings: (\n  default: linear,\n  linear: linear,\n  ease: ease,\n  ease-in: ease-in,\n  ease-out: ease-out,\n  ease-in-out: ease-in-out,\n  bounce-in: cubic-bezier(0.485, 0.155, 0.24, 1.245),\n  bounce-out: cubic-bezier(0.485, 0.155, 0.515, 0.845),\n  bounce-in-out: cubic-bezier(0.76, -0.245, 0.24, 1.245),\n) !default;\n\n/// Miscellaneous settings related to Motion UI.\n/// @type Map\n/// @prop {Boolean} slide-and-fade [false] - Defines if slide motions should also fade in/out.\n/// @prop {Boolean} slide-and-fade [true] - Defines if hinge motions should also fade in/out.\n/// @prop {Boolean} slide-and-fade [true] - Defines if scale motions should also fade in/out.\n/// @prop {Boolean} slide-and-fade [true] - Defines if spin motions should also fade in/out.\n$motion-ui-settings: (\n  slide-and-fade: false,\n  hinge-and-fade: true,\n  scale-and-fade: true,\n  spin-and-fade: true,\n  activate-queue-class: 'is-animating',\n) !default;\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_fade.scss",
    "content": "/// Creates a fading animation.\n/// @param {Number} $from [0] - Opacity to start at.\n/// @param {Number} $to [1] - Opacity to end at.\n/// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.\n@function fade(\n  $from: 0,\n  $to: 1\n) {\n  $type: type-of($from);\n  $keyframes: ();\n\n  @if $type == 'string' {\n    @if $from == in {\n      $from: 0;\n      $to: 1;\n    } @else if $from == out {\n      $from: 1;\n      $to: 0;\n    }\n  }\n\n  $fromName: $from * 100;\n  $toName:   $to   * 100;\n\n  $keyframes: (\n    name: 'fade-#{$fromName}-to-#{$toName}',\n    0: (opacity: $from),\n    100: (opacity: $to),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_hinge.scss",
    "content": "/// Creates a hinge effect by rotating the element.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Keyword} $from [left] - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`.\n/// @param {Keyword} $axis [edge] - Axis of the element to rotate on. Can be `edge` or `center`.\n/// @param {Number} $perspective [2000px] - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced.\n/// @param {Keyword} $turn-origin [from-back] - Side of the element to start the rotation from. Can be `from-back` or `from-front`.\n@function hinge (\n  $state: in,\n  $from: left,\n  $axis: edge,\n  $perspective: 2000px,\n  $turn-origin: from-back\n) {\n  // Rotation directions when hinging from back vs. front\n  $rotation-amount: 90deg;\n  $rotations-back: (\n    top: rotateX($rotation-amount * -1),\n    right: rotateY($rotation-amount * -1),\n    bottom: rotateX($rotation-amount),\n    left: rotateY($rotation-amount),\n  );\n  $rotations-from: (\n    top: rotateX($rotation-amount),\n    right: rotateY($rotation-amount),\n    bottom: rotateX($rotation-amount * -1),\n    left: rotateY($rotation-amount * -1),\n  );\n\n  // Rotation origin\n  $rotation: '';\n  @if $turn-origin == from-front {\n    $rotation: map-get($rotations-from, $from);\n  } @else if $turn-origin == from-back {\n    $rotation: map-get($rotations-back, $from);\n  } @else {\n    @warn '$turn-origin must be either \"from-back\" or \"from-front\"';\n  }\n\n  // Start and end state\n  $start: '';\n  $end: '';\n  @if $state == in {\n    $start: perspective($perspective) $rotation;\n    $end: perspective($perspective) rotate(0deg);\n  } @else {\n    $start: perspective($perspective) rotate(0deg);\n    $end: perspective($perspective) $rotation;\n  }\n\n  // Turn axis\n  $origin: '';\n  @if $axis == edge {\n    $origin: $from;\n  } @else {\n    $origin: center;\n  }\n\n  $keyframes: (\n    name: 'hinge-#{$state}-#{$from}-#{$axis}-#{$turn-origin}',\n    0: (transform: $start, transform-origin: $origin),\n    100: (transform: $end),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_shake.scss",
    "content": "/// Creates a shaking animation.\n/// @param {Percentage} $intensity [7%] - Intensity of the shake, as a percentage value.\n/// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.\n@function shake($intensity: 7%) {\n  $right: (0, 10, 20, 30, 40, 50, 60, 70, 80, 90);\n  $left: (5, 15, 25, 35, 45, 55, 65, 75, 85, 95);\n\n  $keyframes: (\n    name: 'shake-#{($intensity / 1%)}',\n    $right: (transform: translateX($intensity)),\n    $left: (transform: translateX(-$intensity)),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_slide.scss",
    "content": "/// Creates a sliding animation.\n/// @param {Keyword} $state [in] - Whether to move to (`in`) or from (`out`) the element's default position.\n/// @param {Keyword} $direction [up] - Direction to move. Can be `up`, `down`, `left`, or `right`.\n/// @param {Number} $amount [100%] - Distance to move. Can be any CSS length unit.\n/// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.\n@function slide(\n  $state: in,\n  $direction: up,\n  $amount: 100%\n) {\n  $from: $amount;\n  $to: 0;\n  $func: 'translateY';\n\n  @if $direction == left or $direction == right {\n    $func: 'translateX';\n  }\n\n  @if $state == out {\n    $from: 0;\n    $to: $amount;\n  }\n\n  @if $direction == down or $direction == right {\n    @if $state == in {\n      $from: -$from;\n    }\n  } @else {\n    @if $state == out {\n      $to: -$to;\n    }\n  }\n\n  $keyframes: (\n    name: 'slide-#{$state}-#{$direction}-#{strip-unit($amount)}',\n    0: (transform: '#{$func}(#{$from})'),\n    100: (transform: '#{$func}(#{$to})'),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_spin.scss",
    "content": "/// Creates a spinning animation.\n/// @param {Keyword} $direction [cw] - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise).\n/// @param {Number} $amount [360deg] - Amount to spin. Can be any CSS angle unit.\n/// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.\n@function spin(\n  $state: in,\n  $direction: cw,\n  $amount: 1turn\n) {\n  $start: 0;\n  $end: 0;\n\n  @if $state == in {\n    $start: if($direction == ccw, $amount, $amount * -1);\n    $end: 0;\n  } @else {\n    $start: 0;\n    $end: if($direction == ccw, $amount * -1, $amount);\n  }\n\n  $keyframes: (\n    name: 'spin-#{$direction}-#{$amount}',\n    0: (transform: rotate($start)),\n    100: (transform: rotate($end)),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_wiggle.scss",
    "content": "/// Creates a wiggling animation.\n/// @param {Number} $intensity [7deg] - Intensity of the wiggle. Can be any CSS angle unit.\n/// @return {Map} A keyframes map that can be used with the `generate-keyframes()` mixin.\n@function wiggle($intensity: 7deg) {\n  $keyframes: (\n    name: 'wiggle-#{$intensity}',\n    (40, 50, 60): (transform: rotate($intensity)),\n    (35, 45, 55, 65): (transform: rotate(-$intensity)),\n    (0, 30, 70, 100): (transform: rotate(0)),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/effects/_zoom.scss",
    "content": "/// Creates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller.\n/// @param {Number} $from [1.5] - Size to start at.\n/// @param {Number} $to [1] - Size to end at.\n@function zoom(\n  $from: 0,\n  $to: 1\n) {\n  $keyframes: (\n    name: 'scale-#{$to}-to-#{$from}',\n    0: (transform: scale($from)),\n    100: (transform: scale($to)),\n  );\n\n  @return $keyframes;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/motion-ui.scss",
    "content": "// Motion UI by ZURB\n// foundation.zurb.com/motion-ui\n// Licensed under MIT Open Source\n\n@import 'settings';\n\n@import 'util/animation';\n@import 'util/args';\n@import 'util/keyframe';\n@import 'util/selector';\n@import 'util/series';\n@import 'util/transition';\n@import 'util/unit';\n\n@import 'effects/fade';\n@import 'effects/hinge';\n@import 'effects/spin';\n@import 'effects/zoom';\n@import 'effects/shake';\n@import 'effects/slide';\n@import 'effects/wiggle';\n\n@import 'transitions/fade';\n@import 'transitions/hinge';\n@import 'transitions/zoom';\n@import 'transitions/slide';\n@import 'transitions/spin';\n\n@import 'classes';\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/transitions/_fade.scss",
    "content": "/// Creates a fade transition by adjusting the opacity of the element.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Number} $from [0] - Opacity to start at. Must be a number between 0 and 1.\n/// @param {Number} $to [1] - Opacity to end on.\n/// @param {Keyword} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin mui-fade(\n  $state: in,\n  $from: 0,\n  $to: 1,\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  $fade: fade($from, $to);\n\n  @include transition-start($state) {\n    @include transition-basics($duration, $timing, $delay);\n    @include -mui-keyframe-get($fade, 0);\n\n    transition-property: opacity;\n  }\n\n  @include transition-end($state) {\n    @include -mui-keyframe-get($fade, 100);\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/transitions/_hinge.scss",
    "content": "/// Creates a hinge transition by rotating the element.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Keyword} $from [left] - Edge of the element to rotate from. Can be `top`, `right`, `bottom`, or `left`.\n/// @param {Keyword} $axis [edge] - Axis of the element to rotate on. Can be `edge` or `center`.\n/// @param {Length} $perspective [2000px] - Perceived distance between the viewer and the element. A higher number will make the rotation effect more pronounced.\n/// @param {Keyword} $turn-origin [from-back] - Side of the element to start the rotation from. Can be `from-back` or `from-front`.\n/// @param {Boolean} $fade [true] - Set to `true` to fade the element in or out simultaneously.\n/// @param {Duration} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin mui-hinge (\n  $state: in,\n  $from: left,\n  $axis: edge,\n  $perspective: 2000px,\n  $turn-origin: from-back,\n  $fade: map-get($motion-ui-settings, hinge-and-fade),\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  $hinge: hinge($state, $from, $axis, $perspective, $turn-origin);\n\n  @include transition-start($state) {\n    @include transition-basics($duration, $timing, $delay);\n    @include -mui-keyframe-get($hinge, 0);\n\n    @if $fade {\n      transition-property: transform, opacity;\n      opacity: if($state == in, 0, 1);\n    } @else {\n      transition-property: transform, opacity;\n    }\n  }\n\n  @include transition-end($state) {\n    @include -mui-keyframe-get($hinge, 100);\n\n    @if $fade {\n      opacity: if($state == in, 1, 0);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/transitions/_slide.scss",
    "content": "/// Creates a sliding transition by translating the element horizontally or vertically.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Keyword} $direction [left] - Direction to slide to. Can be `up`, `right`, `down`, or `left`.\n/// @param {Length} $amount [100%] - Length of the slide as a percentage value.\n/// @param {Boolean} $fade [false] - Set to `true` to fade the element in or out simultaneously.\n/// @param {Duration} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin mui-slide (\n  $state: in,\n  $direction: left,\n  $amount: 100%,\n  $fade: map-get($motion-ui-settings, slide-and-fade),\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  $slide: slide($state, $direction, $amount);\n\n  // CSS Output\n  @include transition-start($state) {\n    @include transition-basics($duration, $timing, $delay);\n    @include -mui-keyframe-get($slide, 0);\n\n    @if $fade {\n      transition-property: transform, opacity;\n      opacity: if($state == in, 0, 1);\n    } @else {\n      transition-property: transform, opacity;\n    }\n\n    backface-visibility: hidden;\n  }\n\n  @include transition-end($state) {\n    @include -mui-keyframe-get($slide, 100);\n\n    @if $fade {\n      opacity: if($state == in, 1, 0);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/transitions/_spin.scss",
    "content": "/// Creates a spinning transition by rotating the element. The `turn` unit is used to specify how far to rotate. `1turn` is equal to a 360-degree spin.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Boolean} $direction [cw] - Direction to spin. Should be `cw` (clockwise) or `ccw` (counterclockwise).\n/// @param {Number} $amount [0.75turn] - Amount to element the element.\n/// @param {Boolean} $fade [false] - Set to `true` to fade the element in or out simultaneously.\n/// @param {Duration} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin mui-spin(\n  $state: in,\n  $direction: cw,\n  $amount: 0.75turn,\n  $fade: map-get($motion-ui-settings, spin-and-fade),\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  $spin: spin($state, $direction, $amount);\n\n  @include transition-start($state) {\n    @include transition-basics($duration, $timing, $delay);\n    @include -mui-keyframe-get($spin, 0);\n\n    @if $fade {\n      transition-property: transform, opacity;\n      opacity: if($state == in, 0, 1);\n    } @else {\n      transition-property: transform, opacity;\n    }\n  }\n\n  @include transition-end($state) {\n    @include -mui-keyframe-get($spin, 100);\n\n    @if $fade {\n      opacity: if($state == in, 1, 0);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/transitions/_zoom.scss",
    "content": "/// Creates a scaling transition. A scale of `1` means the element is the same size. Larger numbers make the element bigger, while numbers less than 1 make the element smaller.\n/// @param {Keyword} $state [in] - State to transition to.\n/// @param {Number} $from [1.5] - Size to start at.\n/// @param {Number} $from [1] - Size to end at.\n/// @param {Boolean} $fade [true] - Set to `true` to fade the element in or out simultaneously.\n/// @param {Duration} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin mui-zoom(\n  $state: in,\n  $from: 1.5,\n  $to: 1,\n  $fade: map-get($motion-ui-settings, scale-and-fade),\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  $scale: zoom($from, $to);\n\n  @include transition-start($state) {\n    @include transition-basics($duration, $timing, $delay);\n    @include -mui-keyframe-get($scale, 0);\n\n    @if $fade {\n      transition-property: transform, opacity;\n      opacity: if($state == in, 0, 1);\n    } @else {\n      transition-property: transform, opacity;\n    }\n  }\n\n  @include transition-end($state) {\n    @include -mui-keyframe-get($scale, 100);\n\n    @if $fade {\n      opacity: if($state == in, 1, 0);\n    }\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_animation.scss",
    "content": "/// Creates a keyframe from one or more effect functions and assigns it to the element by adding the `animation-name` property.\n/// @param {Function} $effects... - One or more effect functions to build the keyframe with.\n@mixin mui-animation($args...) {\n  $name: map-get(-mui-process-args($args...), name);\n  @include mui-keyframes($name, $args...);\n  animation-name: unquote($name);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_args.scss",
    "content": "/// Processes a series of keyframe function arguments.\n/// @access private\n@function -mui-process-args($args...) {\n  @if length($args) == 1 {\n    $arg: nth($args, 1);\n\n    @if type-of($arg) == 'string' {\n      @return call($arg);\n    } @else if type-of($arg) == 'map' {\n      @return $arg;\n    }\n  }\n\n  @return -mui-keyframe-combine($args...);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_keyframe.scss",
    "content": "// Internal counter for creating unique keyframe names\n$-mui-custom: 0;\n\n/// Creates a keyframe from one or more effect functions. Use this function instead of `mui-animation` if you want to create a keyframe animation *without* automatically assigning it to the element.\n/// @param {String} $name - Name of the keyframe.\n/// @param {Function} $effects... - One or more effect functions to build the keyframe with.\n@mixin mui-keyframes($name, $effects...) {\n  $obj: -mui-process-args($effects...);\n  $obj: map-remove($obj, name);\n\n  @keyframes #{$name} {\n    // Now iterate through each keyframe percentage\n    @each $pct, $props in $obj {\n      #{-mui-keyframe-pct($pct)} {\n        // Lastly, iterate through each CSS property within a percentage and print it out\n        @each $prop, $value in $props {\n          #{$prop}: #{$value};\n        }\n      }\n    }\n  }\n}\n\n/// Creates a string for a CSS keyframe, by converting a list of numbers to a comma-separated list of percentage values.\n/// @param {Number|List} $input - List of numbers to use.\n/// @return {String} A set of comma-separated percentage values.\n/// @access private\n@function -mui-keyframe-pct($input) {\n  $output: ();\n\n  @if type-of($input) == 'number' {\n    $output: ($input * 1%);\n  } @else if type-of($input) == 'list' {\n    @each $i in $input {\n      $output: append($output, ($i * 1%), comma);\n    }\n  }\n\n  @return $output;\n}\n\n/// Prints the CSS properties from a specific key in a keyframes map. Used to borrow CSS from keyframe functions for use in transitions.\n/// @param {Map} $kf - Keyframe map to extract from.\n/// @param {Number} $key - Key in the map to print the CSS of.\n/// @access private\n@mixin -mui-keyframe-get($kf, $key) {\n  $map: map-get($kf, $key);\n\n  @each $prop, $value in $map or () {\n    // Some keyframe maps store transforms as quoted strings\n    @if type-of($value) == 'string' {\n      $value: unquote($value);\n    }\n    #{$prop}: $value;\n  }\n}\n\n/// Reformats a map containing keys with a list of values, so that each key is a single value.\n/// @param {Map} $map - Map to split up.\n/// @return {Map} A reformatted map.\n/// @access private\n@function -mui-keyframe-split($map) {\n  $new-map: ();\n\n  // Split keys with multiple values into individual keys\n  @each $key, $item in $map {\n    $key-type: type-of($key);\n\n    @if $key-type == 'number' {\n      $new-map: map-merge($new-map, ($key: $item));\n    } @else if $key-type == 'list' {\n      @each $k in $key {\n        $new-map: map-merge($new-map, ($k: $item));\n      }\n    }\n  }\n\n  @return $new-map;\n}\n\n/// Combines a series of keyframe objects into one.\n/// @param {Map} $maps... - A series of maps to merge, as individual parameters.\n/// @return {Map} A combined keyframe object.\n/// @access private\n@function -mui-keyframe-combine($maps...) {\n  $new-map: ();\n\n  // Iterate through each map passed in\n  @each $map in $maps {\n    @if type-of($map) == 'string' {\n      $map: call($map);\n    }\n\n    $map: -mui-keyframe-split($map);\n\n    // Iterate through each keyframe in the map\n    // $key is the keyframe percentage\n    // $value is a map of CSS properties\n    @each $key, $value in $map {\n      $new-value: ();\n\n      @if map-has-key($new-map, $key) {\n        // If the map already has the keyframe %, append the new property\n        $new-value: -mui-merge-properties(map-get($new-map, $key), $value);\n      } @else {\n        // Otherwise, create a new map with the new property\n        $new-value: $value;\n      }\n\n      // Finally, merge the modified keyframe value into the output map\n      $new-map: map-merge($new-map, ($key: $new-value));\n    }\n  }\n\n  // Make a name for the keyframes\n  $-mui-custom: $-mui-custom + 1 !global;\n  $map-name: (name: 'custom-#{$-mui-custom}');\n  $new-map: map-merge($new-map, $map-name);\n\n  @return $new-map;\n}\n\n/// Combines two maps of CSS properties into one map. If both maps have a transform property, the values from each will be combined into one property.\n/// @param {Map} $one - First map to merge.\n/// @param {Map} $two - Second map to merge.\n/// @return {Map} A combined map.\n/// @access private\n@function -mui-merge-properties($one, $two) {\n  @if map-has-key($one, transform) and map-has-key($two, transform) {\n    $transform: join(map-get($one, transform), map-get($two, transform));\n    $one: map-merge($one, (transform: $transform));\n    $two: map-remove($two, transform);\n  }\n\n  @return map-merge($one, $two);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_selector.scss",
    "content": "/// Builds a selector for a motion class, using the settings defined in the `$motion-ui-classes` and `$motion-ui-states` maps.\n/// @param {String|List} $states - One or more strings that correlate to a state.\n/// @param {Boolean} $active - Defines if the selector is for the setup or active class.\n/// @return {String} A selector that can be interpolated into your Sass code.\n/// @access private\n@function -mui-build-selector($states, $active: false) {\n  $return: '';\n  $chain: map-get($motion-ui-classes, chain);\n  $prefix: map-get($motion-ui-classes, prefix);\n  $suffix: map-get($motion-ui-classes, active);\n\n  @each $sel in $states {\n    $return: $return + if($chain, '&.', '#{&}-') + $prefix + $sel;\n\n    @if $active {\n      $return: $return + if($chain, '.', '#{&}-') + $prefix + $sel + $suffix;\n    }\n\n    $return: $return + ', ';\n  }\n\n  @return str-slice($return, 1, -3);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_series.scss",
    "content": "$-mui-queue: ();\n\n/// Pauses the animation on an element by default, and then plays it when an active class is added to a parent. Also sets the fill mode of the animation to `both`. This pauses the element at the first frame of the animation, and holds it in place at the end.\n/// @access private\n%animated-element {\n  animation-play-state: paused;\n  animation-fill-mode: both;\n\n  .#{map-get($motion-ui-settings, activate-queue-class)} & {\n    animation-play-state: running;\n  }\n}\n\n/// Creates a new animation queue.\n/// @param {Duration} $delay [0s] - Delay in seconds or milliseconds to place at the front of the animation queue.\n@mixin mui-series($delay: 0s) {\n  $-mui-queue: () !global;\n\n  @if $delay > 0 {\n    $item: ($delay, 0s);\n    $-mui-queue: append($-mui-queue, $item) !global;\n  }\n\n  @content;\n}\n\n/// Adds an animation to an animation queue. Only use this mixin inside of `mui-series()`.\n/// @param {Duration} $duration [1s] - Length of the animation.\n/// @param {Duration} $gap [0s] - Amount of time to pause before playing the animation after this one. Use a negative value to make the next effect overlap with the current one.\n/// @param {Function} $keyframes... - One or more effect functions to build the keyframe with.\n@mixin mui-queue(\n  $duration: 1s,\n  $gap: 0s,\n  $keyframes...\n) {\n  // Build the animation\n  $kf: -mui-process-args($keyframes...);\n\n  // Calculate the delay for this animation based on how long the previous ones take\n  $actual-delay: 0s;\n  @each $anim in $-mui-queue {\n    $actual-delay: $actual-delay + nth($anim, 1) + nth($anim, 2);\n  }\n\n  // Append this animation's length and gap to the end of the queue\n  $item: ($duration, $gap);\n  $-mui-queue: append($-mui-queue, $item) !global;\n\n  // CSS output\n  @extend %animated-element;\n  @include mui-animation($kf);\n  animation-duration: $duration;\n  animation-delay: $actual-delay;\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_transition.scss",
    "content": "/// Applies basic transition settings to an element.\n/// @param {Duration} $duration [null] - Length (speed) of the transition.\n/// @param {Keyword|Function} $timing [null] - Easing of the transition.\n/// @param {Duration} $delay [null] - Delay in seconds or milliseconds before the transition starts.\n@mixin transition-basics(\n  $duration: null,\n  $timing: null,\n  $delay: null\n) {\n  @include -motion-ui-defaults;\n  transition-duration: $duration;\n  transition-timing-function: $timing;\n  transition-delay: $delay;\n}\n\n/// Wraps the content in the setup class for a transition.\n/// @param {Keyword} $dir - State to setup for transition.\n@mixin transition-start($dir) {\n  $selector: -mui-build-selector(map-get($motion-ui-states, $dir));\n\n  @at-root {\n    #{$selector} {\n      @content;\n    }\n  }\n}\n\n/// Wraps the content in the active class for a transition.\n/// @param {Keyword} $dir - State to activate a transition on.\n@mixin transition-end($dir) {\n  $selector: -mui-build-selector(map-get($motion-ui-states, $dir), true);\n\n  @at-root {\n    #{$selector} {\n      @content;\n    }\n  }\n}\n\n/// Adds styles for a stagger animation, which can be used with Angular's `ng-repeat`.\n/// @param {Duration} $delay-amount - Amount of time in seconds or milliseconds to add between each item's animation.\n@mixin stagger($delay-amount) {\n  transition-delay: $delay-amount;\n  transition-duration: 0; // Prevent accidental CSS inheritance\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/motion-ui/src/util/_unit.scss",
    "content": "/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.\n/// @param {Number} $num - Number to strip unit from.\n/// @return {Number} The same number, sans unit.\n/// @access private\n@function strip-unit($num) {\n  @return $num / ($num * 0 + 1);\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/.bower.json",
    "content": "{\n  \"name\": \"what-input\",\n  \"version\": \"4.0.4\",\n  \"homepage\": \"https://github.com/ten1seven/what-input\",\n  \"repository\": {\n    \"url\": \"https://github.com/ten1seven/what-input.git\",\n    \"type\": \"git\"\n  },\n  \"author\": \"Jeremy Fields <jeremy.fields@viget.com>\",\n  \"description\": \"A global utility for tracking the current input method (mouse, keyboard or touch).\",\n  \"main\": \"dist/what-input.js\",\n  \"keywords\": [\n    \"accessibility\",\n    \"a11y\",\n    \"input\",\n    \"javascript\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \"bower_components\",\n    \"test\",\n    \"tests\"\n  ],\n  \"_release\": \"4.0.4\",\n  \"_resolution\": {\n    \"type\": \"version\",\n    \"tag\": \"v4.0.4\",\n    \"commit\": \"b5ced447b776180c8aa29d0b70d3d37cac03c586\"\n  },\n  \"_source\": \"https://github.com/ten1seven/what-input.git\",\n  \"_target\": \"~4.0.3\",\n  \"_originalSource\": \"what-input\"\n}"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/Gulpfile.js",
    "content": "var banner        = ['/**',\n  ' * <%= pkg.name %> - <%= pkg.description %>',\n  ' * @version v<%= pkg.version %>',\n  ' * @link <%= pkg.homepage %>',\n  ' * @license <%= pkg.license %>',\n  ' */',\n  ''].join('\\n');\nvar browserSync   = require('browser-sync').create();\nvar concat        = require('gulp-concat');\nvar del           = require('del');\nvar gulp          = require('gulp');\nvar header        = require('gulp-header');\nvar notify        = require('gulp-notify');\nvar pkg           = require('./package.json');\nvar plumber       = require('gulp-plumber');\nvar rename        = require('gulp-rename');\nvar runSequence   = require('run-sequence');\nvar uglify        = require('gulp-uglify');\nvar webpack       = require('webpack-stream');\n\n\n/*\n  --------------------\n  Clean task\n  --------------------\n*/\n\ngulp.task('clean', function () {\n  return del(['**/.DS_Store']);\n});\n\n\n/*\n  --------------------\n  Scripts tasks\n  --------------------\n*/\n\ngulp.task('scripts:main', function() {\n  return gulp.src(['./src/what-input.js'])\n    .pipe(webpack({\n      output: {\n        chunkFilename: '[name].js',\n        library: 'whatInput',\n        libraryTarget: 'umd',\n        umdNamedDefine: true\n      }\n    }))\n    .pipe(rename('what-input.js'))\n    .pipe(header(banner, { pkg : pkg } ))\n    .pipe(gulp.dest('./dist/'))\n    .pipe(uglify())\n    .pipe(rename({\n      suffix: '.min'\n    }))\n    .pipe(header(banner, { pkg : pkg } ))\n    .pipe(gulp.dest('./dist/'))\n    .pipe(notify('Build complete'));\n});\n\ngulp.task('scripts:ie8', function() {\n  return gulp.src(['./src/polyfills/ie8/*.js'])\n    .pipe(plumber({\n      errorHandler: notify.onError(\"Error: <%= error.message %>\")\n    }))\n    .pipe(concat('lte-IE8.js'))\n    .pipe(uglify())\n    .pipe(gulp.dest('./dist/'))\n    .pipe(notify('IE8 scripts task complete'));\n});\n\ngulp.task('scripts', ['scripts:main', 'scripts:ie8']);\n\n\n/*\n  --------------------\n  Default task\n  --------------------\n*/\n\ngulp.task('default', function() {\n  runSequence(\n    'clean',\n    [\n      'scripts'\n    ],\n    function() {\n      browserSync.init({\n        server: {\n          baseDir: './'\n        }\n      });\n\n      gulp.watch([\n        './src/what-input.js',\n        './polyfills/*.js'\n      ], ['scripts']).on('change', browserSync.reload);\n\n      gulp.watch([\n        './*.html',\n      ]).on('change', browserSync.reload);\n    }\n  );\n});\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Jeremy Fields\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/README.md",
    "content": "# What Input?\n\n__A global utility for tracking the current input method (mouse, keyboard or touch).__\n\n## What Input is now v4\n\nWhat Input adds data attributes to the `<html>` tag based on the type of input being used. It also exposes a simple API that can be used for scripting interactions.\n\n### Changes from v3\n\n* `mousemove` and `pointermove` events no longer affect the `data-whatinput` attribute.\n* A new `data-whatintent` attribute now works like v3. This change is intended to separate direct interaction from potential.\n* Key logging and the corresponding `whatInput.keys()` API option have been removed.\n* Event binding and attributes are now added to the `<html>` tag to eliminate the need to test for `DOMContentLoaded`.\n* The `whatInput.set()` API option has been removed.\n* A new set of `whatinput-types-[type]` classes are now added as inputs are detected. New classes are added but existing ones remain, creating the same output as what the `whatInput.types()` returns.\n\n## How it works\n\nWhat Input uses event bubbling on the `<html>` tag to watch for mouse, keyboard and touch events (via `mousedown`, `keydown` and `touchstart`). It then sets or updates a `data-whatinput` attribute.\n\nWhere present, Pointer Events are supported, but note that `pen` inputs are remapped to `touch`.\n\nWhat Input also exposes a tiny API that allows the developer to ask for or set the current input.\n\n_What Input does not make assumptions about the input environment before the page is directly interacted with._ However, the `mousemove` and `pointermove` events are used to set a `data-whatintent=\"mouse\"` attribute to indicate that a mouse is being used _indirectly_.\n\n### Interacting with Forms\n\nSince interacting with a form requires use of the keyboard, What Input _does not switch the input type while form `<input>`s and `<textarea>`s are being interacted with_, preserving the last detected input type.\n\n## Installing\n\nDownload the file directly...\n\nor install via Bower...\n\n```shell\nbower install what-input\n```\n\nor install via NPM...\n\n```shell\nnpm install what-input\n```\n\n## Usage\n\nInclude the script directly in your project.\n\n```html\n<script src=\"assets/scripts/what-input.js\"></script>\n```\n\nOr require with a script loader.\n\n```javascript\nrequire('what-input');\n\n// or\n\nvar whatInput = require('what-input');\n```\n\nWhat Input will start doing its thing while you do yours.\n\n### Example Styling\n\n```css\n/**\n * set a custom default :focus style\n */\n\n/* default styling before what input executes */\n:focus {\n\n}\n\n/* initial styling after what input has executed but before any interaction */\n[data-whatinput=\"initial\"] :focus {\n  outline: 2px dotted black;\n}\n\n/* mouse */\n[data-whatinput=\"mouse\"] :focus {\n  outline-color: red;\n}\n\n/* keyboard */\n[data-whatinput=\"keyboard\"] :focus {\n  outline-color: green;\n}\n\n/* touch */\n[data-whatinput=\"touch\"] :focus {\n  outline-color: blue;\n}\n```\n**Note:** If you remove outlines with `outline: none;`, be sure to provide clear visual `:focus` styles so the user can see which element they are on at any time for greater accessibility. Visit [W3C's WCAG 2.0 2.4.7 Guideline](https://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-focus-visible.html) to learn more.\n\n### Scripting\n\n#### Current Input\n\nAsk What Input what the current input method is. This works best if asked after the events What Input is bound to (`mousedown`, `keydown` and `touchstart`).\n\n```javascript\nwhatInput.ask(); // returns `mouse`, `keyboard` or `touch`\n\nmyButton.addEventListener('click', function() {\n\n  if (whatInput.ask() === 'mouse') {\n    // do mousy things\n  } else if (whatInput.ask() === 'keyboard') {\n    // do keyboard things\n  }\n\n});\n```\n\nIf it's necessary to know if `mousemove` is being used, use the `'loose'` option. For example:\n\n```javascript\n\n/*\n  nothing has happened but the mouse has moved\n*/\n\nwhatInput.ask(); // returns `initial` because the page has not been directly interacted with\nwhatInput.ask('loose'); // returns `mouse` because mouse movement was detected\n\n/*\n  the keyboard has been used, then the mouse was moved\n*/\n\nwhatInput.ask(); // returns `keyboard` because the keyboard was the last direct page interaction\nwhatInput.ask('loose'); // returns `mouse` because mouse movement was the most recent action detected\n```\n\nAsk What Input to return an array of all the input types that have been used _so far_.\n\n```javascript\nwhatInput.types(); // ex. returns ['mouse', 'keyboard']\n```\n\n## Compatibility\n\nWhat Input works in all modern browsers. For compatibility with IE8, polyfills are required for:\n\n* addEventListener\n* IndexOf\n\nAdd your own, or grab the bundle included here.\n\n```html\n<!--[if lte IE 8]>\n  <script src=\"lte-IE8.js\"></script>\n<![endif]-->\n```\n\n## Demo\n\nCheck out the demo to see What Input in action.\n\nhttp://ten1seven.github.io/what-input\n\n## Acknowledgments\n\nSpecial thanks to [Viget](http://viget.com/) for their encouragement and commitment to open source projects. Visit [code.viget.com](http://code.viget.com/) to see more projects from [Viget](http://viget.com).\n\nThanks to [mAAdhaTTah](https://github.com/mAAdhaTTah) for the initial conversion to Webpack.\n\nWhat Input is written and maintained by [@ten1seven](https://github.com/ten1seven).\n\n## License\n\nWhat Input is freely available under the [MIT License](http://opensource.org/licenses/MIT).\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/bower.json",
    "content": "{\n  \"name\": \"what-input\",\n  \"version\": \"4.0.4\",\n  \"homepage\": \"https://github.com/ten1seven/what-input\",\n  \"repository\": {\n    \"url\": \"https://github.com/ten1seven/what-input.git\",\n    \"type\": \"git\"\n  },\n  \"author\": \"Jeremy Fields <jeremy.fields@viget.com>\",\n  \"description\": \"A global utility for tracking the current input method (mouse, keyboard or touch).\",\n  \"main\": \"dist/what-input.js\",\n  \"keywords\": [\n    \"accessibility\",\n    \"a11y\",\n    \"input\",\n    \"javascript\"\n  ],\n  \"license\": \"MIT\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \"bower_components\",\n    \"test\",\n    \"tests\"\n  ]\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/dist/lte-IE8.js",
    "content": "this.Element&&Element.prototype.attachEvent&&!Element.prototype.addEventListener&&function(){function e(e,t){Window.prototype[e]=HTMLDocument.prototype[e]=Element.prototype[e]=t}function t(e){t.interval&&document.body&&(t.interval=clearInterval(t.interval),document.dispatchEvent(new CustomEvent(\"DOMContentLoaded\")))}e(\"addEventListener\",function(e,t){var n=this,r=n.addEventListener.listeners=n.addEventListener.listeners||{},a=r[e]=r[e]||[];a.length||n.attachEvent(\"on\"+e,a.event=function(e){var t=n.document&&n.document.documentElement||n.documentElement||{scrollLeft:0,scrollTop:0};e.currentTarget=n,e.pageX=e.clientX+t.scrollLeft,e.pageY=e.clientY+t.scrollTop,e.preventDefault=function(){e.returnValue=!1},e.relatedTarget=e.fromElement||null,e.stopImmediatePropagation=function(){c=!1,e.cancelBubble=!0},e.stopPropagation=function(){e.cancelBubble=!0},e.target=e.srcElement||n,e.timeStamp=+new Date;var r={};for(var o in e)r[o]=e[o];for(var i,o=0,l=[].concat(a),c=!0;c&&(i=l[o]);++o)for(var s,u=0;s=a[u];++u)if(s==i){s.call(n,r);break}}),a.push(t)}),e(\"removeEventListener\",function(e,t){for(var n,r=this,a=r.addEventListener.listeners=r.addEventListener.listeners||{},o=a[e]=a[e]||[],i=o.length-1;n=o[i];--i)if(n==t){o.splice(i,1);break}!o.length&&o.event&&r.detachEvent(\"on\"+e,o.event)}),e(\"dispatchEvent\",function(e){var t=this,n=e.type,r=t.addEventListener.listeners=t.addEventListener.listeners||{},a=r[n]=r[n]||[];try{return t.fireEvent(\"on\"+n,e)}catch(t){return void(a.event&&a.event(e))}}),Object.defineProperty(Window.prototype,\"CustomEvent\",{get:function(){var e=this;return function(t,n){var r,a=e.document.createEventObject();a.type=t;for(r in n)\"cancelable\"==r?a.returnValue=!n.cancelable:\"bubbles\"==r?a.cancelBubble=!n.bubbles:\"detail\"==r&&(a.detail=n.detail);return a}}}),t.interval=setInterval(t,1),window.addEventListener(\"load\",t)}(),(!this.CustomEvent||\"object\"==typeof this.CustomEvent)&&function(){this.CustomEvent=function(e,t){var n;t=t||{bubbles:!1,cancelable:!1,detail:void 0};try{n=document.createEvent(\"CustomEvent\"),n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail)}catch(r){n=document.createEvent(\"Event\"),n.initEvent(e,t.bubbles,t.cancelable),n.detail=t.detail}return n}}(),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n;if(null==this)throw new TypeError('\"this\" is null or not defined');var r=Object(this),a=r.length>>>0;if(0===a)return-1;var o=+t||0;if(Math.abs(o)===1/0&&(o=0),o>=a)return-1;for(n=Math.max(o>=0?o:a-Math.abs(o),0);n<a;){if(n in r&&r[n]===e)return n;n++}return-1});"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/dist/what-input.js",
    "content": "/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v4.0.4\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports) {\n\n\tmodule.exports = (function() {\n\n\t  /*\n\t    ---------------\n\t    Variables\n\t    ---------------\n\t  */\n\n\t  // cache document.documentElement\n\t  var docElem = document.documentElement;\n\n\t  // last used input type\n\t  var currentInput = 'initial';\n\n\t  // last used input intent\n\t  var currentIntent = null;\n\n\t  // form input types\n\t  var formInputs = [\n\t    'input',\n\t    'select',\n\t    'textarea'\n\t  ];\n\n\t  // list of modifier keys commonly used with the mouse and\n\t  // can be safely ignored to prevent false keyboard detection\n\t  var ignoreMap = [\n\t    16, // shift\n\t    17, // control\n\t    18, // alt\n\t    91, // Windows key / left Apple cmd\n\t    93  // Windows menu / right Apple cmd\n\t  ];\n\n\t  // mapping of events to input types\n\t  var inputMap = {\n\t    'keyup': 'keyboard',\n\t    'mousedown': 'mouse',\n\t    'mousemove': 'mouse',\n\t    'MSPointerDown': 'pointer',\n\t    'MSPointerMove': 'pointer',\n\t    'pointerdown': 'pointer',\n\t    'pointermove': 'pointer',\n\t    'touchstart': 'touch'\n\t  };\n\n\t  // array of all used input types\n\t  var inputTypes = [];\n\n\t  // boolean: true if touch buffer timer is running\n\t  var isBuffering = false;\n\n\t  // map of IE 10 pointer events\n\t  var pointerMap = {\n\t    2: 'touch',\n\t    3: 'touch', // treat pen like touch\n\t    4: 'mouse'\n\t  };\n\n\t  // touch buffer timer\n\t  var touchTimer = null;\n\n\n\t  /*\n\t    ---------------\n\t    Set up\n\t    ---------------\n\t  */\n\n\t  var setUp = function() {\n\n\t    // add correct mouse wheel event mapping to `inputMap`\n\t    inputMap[detectWheel()] = 'mouse';\n\n\t    addListeners();\n\t    setInput();\n\t  };\n\n\n\t  /*\n\t    ---------------\n\t    Events\n\t    ---------------\n\t  */\n\n\t  var addListeners = function() {\n\n\t    // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t    // can only demonstrate potential, but not actual, interaction\n\t    // and are treated separately\n\n\t    // pointer events (mouse, pen, touch)\n\t    if (window.PointerEvent) {\n\t      docElem.addEventListener('pointerdown', updateInput);\n\t      docElem.addEventListener('pointermove', setIntent);\n\t    } else if (window.MSPointerEvent) {\n\t      docElem.addEventListener('MSPointerDown', updateInput);\n\t      docElem.addEventListener('MSPointerMove', setIntent);\n\t    } else {\n\n\t      // mouse events\n\t      docElem.addEventListener('mousedown', updateInput);\n\t      docElem.addEventListener('mousemove', setIntent);\n\n\t      // touch events\n\t      if ('ontouchstart' in window) {\n\t        docElem.addEventListener('touchstart', touchBuffer);\n\t      }\n\t    }\n\n\t    // mouse wheel\n\t    docElem.addEventListener(detectWheel(), setIntent);\n\n\t    // keyboard events\n\t    docElem.addEventListener('keydown', updateInput);\n\t    docElem.addEventListener('keyup', updateInput);\n\t  };\n\n\t  // checks conditions before updating new input\n\t  var updateInput = function(event) {\n\n\t    // only execute if the touch buffer timer isn't running\n\t    if (!isBuffering) {\n\t      var eventKey = event.which;\n\t      var value = inputMap[event.type];\n\t      if (value === 'pointer') value = pointerType(event);\n\n\t      if (\n\t        currentInput !== value ||\n\t        currentIntent !== value\n\t      ) {\n\n\t        var activeInput = (\n\t          document.activeElement &&\n\t          formInputs.indexOf(document.activeElement.nodeName.toLowerCase()) === -1\n\t        ) ? true : false;\n\n\t        if (\n\t          value === 'touch' ||\n\n\t          // ignore mouse modifier keys\n\t          (value === 'mouse' && ignoreMap.indexOf(eventKey) === -1) ||\n\n\t          // don't switch if the current element is a form input\n\t          (value === 'keyboard' && activeInput)\n\t        ) {\n\n\t          // set the current and catch-all variable\n\t          currentInput = currentIntent = value;\n\n\t          setInput();\n\t        }\n\t      }\n\t    }\n\t  };\n\n\t  // updates the doc and `inputTypes` array with new input\n\t  var setInput = function() {\n\t    docElem.setAttribute('data-whatinput', currentInput);\n\t    docElem.setAttribute('data-whatintent', currentInput);\n\n\t    if (inputTypes.indexOf(currentInput) === -1) {\n\t      inputTypes.push(currentInput);\n\t      docElem.className += ' whatinput-types-' + currentInput;\n\t    }\n\t  };\n\n\t  // updates input intent for `mousemove` and `pointermove`\n\t  var setIntent = function(event) {\n\n\t    // only execute if the touch buffer timer isn't running\n\t    if (!isBuffering) {\n\t      var value = inputMap[event.type];\n\t      if (value === 'pointer') value = pointerType(event);\n\n\t      if (currentIntent !== value) {\n\t        currentIntent = value;\n\n\t        docElem.setAttribute('data-whatintent', currentIntent);\n\t      }\n\t    }\n\t  };\n\n\t  // buffers touch events because they frequently also fire mouse events\n\t  var touchBuffer = function(event) {\n\n\t    // clear the timer if it happens to be running\n\t    window.clearTimeout(touchTimer);\n\n\t    // set the current input\n\t    updateInput(event);\n\n\t    // set the isBuffering to `true`\n\t    isBuffering = true;\n\n\t    // run the timer\n\t    touchTimer = window.setTimeout(function() {\n\n\t      // if the timer runs out, set isBuffering back to `false`\n\t      isBuffering = false;\n\t    }, 200);\n\t  };\n\n\n\t  /*\n\t    ---------------\n\t    Utilities\n\t    ---------------\n\t  */\n\n\t  var pointerType = function(event) {\n\t   if (typeof event.pointerType === 'number') {\n\t      return pointerMap[event.pointerType];\n\t   } else {\n\t      return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // treat pen like touch\n\t   }\n\t  };\n\n\t  // detect version of mouse wheel event to use\n\t  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\n\t  var detectWheel = function() {\n\t    return 'onwheel' in document.createElement('div') ?\n\t      'wheel' : // Modern browsers support \"wheel\"\n\n\t      document.onmousewheel !== undefined ?\n\t        'mousewheel' : // Webkit and IE support at least \"mousewheel\"\n\t        'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox\n\t  };\n\n\n\t  /*\n\t    ---------------\n\t    Init\n\n\t    don't start script unless browser cuts the mustard\n\t    (also passes if polyfills are used)\n\t    ---------------\n\t  */\n\n\t  if (\n\t    'addEventListener' in window &&\n\t    Array.prototype.indexOf\n\t  ) {\n\t    setUp();\n\t  }\n\n\n\t  /*\n\t    ---------------\n\t    API\n\t    ---------------\n\t  */\n\n\t  return {\n\n\t    // returns string: the current input type\n\t    // opt: 'loose'|'strict'\n\t    // 'strict' (default): returns the same value as the `data-whatinput` attribute\n\t    // 'loose': includes `data-whatintent` value if it's more current than `data-whatinput`\n\t    ask: function(opt) { return (opt === 'loose') ? currentIntent : currentInput; },\n\n\t    // returns array: all the detected input types\n\t    types: function() { return inputTypes; }\n\n\t  };\n\n\t}());\n\n\n/***/ }\n/******/ ])\n});\n;"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n    <title>What Input?</title>\n\n    <link\n      href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\"\n      rel=\"stylesheet\">\n\n    <style>\n      .test-row {\n        margin-top: 50px;\n      }\n\n      input[type=\"text\"],\n      input[type=\"password\"] {\n        font-size: 16px;\n      }\n\n      /* indicator */\n      .input-display {\n        border-radius: 3px;\n        display: inline-block;\n        padding: 0 3px;\n        -webkit-transition: all 200ms;\n        transition: all 200ms;\n      }\n\n      [data-whatinput=\"mouse\"] .input-display.-mouse,\n      [data-whatintent=\"mouse\"] .input-intent.-mouse {\n        background-color: #d9edf7;\n        color: #31708f;\n      }\n\n      [data-whatinput=\"keyboard\"] .-keyboard {\n        background-color: #dff0d8;\n        color: #3c763d;\n      }\n\n      [data-whatinput=\"touch\"] .-touch {\n        background-color: #fcf8e3;\n        color: #8a6d3b;\n      }\n\n      /* links */\n      a:focus {\n        position: relative;\n        z-index: 1;\n      }\n\n      [data-whatinput=\"keyboard\"]  a:focus {\n        box-shadow: 0 0 8px 2px rgba(60, 118, 61, 0.6);\n        outline: 2px solid #3c763d;\n      }\n\n      /* form controls */\n      [data-whatinput=\"mouse\"] .form-control:focus {\n        border-color: #31708f;\n        outline: 0;\n        box-shadow:\n          inset 0 1px 1px rgba(0, 0, 0, .075),\n          0 0 8px rgba(49, 112, 143, 0.6);\n      }\n\n      [data-whatinput=\"keyboard\"] .form-control:focus {\n        border-color: #3c763d;\n        outline: 0;\n        box-shadow:\n          inset 0 1px 1px rgba(0, 0, 0, .075),\n          0 0 8px rgba(60, 118, 61, 0.6);\n      }\n\n      [data-whatinput=\"touch\"] .form-control:focus {\n        border-color: #8a6d3b;\n        outline: 0;\n        box-shadow:\n          inset 0 1px 1px rgba(0, 0, 0, .075),\n          0 0 8px rgba(138, 109, 59, 0.6);\n      }\n    </style>\n\n    <!--[if lte IE 8]>\n      <script src=\"dist/lte-IE8.js\"></script>\n    <![endif]-->\n\n  </head>\n  <body>\n\n    <div class=\"container\">\n      <div class=\"page-header\">\n        <h1>What Input?</h1>\n      </div>\n\n      <p class=\"lead\">A global utility for tracking the current input method (<span class=\"input-display -mouse\">mouse</span>, <span class=\"input-display -keyboard\">keyboard</span> or <span class=\"input-display -touch\">touch</span>), as well as the current <em>intent</em> (<span class=\"input-intent -mouse\">mouse</span>).</p>\n\n      <p>Tab, click or tap the links and form controls to see how What Input allows them to be styled differently.</p>\n\n      <div class=\"well test-row\">\n        <div class=\"row\">\n\n          <div class=\"col-md-6\">\n            <div class=\"list-group\">\n              <a class=\"list-group-item\" href=\"#\">Cras justo odio</a>\n              <a class=\"list-group-item\" href=\"#\">Dapibus ac facilisis in</a>\n              <a class=\"list-group-item\" href=\"#\">Morbi leo risus</a>\n              <a class=\"list-group-item\" href=\"#\">Porta ac consectetur ac</a>\n              <a class=\"list-group-item\" href=\"#\">Vestibulum at eros</a>\n            </div>\n          </div>\n\n          <div class=\"col-md-6\">\n            <form>\n              <div class=\"form-group\">\n                <label for=\"exampleInputEmail1\">Email address</label>\n                <input type=\"email\" class=\"form-control\" id=\"exampleInputEmail1\" placeholder=\"Enter email\">\n              </div>\n              <div class=\"form-group\">\n                <label for=\"exampleInputPassword1\">Password</label>\n                <input type=\"password\" class=\"form-control\" id=\"exampleInputPassword1\" placeholder=\"Password\">\n              </div>\n              <div class=\"checkbox\">\n                <label>\n                  <input type=\"checkbox\"> Check me out\n                </label>\n              </div>\n              <button type=\"submit\" class=\"btn btn-default\">Submit</button>\n            </form>\n          </div>\n\n        </div>\n      </div>\n\n      <footer>\n        <p class=\"pull-right\">\n          Check out the project <a href=\"https://github.com/ten1seven/what-input\">on Github</a>.\n        </p>\n\n        <p>\n          Made with <span class=\"text-danger\">&hearts;</span> at <a href=\"http://viget.com/\">Viget</a>.\n        </p>\n      </footer>\n\n    </div>\n\n    <script src=\"dist/what-input.js\"></script>\n\n    <script>\n      var links = document.querySelectorAll('a');\n\n      for (var i = 0, len = links.length; i < len; i++) {\n        links[i].addEventListener('click', function(event) {\n          console.log( '[script test] ' + whatInput.ask() );\n\n          event.preventDefault();\n        });\n      }\n    </script>\n\n  </body>\n</html>\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/package.json",
    "content": "{\n  \"name\": \"what-input\",\n  \"version\": \"4.0.4\",\n  \"description\": \"A global utility for tracking the current input method (mouse, keyboard or touch).\",\n  \"main\": \"dist/what-input.js\",\n  \"repository\": {\n    \"url\": \"https://github.com/ten1seven/what-input.git\",\n    \"type\": \"git\"\n  },\n  \"keywords\": [\n    \"accessibility\",\n    \"a11y\",\n    \"input\",\n    \"javascript\"\n  ],\n  \"author\": \"Jeremy Fields <jeremy.fields@viget.com>\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/ten1seven/what-input/issues\"\n  },\n  \"scripts\": {\n    \"start\": \"gulp\"\n  },\n  \"homepage\": \"https://github.com/ten1seven/what-input\",\n  \"devDependencies\": {\n    \"browser-sync\": \"2.11.1\",\n    \"del\": \"2.2.0\",\n    \"gulp\": \"3.9.1\",\n    \"gulp-concat\": \"2.6.0\",\n    \"gulp-header\": \"1.7.1\",\n    \"gulp-notify\": \"2.2.0\",\n    \"gulp-plumber\": \"1.1.0\",\n    \"gulp-rename\": \"1.2.2\",\n    \"gulp-uglify\": \"^2.0.0\",\n    \"run-sequence\": \"1.1.5\",\n    \"webpack-stream\": \"3.2.0\"\n  }\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/src/polyfills/ie8/EventListener.js",
    "content": "// EventListener | CC0 | github.com/jonathantneal/EventListener\n\nthis.Element && Element.prototype.attachEvent && !Element.prototype.addEventListener && (function () {\n\tfunction addToPrototype(name, method) {\n\t\tWindow.prototype[name] = HTMLDocument.prototype[name] = Element.prototype[name] = method;\n\t}\n\n\t// add\n\taddToPrototype(\"addEventListener\", function (type, listener) {\n\t\tvar\n\t\ttarget = this,\n\t\tlisteners = target.addEventListener.listeners = target.addEventListener.listeners || {},\n\t\ttypeListeners = listeners[type] = listeners[type] || [];\n\n\t\t// if no events exist, attach the listener\n\t\tif (!typeListeners.length) {\n\t\t\ttarget.attachEvent(\"on\" + type, typeListeners.event = function (event) {\n\t\t\t\tvar documentElement = target.document && target.document.documentElement || target.documentElement || { scrollLeft: 0, scrollTop: 0 };\n\n\t\t\t\t// polyfill w3c properties and methods\n\t\t\t\tevent.currentTarget = target;\n\t\t\t\tevent.pageX = event.clientX + documentElement.scrollLeft;\n\t\t\t\tevent.pageY = event.clientY + documentElement.scrollTop;\n\t\t\t\tevent.preventDefault = function () { event.returnValue = false };\n\t\t\t\tevent.relatedTarget = event.fromElement || null;\n\t\t\t\tevent.stopImmediatePropagation = function () { immediatePropagation = false; event.cancelBubble = true };\n\t\t\t\tevent.stopPropagation = function () { event.cancelBubble = true };\n\t\t\t\tevent.target = event.srcElement || target;\n\t\t\t\tevent.timeStamp = +new Date;\n\n\t\t\t\tvar plainEvt = {};\n\t\t\t\tfor (var i in event) {\n\t\t\t\t\tplainEvt[i] = event[i];\n\t\t\t\t}\n\n\t\t\t\t// create an cached list of the master events list (to protect this loop from breaking when an event is removed)\n\t\t\t\tfor (var i = 0, typeListenersCache = [].concat(typeListeners), typeListenerCache, immediatePropagation = true; immediatePropagation && (typeListenerCache = typeListenersCache[i]); ++i) {\n\t\t\t\t\t// check to see if the cached event still exists in the master events list\n\t\t\t\t\tfor (var ii = 0, typeListener; typeListener = typeListeners[ii]; ++ii) {\n\t\t\t\t\t\tif (typeListener == typeListenerCache) {\n\t\t\t\t\t\t\ttypeListener.call(target, plainEvt);\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// add the event to the master event list\n\t\ttypeListeners.push(listener);\n\t});\n\n\t// remove\n\taddToPrototype(\"removeEventListener\", function (type, listener) {\n\t\tvar\n\t\ttarget = this,\n\t\tlisteners = target.addEventListener.listeners = target.addEventListener.listeners || {},\n\t\ttypeListeners = listeners[type] = listeners[type] || [];\n\n\t\t// remove the newest matching event from the master event list\n\t\tfor (var i = typeListeners.length - 1, typeListener; typeListener = typeListeners[i]; --i) {\n\t\t\tif (typeListener == listener) {\n\t\t\t\ttypeListeners.splice(i, 1);\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// if no events exist, detach the listener\n\t\tif (!typeListeners.length && typeListeners.event) {\n\t\t\ttarget.detachEvent(\"on\" + type, typeListeners.event);\n\t\t}\n\t});\n\n\t// dispatch\n\taddToPrototype(\"dispatchEvent\", function (eventObject) {\n\t\tvar\n\t\ttarget = this,\n\t\ttype = eventObject.type,\n\t\tlisteners = target.addEventListener.listeners = target.addEventListener.listeners || {},\n\t\ttypeListeners = listeners[type] = listeners[type] || [];\n\n\t\ttry {\n\t\t\treturn target.fireEvent(\"on\" + type, eventObject);\n\t\t} catch (error) {\n\t\t\tif (typeListeners.event) {\n\t\t\t\ttypeListeners.event(eventObject);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t});\n\n\t// CustomEvent\n\tObject.defineProperty(Window.prototype, \"CustomEvent\", {\n\t\tget: function () {\n\t\t\tvar self = this;\n\n\t\t\treturn function CustomEvent(type, eventInitDict) {\n\t\t\t\tvar event = self.document.createEventObject(), key;\n\n\t\t\t\tevent.type = type;\n\t\t\t\tfor (key in eventInitDict) {\n\t\t\t\t\tif (key == 'cancelable'){\n\t\t\t\t\t\tevent.returnValue = !eventInitDict.cancelable;\n\t\t\t\t\t} else if (key == 'bubbles'){\n\t\t\t\t\t\tevent.cancelBubble = !eventInitDict.bubbles;\n\t\t\t\t\t} else if (key == 'detail'){\n\t\t\t\t\t\tevent.detail = eventInitDict.detail;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn event;\n\t\t\t};\n\t\t}\n\t});\n\n\t// ready\n\tfunction ready(event) {\n\t\tif (ready.interval && document.body) {\n\t\t\tready.interval = clearInterval(ready.interval);\n\n\t\t\tdocument.dispatchEvent(new CustomEvent(\"DOMContentLoaded\"));\n\t\t}\n\t}\n\n\tready.interval = setInterval(ready, 1);\n\n\twindow.addEventListener(\"load\", ready);\n})();\n\n(!this.CustomEvent || typeof this.CustomEvent === \"object\") && (function() {\n\t// CustomEvent for browsers which don't natively support the Constructor method\n\tthis.CustomEvent = function CustomEvent(type, eventInitDict) {\n\t\tvar event;\n\t\teventInitDict = eventInitDict || {bubbles: false, cancelable: false, detail: undefined};\n\n\t\ttry {\n\t\t\tevent = document.createEvent('CustomEvent');\n\t\t\tevent.initCustomEvent(type, eventInitDict.bubbles, eventInitDict.cancelable, eventInitDict.detail);\n\t\t} catch (error) {\n\t\t\t// for browsers which don't support CustomEvent at all, we use a regular event instead\n\t\t\tevent = document.createEvent('Event');\n\t\t\tevent.initEvent(type, eventInitDict.bubbles, eventInitDict.cancelable);\n\t\t\tevent.detail = eventInitDict.detail;\n\t\t}\n\n\t\treturn event;\n\t};\n})();\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/src/polyfills/ie8/indexOf.js",
    "content": "// Production steps of ECMA-262, Edition 5, 15.4.4.14\n// Reference: http://es5.github.io/#x15.4.4.14\nif (!Array.prototype.indexOf) {\n  Array.prototype.indexOf = function(searchElement, fromIndex) {\n\n    var k;\n\n    // 1. Let O be the result of calling ToObject passing\n    //    the this value as the argument.\n    if (this == null) {\n      throw new TypeError('\"this\" is null or not defined');\n    }\n\n    var O = Object(this);\n\n    // 2. Let lenValue be the result of calling the Get\n    //    internal method of O with the argument \"length\".\n    // 3. Let len be ToUint32(lenValue).\n    var len = O.length >>> 0;\n\n    // 4. If len is 0, return -1.\n    if (len === 0) {\n      return -1;\n    }\n\n    // 5. If argument fromIndex was passed let n be\n    //    ToInteger(fromIndex); else let n be 0.\n    var n = +fromIndex || 0;\n\n    if (Math.abs(n) === Infinity) {\n      n = 0;\n    }\n\n    // 6. If n >= len, return -1.\n    if (n >= len) {\n      return -1;\n    }\n\n    // 7. If n >= 0, then Let k be n.\n    // 8. Else, n<0, Let k be len - abs(n).\n    //    If k is less than 0, then let k be 0.\n    k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\n\n    // 9. Repeat, while k < len\n    while (k < len) {\n      // a. Let Pk be ToString(k).\n      //   This is implicit for LHS operands of the in operator\n      // b. Let kPresent be the result of calling the\n      //    HasProperty internal method of O with argument Pk.\n      //   This step can be combined with c\n      // c. If kPresent is true, then\n      //    i.  Let elementK be the result of calling the Get\n      //        internal method of O with the argument ToString(k).\n      //   ii.  Let same be the result of applying the\n      //        Strict Equality Comparison Algorithm to\n      //        searchElement and elementK.\n      //  iii.  If same is true, return k.\n      if (k in O && O[k] === searchElement) {\n        return k;\n      }\n      k++;\n    }\n    return -1;\n  };\n}\n"
  },
  {
    "path": "2 - Child and Starter Themes/2.07-jointswp-starter/vendor/what-input/src/what-input.js",
    "content": "module.exports = (function() {\n\n  /*\n    ---------------\n    Variables\n    ---------------\n  */\n\n  // cache document.documentElement\n  var docElem = document.documentElement;\n\n  // last used input type\n  var currentInput = 'initial';\n\n  // last used input intent\n  var currentIntent = null;\n\n  // form input types\n  var formInputs = [\n    'input',\n    'select',\n    'textarea'\n  ];\n\n  // list of modifier keys commonly used with the mouse and\n  // can be safely ignored to prevent false keyboard detection\n  var ignoreMap = [\n    16, // shift\n    17, // control\n    18, // alt\n    91, // Windows key / left Apple cmd\n    93  // Windows menu / right Apple cmd\n  ];\n\n  // mapping of events to input types\n  var inputMap = {\n    'keyup': 'keyboard',\n    'mousedown': 'mouse',\n    'mousemove': 'mouse',\n    'MSPointerDown': 'pointer',\n    'MSPointerMove': 'pointer',\n    'pointerdown': 'pointer',\n    'pointermove': 'pointer',\n    'touchstart': 'touch'\n  };\n\n  // array of all used input types\n  var inputTypes = [];\n\n  // boolean: true if touch buffer timer is running\n  var isBuffering = false;\n\n  // map of IE 10 pointer events\n  var pointerMap = {\n    2: 'touch',\n    3: 'touch', // treat pen like touch\n    4: 'mouse'\n  };\n\n  // touch buffer timer\n  var touchTimer = null;\n\n\n  /*\n    ---------------\n    Set up\n    ---------------\n  */\n\n  var setUp = function() {\n\n    // add correct mouse wheel event mapping to `inputMap`\n    inputMap[detectWheel()] = 'mouse';\n\n    addListeners();\n    setInput();\n  };\n\n\n  /*\n    ---------------\n    Events\n    ---------------\n  */\n\n  var addListeners = function() {\n\n    // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n    // can only demonstrate potential, but not actual, interaction\n    // and are treated separately\n\n    // pointer events (mouse, pen, touch)\n    if (window.PointerEvent) {\n      docElem.addEventListener('pointerdown', updateInput);\n      docElem.addEventListener('pointermove', setIntent);\n    } else if (window.MSPointerEvent) {\n      docElem.addEventListener('MSPointerDown', updateInput);\n      docElem.addEventListener('MSPointerMove', setIntent);\n    } else {\n\n      // mouse events\n      docElem.addEventListener('mousedown', updateInput);\n      docElem.addEventListener('mousemove', setIntent);\n\n      // touch events\n      if ('ontouchstart' in window) {\n        docElem.addEventListener('touchstart', touchBuffer);\n      }\n    }\n\n    // mouse wheel\n    docElem.addEventListener(detectWheel(), setIntent);\n\n    // keyboard events\n    docElem.addEventListener('keydown', updateInput);\n    docElem.addEventListener('keyup', updateInput);\n  };\n\n  // checks conditions before updating new input\n  var updateInput = function(event) {\n\n    // only execute if the touch buffer timer isn't running\n    if (!isBuffering) {\n      var eventKey = event.which;\n      var value = inputMap[event.type];\n      if (value === 'pointer') value = pointerType(event);\n\n      if (\n        currentInput !== value ||\n        currentIntent !== value\n      ) {\n\n        var activeInput = (\n          document.activeElement &&\n          formInputs.indexOf(document.activeElement.nodeName.toLowerCase()) === -1\n        ) ? true : false;\n\n        if (\n          value === 'touch' ||\n\n          // ignore mouse modifier keys\n          (value === 'mouse' && ignoreMap.indexOf(eventKey) === -1) ||\n\n          // don't switch if the current element is a form input\n          (value === 'keyboard' && activeInput)\n        ) {\n\n          // set the current and catch-all variable\n          currentInput = currentIntent = value;\n\n          setInput();\n        }\n      }\n    }\n  };\n\n  // updates the doc and `inputTypes` array with new input\n  var setInput = function() {\n    docElem.setAttribute('data-whatinput', currentInput);\n    docElem.setAttribute('data-whatintent', currentInput);\n\n    if (inputTypes.indexOf(currentInput) === -1) {\n      inputTypes.push(currentInput);\n      docElem.className += ' whatinput-types-' + currentInput;\n    }\n  };\n\n  // updates input intent for `mousemove` and `pointermove`\n  var setIntent = function(event) {\n\n    // only execute if the touch buffer timer isn't running\n    if (!isBuffering) {\n      var value = inputMap[event.type];\n      if (value === 'pointer') value = pointerType(event);\n\n      if (currentIntent !== value) {\n        currentIntent = value;\n\n        docElem.setAttribute('data-whatintent', currentIntent);\n      }\n    }\n  };\n\n  // buffers touch events because they frequently also fire mouse events\n  var touchBuffer = function(event) {\n\n    // clear the timer if it happens to be running\n    window.clearTimeout(touchTimer);\n\n    // set the current input\n    updateInput(event);\n\n    // set the isBuffering to `true`\n    isBuffering = true;\n\n    // run the timer\n    touchTimer = window.setTimeout(function() {\n\n      // if the timer runs out, set isBuffering back to `false`\n      isBuffering = false;\n    }, 200);\n  };\n\n\n  /*\n    ---------------\n    Utilities\n    ---------------\n  */\n\n  var pointerType = function(event) {\n   if (typeof event.pointerType === 'number') {\n      return pointerMap[event.pointerType];\n   } else {\n      return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // treat pen like touch\n   }\n  };\n\n  // detect version of mouse wheel event to use\n  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\n  var detectWheel = function() {\n    return 'onwheel' in document.createElement('div') ?\n      'wheel' : // Modern browsers support \"wheel\"\n\n      document.onmousewheel !== undefined ?\n        'mousewheel' : // Webkit and IE support at least \"mousewheel\"\n        'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox\n  };\n\n\n  /*\n    ---------------\n    Init\n\n    don't start script unless browser cuts the mustard\n    (also passes if polyfills are used)\n    ---------------\n  */\n\n  if (\n    'addEventListener' in window &&\n    Array.prototype.indexOf\n  ) {\n    setUp();\n  }\n\n\n  /*\n    ---------------\n    API\n    ---------------\n  */\n\n  return {\n\n    // returns string: the current input type\n    // opt: 'loose'|'strict'\n    // 'strict' (default): returns the same value as the `data-whatinput` attribute\n    // 'loose': includes `data-whatintent` value if it's more current than `data-whatinput`\n    ask: function(opt) { return (opt === 'loose') ? currentIntent : currentInput; },\n\n    // returns array: all the detected input types\n    types: function() { return inputTypes; }\n\n  };\n\n}());\n"
  },
  {
    "path": "3 - Template Hierarchy/3.02-setting-up-the-theme/functions.php",
    "content": "<?php\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.02-setting-up-the-theme/index.php",
    "content": ""
  },
  {
    "path": "3 - Template Hierarchy/3.02-setting-up-the-theme/style.css",
    "content": ""
  },
  {
    "path": "3 - Template Hierarchy/3.03-style.css/functions.php",
    "content": ""
  },
  {
    "path": "3 - Template Hierarchy/3.03-style.css/index.php",
    "content": ""
  },
  {
    "path": "3 - Template Hierarchy/3.03-style.css/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.04-functions/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.04-functions/index.php",
    "content": ""
  },
  {
    "path": "3 - Template Hierarchy/3.04-functions/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.05-index/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.05-index/index.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <title>WP Hierarchy</title>\n  </head>\n  <body>\n\n    <h1>index.php</h1>\n\n  </body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.05-index/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.06-header/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.06-header/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <?php wp_head(); ?>\n  </head>\n  <body>\n    <div class=\"notice\">\n      <p>NEW - Lorem to the sell thisum!</p>\n    </div>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.06-header/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <?php wp_head(); ?>\n  </head>\n  <body>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.06-header/index.php",
    "content": "<?php get_header(); ?>\n\n    <h1>index.php</h1>\n\n  </body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.06-header/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/footer-splash.php",
    "content": "\n  <div class=\"notice\">\n    <p>Don't forget to sign up!</p>\n  </div>\n\n  <?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/footer.php",
    "content": "\n  <?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <?php wp_head(); ?>\n  </head>\n  <body>\n    <div class=\"notice\">\n      <p>NEW - Lorem to the sell thisum!</p>\n    </div>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n      <?php\n        $args = [\n          'theme_location' => 'main-menu'\n        ];\n        wp_nav_menu( $args );\n      ?>\n    </nav>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/index.php",
    "content": "<?php get_header(); ?>\n\n    <h1>index.php</h1>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.08-menu-and-header/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n        <header class=\"entry-header\">\n\n          <h1>index.php</h1>\n\n        </header>\n\n        <div class=\"entry-content\">\n\n          <p>Lorem.</p>\n\n        </div>\n\n      </article>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.09-adding-markup/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/footer-splash.php",
    "content": "\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n    <?php wp_footer(); ?>\n\n  </div><!-- #content -->\n\n</div><!-- #footer -->\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/footer.php",
    "content": "\n    <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    </footer>\n\n    <?php wp_footer(); ?>\n\n  </div><!-- #content -->\n\n</div><!-- #footer -->\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n        <header class=\"entry-header\">\n\n          <h1>index.php</h1>\n\n        </header>\n\n        <div class=\"entry-content\">\n\n          <p>Lorem.</p>\n\n        </div>\n\n      </article>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'splash' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Place widgets here!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.10-sidebar/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n        <header class=\"entry-header\">\n\n          <h1>index.php</h1>\n\n        </header>\n\n        <div class=\"entry-content\">\n\n          <p>Lorem.</p>\n\n        </div>\n\n      </article>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.11-widget-areas/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; else : ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n          </div>\n\n        </article>\n\n      <?php endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.12-the-loop/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.13-content-and-content-none/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.14-singular/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.15-single/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>      \n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post_format', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);  \n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.17-comments/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n    <p><?php esc_html_e( 'Enjoy this gallery post!!!', 'wphierarchy' ); ?></p>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.18-post-formats/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n    <p><?php esc_html_e( 'Enjoy this gallery post!!!', 'wphierarchy' ); ?></p>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n    <p><?php esc_html_e( 'Enjoy this gallery post!!!', 'wphierarchy' ); ?></p>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.19-home/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.20-archive/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.21-author/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.23-category/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.24-tag/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;  \n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.25-date/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <pre><?php var_export( $post ); ?></pre>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.26-attachment/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.27-mimetype/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.28-page/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.29-front-page/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.30-custom/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.31-404/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.32-search/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.33-archive-posttype/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.34-single-posttype/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.35-single-posttype-slug/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              Skills:\n              <?php the_terms( $post->ID, 'skills' ); ?>\n            </p>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.tax-skills #content,\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.tax a {\n  display: inline-block;\n  margin: 0 2px;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/taxonomy.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area narrow\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.36-taxonomy/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', [], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              Skills:\n              <?php the_terms( $post->ID, 'skills' ); ?>\n            </p>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.tax a {\n  display: inline-block;\n  margin: 0 2px;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/taxonomy-skills-php.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills-php.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/taxonomy-skills.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/taxonomy.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area narrow\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.37-taxonomy-taxonomy-taxonomy-slug/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/assets/css/custom.css",
    "content": "body {\n  background-color: #000; \n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              Skills:\n              <?php the_terms( $post->ID, 'skills' ); ?>\n            </p>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.tax a {\n  display: inline-block;\n  margin: 0 2px;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/taxonomy-skills-php.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills-php.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/taxonomy-skills.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/taxonomy.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area narrow\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.38-additional-css/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wphierarchy' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wphierarchy' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wphierarchy' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wphierarchy' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wphierarchy' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphierarchy' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphierarchy' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wphierarchy_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_styles' );\n\n// Load in our JS\nfunction wphierarchy_enqueue_scripts() {\n\n  wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphierarchy_enqueue_scripts' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wphierarchy_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphierarchy' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wphierarchy' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wphierarchy' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wphierarchy' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphierarchy_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphierarchy' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wphierarchy'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              Skills:\n              <?php the_terms( $post->ID, 'skills' ); ?>\n            </p>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wphierarchy' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphierarchy\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #fff091;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.tax a {\n  display: inline-block;\n  margin: 0 2px;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/taxonomy-skills-php.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills-php.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/taxonomy-skills.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/taxonomy.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area narrow\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wphierarchy' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wphierarchy' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "3 - Template Hierarchy/3.39-adding-javascript-to-a-theme/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/404.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <p>Template: 404.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/archive-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: archive.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/attachment.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>        \n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><a href=\"<?php echo $post->guid; ?>\">Download</a></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: attachment.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <h1><?php the_archive_title(); ?></h1>\n        <p>\n          <?php echo the_author_meta( 'description', $post->post_author ); ?>\n        </p>\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: author.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/category-9.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-9.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/category-excerpt.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Only!', 'wphierachy' ); ?>\n      </h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category-excerpt.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo category_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: category.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n?>\n\n<div id=\"comments\" class=\"comments-area\">\n\n\t<?php\n\t// You can start editing here -- including this comment!\n\tif ( have_comments() ) : ?>\n\t\t<h2 class=\"comments-title\">\n\t\t\t<?php\n\t\t\t\tprintf( // WPCS: XSS OK.\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wptags' ) ),\n\t\t\t\t\tesc_html( _nx( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'wptags' ) ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),\n\t\t\t\t\t'<span>' . get_the_title() . '</span>'\n\t\t\t\t);\n\t\t\t?>\n\t\t</h2><!-- .comments-title -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-above\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wptags' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wptags' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wptags' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wptags' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wptags' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wptags' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-above -->\n\t\t<?php endif; // Check for comment navigation. ?>\n\n\t\t<ol class=\"comment-list\">\n\t\t\t<?php\n\t\t\t\twp_list_comments( array(\n\t\t\t\t\t'style'      => 'ol',\n\t\t\t\t\t'short_ping' => true,\n\t\t\t\t) );\n\t\t\t?>\n\t\t</ol><!-- .comment-list -->\n\n\t\t<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?>\n\t\t<nav id=\"comment-nav-below\" class=\"navigation comment-navigation\" role=\"navigation\">\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wptags' ); ?></h2>\n\t\t\t<h2 class=\"screen-reader-text\"><?php esc_html_e( 'Comment navigation', 'wptags' ); ?></h2>\n\t\t\t<div class=\"nav-links\">\n\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wptags' ) ); ?></div>\n\t\t\t\t<div class=\"nav-previous\"><?php previous_comments_link( esc_html__( 'Older Comments', 'wptags' ) ); ?></div>\n\t\t\t\t<div class=\"nav-next\"><?php next_comments_link( esc_html__( 'Newer Comments', 'wptags' ) ); ?></div>\n\n\t\t\t</div><!-- .nav-links -->\n\t\t</nav><!-- #comment-nav-below -->\n\t\t<?php\n\t\tendif; // Check for comment navigation.\n\n\tendif; // Check for have_comments().\n\n\n\t// If comments are closed and there are comments, let's leave a little note, shall we?\n\tif ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>\n\n\t\t<p class=\"no-comments\"><?php esc_html_e( 'Comments are closed.', 'wptags' ); ?></p>\n\t<?php\n\tendif;\n\n\tcomment_form();\n\t?>\n\n</div><!-- #comments -->\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: date.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/footer-splash.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <div class=\"notice\">\n      <p>Don't forget to sign up!</p>\n    </div>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/front-page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: front-page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'front-page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'custom-background' );\nadd_theme_support( 'custom-header' );\nadd_theme_support( 'custom-logo' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\nadd_theme_support( 'starter-content' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Page Sidebar', 'wptags' ),\n    'id'            => 'page-sidebar',\n    'description'   => esc_html__( 'Add widgets for page sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n  register_sidebar([\n    'name'          => esc_html__( 'Front Page Widgets', 'wptags' ),\n    'id'            => 'front-page',\n    'description'   => esc_html__( 'Add widgets for the front page here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/header-splash.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"notice\">\n          <p>NEW - Lorem to the sell thisum!</p>\n        </div>\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <?php bloginfo( 'name' ); ?>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/home.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php wp_title( '' ); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: home.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/image.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <p><img src=\"<?php echo esc_url( $post->guid ); ?>\" alt=\"<?php echo esc_attr( get_the_title() ); ?>\"></p>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: image.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: index.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/page-1096.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-1096.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/page-child-page-05.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page-child-page-05.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: page.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php esc_html_e( 'Searching For:', 'wptags'); ?>\n        \"<?php echo get_search_query(); ?>\"\n      </h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'search' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: search.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar( 'page' ); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/sidebar-front-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'front-page' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'front-page' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/sidebar-page.php",
    "content": "<?php\nif( ! is_active_sidebar( 'page-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'page-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/sidebar-splash.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <p>Sell something major!</p>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/single-portfolio-php-for-wordpress.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wptags' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio-php-for-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/single-portfolio.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <a href=\"<?php the_permalink(); ?>\">\n              <?php the_post_thumbnail( 'full' ); ?>\n            </a>\n\n            <?php the_content(); ?>\n\n            <p>\n              Skills:\n              <?php the_terms( $post->ID, 'skills' ); ?>\n            </p>\n\n            <p>\n              <a class=\"button\" href=\"<?php the_field( 'url' ); ?>\">\n                <?php esc_html_e( 'Visit the Site', 'wptags' ); ?>\n              </a>\n            </p>\n\n          </div>\n\n        </article>\n\n\n      <?php endwhile; endif; ?>\n\n      <p>Template: single-portfolio.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: single.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/singular.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: singular.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/style.css",
    "content": "/*\nTheme Name: WP Hierarchy\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com/\nDescription: Demo theme for learning the WordPress Template Hierarchy\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\nTags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready\n\nLorem to the longer descriptionum.\n*/\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nbody.postid-1301 {\n  background-color: #AB8BED;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n  text-decoration: none;\n}\n\n#content a  {\n  text-decoration: underline;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #fff091;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n  clear: both;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio {\n  margin-right: 5%;\n}\n\n.tax a {\n  display: inline-block;\n  margin: 0 2px;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n.home #secondary {\n  width: 100%;\n  clear: both;\n}\n\n.home #secondary .widget {\n  width: 30%;\n  float: left;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/tag-50.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts :(' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-50.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/tag-wordpress.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1>\n        <?php the_archive_title(); ?>\n        <?php esc_html_e( ' Posts Yayyyy!!!!' ); ?>\n      </h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag-wordpress.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/tag.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n      <p><?php echo tag_description(); ?></p>\n\n      <hr>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: tag.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/taxonomy-skills-php.php",
    "content": "<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills-php.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/taxonomy-skills.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'portfolio' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy-skills.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/taxonomy.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area narrow\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content-posts', get_post_format() ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <?php echo paginate_links(); ?>\n\n      <p>Template: taxonomy.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-full-width.php",
    "content": "<?php\n  // Template Name: Full Width\n  // Template Post Type: page\n?>\n<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-full-width.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-none.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <h1><?php esc_html_e( '404 - Page Not Found', 'wptags' ); ?></h1>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <p><?php esc_html_e( 'Sorry! No content found.', 'wptags' ); ?></p>\n\n    <p><?php echo get_search_form(); ?></p>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-page.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-portfolio.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <?php the_title( '<h2><a href=\"' . get_the_permalink() .'\">', '</a></h2>' ); ?>\n\n    <a href=\"<?php the_permalink(); ?>\">\n      <?php the_post_thumbnail( 'full' ); ?>\n    </a>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-posts-gallery.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-posts.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h2><a href=\"' . esc_url( get_permalink() ) . '\">', '</a></h2>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author_posts_link(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content-search.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\" class=\"post\">\n\n  <header class=\"entry-header\">\n\n    <h2 class=\"search-title\">\n      <a href=\"<?php the_permalink(); ?>\">\n        <?php echo get_post_type( $post ); ?>:\n        <?php the_title(); ?>\n      </a>\n    </h2>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_excerpt(); ?>\n\n  </div>\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-parts/content.php",
    "content": "<article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n  <header class=\"entry-header\">\n\n    <span class=\"dashicons dashicons-format-<?php echo get_post_format( $post->ID ); ?>\"></span>\n\n    <?php the_title( '<h1>', '</h1>' ); ?>\n\n    <div class=\"byline\">\n      <?php esc_html_e( 'Author:' ); ?> <?php the_author(); ?>\n    </div>\n\n  </header>\n\n  <div class=\"entry-content\">\n\n    <?php the_content(); ?>\n\n  </div>\n\n  <?php if( comments_open() ) : ?>\n\n    <?php comments_template(); ?>\n\n  <?php endif; ?>\n\n\n\n\n</article>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/template-splash.php",
    "content": "<?php\n  // Template Name: Splash Page\n  // Template Post Type: post, page\n?>\n<?php get_header( 'splash' ); ?>\n\n  <div id=\"primary\" class=\"content-area extended\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <?php get_template_part( 'template-parts/content', 'page' ); ?>\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: template-splash.php</p>\n\n    </main>\n\n  </div>\n\n<?php get_footer( 'splash' ); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.01-intro-wptags/video.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title( '<h1>', '</h1>' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <video src=\"<?php echo esc_url( $post->guid ); ?>\" controls></video>\n\n            <?php the_content(); ?>\n\n          </div>\n\n          <?php if( comments_open() ) : ?>\n\n            <?php comments_template(); ?>\n\n          <?php endif; ?>\n\n        </article>\n\n\n      <?php endwhile; else : ?>\n\n        <?php get_template_part( 'template-parts/content', 'none' ); ?>\n\n      <?php endif; ?>\n\n      <p>Template: video.php</p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php wp_loginout( get_permalink() ); ?>\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php\n\n      $args = [\n        'label_username' => 'Enter your username',\n        'label_password' => 'Enter your password'\n      ];\n\n      wp_login_form( $args );\n\n   ?>\n\n  <?php endif; ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.04-general-login-wptags/style.css",
    "content": "/*\nTheme Name: 4.4 - Login Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/category.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <h1><?php single_tag_title( 'Category: ' ); ?></h1>\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php\n    $args = [\n      'type'  => 'weekly',\n      'limit' => 10,\n      'show_post_count' => true,\n      'order' => 'ASC'\n    ];\n    wp_get_archives( $args );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.06-general-archive-wptags/style.css",
    "content": "/*\nTheme Name: 4.6 - Archive Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php get_calendar(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.07-general-calendar-wptags/style.css",
    "content": "/*\nTheme Name: 4.7 - Calendar Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php single_term_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    &copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location'  =>  'main-menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <?php comments_template(); ?>\n\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.10-practice-general-wptags/style.css",
    "content": "/*\nTheme Name: 4.10 - General Template Tags (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php single_term_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    &copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n              // Main wrapper around the ul of posts\n              'container'       =>  'div',\n              'container_class' =>  'container-class',\n              'container_id'    =>  'container-id',\n              // Wrapper for menu items - defaults to ul\n              'items_wrap'      =>  '<ul id=\"%1$s\" class=\"%2$s\">%3$s</ul>',\n              'menu_class'      =>  'items-wrap-class',\n              'menu_id'         =>  'items-wrap-id',\n              // Add text before link text (outside a tag)\n              'before'          =>  '<',\n              'after'           =>  '>',\n              // Add text to link text (inside a tag)\n              'link_before'     =>  '{',\n              'link_after'      =>  '}',\n              // Depth of child nav items to show\n              'depth'           =>  0,\n              // Callback function if menu is not available\n              'fallback_cb'     =>  'wp_page_menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <?php comments_template(); ?>\n\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.11-navigation-wptags/style.css",
    "content": "/*\nTheme Name: 4.11 - Navigation Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/archive.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php single_term_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/date.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <h1><?php the_archive_title(); ?></h1>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <?php comments_template(); ?>\n\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.15-practice-navigation-wptags/style.css",
    "content": "/*\nTheme Name: 4.15 - Navigation Tags (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class( [ 'single', 'blog' ] ); ?>>\n\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.17-post-class-wptags/style.css",
    "content": "/*\nTheme Name: 4.17 - Post Class Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/style.css",
    "content": "/*\nTheme Name: 4.18 - Common Post Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.18-post-common-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ', 'single' ); ?>\n  <?php the_tags( 'Tags: ', ', ', ' |' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/style.css",
    "content": "/*\nTheme Name: 4.20 - Post Date Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.20-post-date-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time( 'F j, Y' ); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <?php posts_nav_link(); ?>\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p><?php //wp_link_pages(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/style.css",
    "content": "/*\nTheme Name: 4.21 - Post Link Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.21-post-link-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2><a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?></a></h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n          <?php if( !is_attachment() ): ?>\n\n            <header class=\"entry-header\">\n\n              <h1><?php the_title(); ?></h1>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <?php endif; ?>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/style.css",
    "content": "/*\nTheme Name: 4.22 - Post Attchment Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.22-post-attachment-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php //the_title('<h2><a href=\"' . get_the_permalink() . '\">', '</a></h2>'); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <!-- <pre>\n              <?php var_export( get_post_meta( $post->ID )); ?>\n            </pre> -->\n\n            <?php if ( !empty( get_post_meta( $post->ID, 'Location' ) ) ) : ?>\n\n              <hr>\n\n              <p>\n                <?php esc_html_e( 'Post Meta: ', 'wptags' ); ?>\n                <?php the_meta(); ?>\n                <?php esc_html_e( 'Location: ', 'wptags' ); ?>\n                <?php echo get_post_meta( $post->ID, 'Location', true ); ?>\n              </p>\n\n            <?php endif; ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/style.css",
    "content": "/*\nTheme Name: 4.23 - Misc Post Tags\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.23-post-misc-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php if ( !empty( get_post_meta( $post->ID, 'Location' ) ) ) : ?>\n\n              <hr>\n\n              <p>\n                <?php esc_html_e( 'Post Meta: ', 'wptags' ); ?>\n                <?php the_meta(); ?>\n                <?php esc_html_e( 'Location: ', 'wptags' ); ?>\n                <?php echo get_post_meta( $post->ID, 'Location', true ); ?>\n              </p>\n\n            <?php endif; ?>\n\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/style.css",
    "content": "/*\nTheme Name: 4.26 - Post Tags PRACTICE (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.26-practice-post-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <?php\n\n                // Default Thumbnail\n                // the_post_thumbnail();\n\n                // Post Sizes - https://goo.gl/daXzTh\n\n                // Thumbnail (150 x 150 hard cropped)\n                // the_post_thumbnail( 'thumbnail' );\n\n                // Medium (300 x 300 max height 300px)\n                // the_post_thumbnail( 'medium' );\n\n                // Medium Large (768 x 0 infinite height)\n                // the_post_thumbnail( 'medium_large' );\n\n                // Large (1024 x 1024 max height 1024px)\n                // the_post_thumbnail( 'large' );\n\n                // Full resolution (original size uploaded)\n                // the_post_thumbnail( 'full' );\n\n\n                // Post Thumbs with Attributes\n                $attr = [\n                  'class' => 'img featured',\n                  'title' => get_the_title(),\n                  'alt' => get_the_title() . ' Alt'\n                ];\n                the_post_thumbnail( 'thumbnail', $attr );\n\n\n              ?>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php if ( !empty( get_post_meta( $post->ID, 'Location' ) ) ) : ?>\n\n              <hr>\n\n              <p>\n                <?php esc_html_e( 'Post Meta: ', 'wptags' ); ?>\n                <?php the_meta(); ?>\n                <?php esc_html_e( 'Location: ', 'wptags' ); ?>\n                <?php echo get_post_meta( $post->ID, 'Location', true ); ?>\n              </p>\n\n            <?php endif; ?>\n\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/style.css",
    "content": "/*\nTheme Name: 4.27 - Thumbnail Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.27-post-thumbnails-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php if ( !empty( get_post_meta( $post->ID, 'Location' ) ) ) : ?>\n\n              <hr>\n\n              <p>\n                <?php esc_html_e( 'Post Meta: ', 'wptags' ); ?>\n                <?php the_meta(); ?>\n                <?php esc_html_e( 'Location: ', 'wptags' ); ?>\n                <?php echo get_post_meta( $post->ID, 'Location', true ); ?>\n              </p>\n\n            <?php endif; ?>\n\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/style.css",
    "content": "/*\nTheme Name: 4.28 - PRACTICE - Thumbnail Tags (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.29-practice-thumbnails-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <p><?php echo get_search_link( 'Hello WP' ); ?></p>\n      <p><?php echo 'Query: \"' . get_search_query() . '\"'; ?></p>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n            <p>\n              <a href=\"<?php echo get_delete_post_link( $post->ID, '', false ); ?>\">\n                <?php esc_html_e( 'Delete This', 'wptags' ); ?>\n              </a>\n            </p>\n\n            <?php echo get_admin_url(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/style.css",
    "content": "/*\nTheme Name: 4.30 - Link Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.30-links-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/style.css",
    "content": "/*\nTheme Name: 4.32 - PRACTICE - Link Tags (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.32-practice-links-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/comment.php",
    "content": "<div class=\"comment\">\n\n  <?php comment_author(); ?>\n  @\n  <?php comment_date( 'm.d.y g:ia' ); ?>\n\n  <?php comment_text(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <ul>\n      <?php\n\n        // Show default comment list\n        // wp_list_comments();\n\n        // Custom comment list\n        $args = [\n          'callback' => 'wptags_comment',\n        ];\n        wp_list_comments( $args );\n      ?>\n    </ul>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.33 - Comment Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   #comments ul,\n   #comments ol,\n   #comments li {\n       list-style: none;\n       margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.33-comment-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time()\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php if( comments_open() ): ?>\n\n    <?php comment_form(); ?>\n\n  <?php else: ?>\n\n     <p><?php esc_html_e( 'Comments closed.', 'wptags' ); ?></p>\n\n   <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.34 - Common Comment Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n      overflow: auto;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.34-common-comment-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php if( comments_open() ): ?>\n\n    <?php comment_form(); ?>\n\n  <?php else: ?>\n\n     <p><?php esc_html_e( 'Comments closed.', 'wptags' ); ?></p>\n\n   <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Calendar', 'wptags' ); ?></h3>\n  <?php get_calendar(); ?>\n\n  <h3><?php _e( 'Archives', 'wptags' ); ?></h3>\n  <?php\n    wp_get_archives(  );\n  ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.36 - PRACTICE - Comment Tags Practice (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n      overflow: auto;      \n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.36-practice-comment-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <div class=\"author-bio\">\n        <img src=\"<?php ;?>\" alt=\"\">\n        <h2><?php the_author_meta( 'display_name' ) ?></h2>\n        <ul>\n          <li>user_login: <?php the_author_meta( 'user_login' ); ?></li>\n          <li>user_pass: <?php the_author_meta( 'user_pass' ); ?></li>\n          <li>user_nicename: <?php the_author_meta( 'user_nicename' ); ?></li>\n          <li>user_email: <?php the_author_meta( 'user_email' ); ?></li>\n          <li>user_url: <?php the_author_meta( 'user_url' ); ?></li>\n          <li>display_name: <?php the_author_meta( 'display_name' ); ?></li>\n          <li>nickname: <?php the_author_meta( 'nickname' ); ?></li>\n          <li>first_name: <?php the_author_meta( 'first_name' ); ?></li>\n          <li>last_name: <?php the_author_meta( 'last_name' ); ?></li>\n          <li>description: <?php the_author_meta( 'description' ); ?></li>\n          <li>user_level: <?php the_author_meta( 'user_level' ); ?></li>\n          <li>get_avatar <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?></li>\n          <li>get_edit_user_link\n            <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n              <?php _e( 'Edit', 'wptags' ); ?>\n            </a>\n          </li>\n        </ul>\n\n      </div>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'List Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n\n  <h3><?php _e( 'Dropdown Authors', 'wptags' ); ?></h3>\n  <form action=\"<?php bloginfo( 'url' ); ?>\" method=\"get\">\n    <?php wp_dropdown_users( [ 'name' => 'author' ] ); ?>\n    <input type=\"submit\" name=\"submit\" value=\"View\" />\n  </form>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.37 - Author Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  /*float: left;*/\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.37-author-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author(); ?> (<?php the_author_posts(); ?>)|\n  <?php the_author_link(); ?> |\n  <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/style.css",
    "content": "/*\nTheme Name: 4.39 - Author Tags Practice (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n  margin-right: 10px;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wptags' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.39-practice-author-tags-completed-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n      <h2><?php _e( 'Sanitization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          sanitize_text_field\n          <?php echo sanitize_text_field( \"<h1>Header</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_title\n          <?php echo sanitize_title( \"<h1>Post Title</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_email\n          <?php echo sanitize_email( \"edu c<tion>@zacgordon.com\" ); ?>\n        </li>\n        <li>\n          sanitize_html_class\n          <?php echo sanitize_html_class( \"new## class*%\" ); ?>\n        </li>\n        <li>\n          esc_url_raw\n          <?php echo esc_url_raw( \"https;//`javascript<forwp>.com\" ); ?>\n        </li>\n      </ul>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.42 - Sanitization Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wptags' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.42-sanitization-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n      <h2><?php _e( 'Sanitization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          sanitize_text_field\n          <?php echo sanitize_text_field( \"<h1>Header</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_title\n          <?php echo sanitize_title( \"<h1>Post Title</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_email\n          <?php echo sanitize_email( \"edu c<tion>@zacgordon.com\" ); ?>\n        </li>\n        <li>\n          sanitize_html_class\n          <?php echo sanitize_html_class( \"new## class*%\" ); ?>\n        </li>\n        <li>\n          esc_url_raw\n          <?php echo esc_url_raw( \"https;//`javascript<forwp>.com\" ); ?>\n        </li>\n      </ul>\n\n      <h2><?php _e( 'Escaping Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          esc_html\n          <?php echo esc_html( '<h1>Hello</h1>' ); ?>\n        </li>\n        <li>\n          esc_url\n          <?php echo esc_url( 'https://javascript <<>forwp.com' ); ?>\n        </li>\n        <li>\n          esc_js\n          <script>\n          <?php echo esc_js( \"alert( 'Hello!' );\" ); ?>\n          </script>\n        </li>\n        <li>\n          esc_attr\n          <span title=\"<?php echo esc_attr( '<\"%&h> another 9*&^%$#@!<h1>' ); ?>\">Span w ID</span>\n        </li>\n        <li>\n          esc_textarea\n          <?php\n          echo esc_textarea( '<input type=\"submit\">' ); ?>\n        </li>\n      </ul>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.43 - Escaping Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wptags' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.43-escaping-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n      <h2><?php _e( 'Sanitization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          sanitize_text_field\n          <?php echo sanitize_text_field( \"<h1>Header</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_title\n          <?php echo sanitize_title( \"<h1>Post Title</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_email\n          <?php echo sanitize_email( \"edu c<tion>@zacgordon.com\" ); ?>\n        </li>\n        <li>\n          sanitize_html_class\n          <?php echo sanitize_html_class( \"new## class*%\" ); ?>\n        </li>\n        <li>\n          esc_url_raw\n          <?php echo esc_url_raw( \"https;//`javascript<forwp>.com\" ); ?>\n        </li>\n      </ul>\n\n      <h2><?php _e( 'Escaping Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          esc_html\n          <?php echo esc_html( '<h1>Hello</h1>' ); ?>\n        </li>\n        <li>\n          esc_url\n          <?php echo esc_url( 'https://javascript <<>forwp.com' ); ?>\n        </li>\n        <li>\n          esc_js\n          <script>\n          <?php echo esc_js( \"alert( 'Hello!' );\" ); ?>\n          </script>\n        </li>\n        <li>\n          esc_attr\n          <span title=\"<?php echo esc_attr( '<\"%&h> another 9*&^%$#@!<h1>' ); ?>\">Span w ID</span>\n        </li>\n        <li>\n          esc_textarea\n          <?php\n          echo esc_textarea( '<input type=\"submit\">' ); ?>\n        </li>\n      </ul>\n\n      <h2><?php _e( 'Localization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          esc_html_e\n          <?php\n          esc_html_e( '<h1>Hello!</h1>' ); ?>\n        </li>\n        <li>\n          esc_html__\n          <?php\n          $title = esc_html__( '<h1>Hello!</h1>' ); ?>\n        </li>\n        <li>\n          _e\n          <?php _e( 'Hello! <em>Em</em>', 'wptags' ); ?>\n        </li>\n        <li>\n          __\n          <?php __( 'Hello! <em>Em</em>', 'wptags' ); ?>\n        </li>\n      </ul>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/style.css",
    "content": "/*\nTheme Name: 4.44 - Localization Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wptags' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "4 - Template Tags/4.44-localization-tags-wptags/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails' );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wpheirarchy' ),\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url( '/' ) ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              'theme_location' => 'main-menu'\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\"  <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/sidebar.php",
    "content": "<?php\nif( ! is_active_sidebar( 'main-sidebar' ) ) {\n  return;\n}\n?>\n\n<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "4 - Template Tags/wptags-starter/style.css",
    "content": "/*\nTheme Name: 4.X - Template Tags (Starter)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n.main-navigation li a {\n  padding: 5px;\n}\n\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tborder-top: 1px solid #ccc;\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: 100%;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 2.1538461538em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  \theight: 32px;\n  \toverflow: hidden;\n  \twidth: 26px;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n  .comment-reply-title small a:before {\n  \tcontent: \"\\f405\";\n  \tfont-size: 32px;\n  \tposition: relative;\n  \ttop: -5px;\n  }\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/author.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/comment.php",
    "content": "<div id=\"<?php comment_ID(); ?>\" <?php comment_class(); ?>>\n\n  <?php echo get_avatar( get_comment_author_email() ); ?>\n\n  <?php comment_author_link(); ?>\n\n  <?php\n    esc_html_e(\n      sprintf(\n        'Posted on %s @ %s',\n        get_comment_date( 'm.d.y' ),\n        get_comment_time( )\n      ),\n      'wptags'\n    );\n  ?>\n\n  <?php comment_text(); ?>\n\n  <?php\n    $args = [\n      'depth' => 1,\n      'max_depth' => 3,\n    ];\n    comment_reply_link( $args );\n  ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wptags' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wptags' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wptags_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wptags_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_styles' );\n\n// Load in our JS\nfunction wptags_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wptags_enqueue_scripts' );\n\n// Control header for the_title\nfunction wptags_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wptags_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wptags' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wptags' )\n]);\n\n\n// Setup Widget Areas\nfunction wptags_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wptags' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wptags' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wptags_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wptags' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n      <h2><?php _e( 'Sanitization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          sanitize_text_field\n          <?php echo sanitize_text_field( \"<h1>Header</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_title\n          <?php echo sanitize_title( \"<h1>Post Title</h1>\" ); ?>\n        </li>\n        <li>\n          sanitize_email\n          <?php echo sanitize_email( \"edu c<tion>@zacgordon.com\" ); ?>\n        </li>\n        <li>\n          sanitize_html_class\n          <?php echo sanitize_html_class( \"new## class*%\" ); ?>\n        </li>\n        <li>\n          esc_url_raw\n          <?php echo esc_url_raw( \"https;//`javascript<forwp>.com\" ); ?>\n        </li>\n      </ul>\n\n      <h2><?php _e( 'Escaping Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          esc_html\n          <?php echo esc_html( '<h1>Hello</h1>' ); ?>\n        </li>\n        <li>\n          esc_url\n          <?php echo esc_url( 'https://javascript <<>forwp.com' ); ?>\n        </li>\n        <li>\n          esc_js\n          <script>\n          <?php echo esc_js( \"alert( 'Hello!' );\" ); ?>\n          </script>\n        </li>\n        <li>\n          esc_attr\n          <span title=\"<?php echo esc_attr( '<\"%&h> another 9*&^%$#@!<h1>' ); ?>\">Span w ID</span>\n        </li>\n        <li>\n          esc_textarea\n          <?php\n          echo esc_textarea( '<input type=\"submit\">' ); ?>\n        </li>\n      </ul>\n\n      <h2><?php _e( 'Localization Tags', 'wptags' ); ?></h2>\n      <ul>\n        <li>\n          esc_html_e\n          <?php\n          esc_html_e( '<h1>Hello!</h1>' ); ?>\n        </li>\n        <li>\n          esc_html__\n          <?php\n          $title = esc_html__( '<h1>Hello!</h1>' ); ?>\n        </li>\n        <li>\n          _e\n          <?php _e( 'Hello! <em>Em</em>', 'wptags' ); ?>\n        </li>\n        <li>\n          __\n          <?php __( 'Hello! <em>Em</em>', 'wptags' ); ?>\n        </li>\n      </ul>\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/search.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php echo get_search_link( 'hello' ); ?>\n            \n            <?php echo 'Query: ' . get_search_query(); ?>\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()                    \n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <!-- Example the_permalink() in action -->\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n      \n\n            <!-- Example get_permalink() in action -->\n\n            <?php the_title( '<h2><a title=\"' . get_the_title() . '\" href=\"' . get_permalink() . '\">', '</a></h2>' ); ?>\n\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wptags' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wptags' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/style.css",
    "content": "/*\nTheme Name: 4.44 - Localization Tags (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wptags\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #feca5c;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #494329;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #494329;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #feca5c;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wptags' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.03-action-hooks-demo/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wptags' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control header for the_title\nfunction wphooks_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wphooks_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/index.php",
    "content": "<?php get_header(); ?>\n\n  <pre><?php var_dump( $wp_actions ); ?></pre>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class('extended'); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php //get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/style.css",
    "content": "/*\nTheme Name: 5.05 - $wp_filter - Hooked Action Functions [DEMO]\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n  overflow: scroll;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/template-parts/before-footer.php",
    "content": "<p><?php _e( 'Before Footer Custom Message.', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.05-action-hooks-wpfilter/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Include R Debug\nrequire( dirname(__FILE__) . '/lib/r-debug.php' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control header for the_title\nfunction wphooks_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wphooks_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n    <?php\n        //R_Debug::list_live_hooks();      \n    ?>\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/index.php",
    "content": "<?php get_header(); ?>\n\n  <?php\n      R_Debug::list_hooks();\n  ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class('extended'); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/lib/r-debug.php",
    "content": "<?php\n/*\nPlugin Name: R Debug\nDescription: Set of dump helpers for debug.\nAuthor: Andrey \"Rarst\" Savchenko\nAuthor URI: http://www.rarst.net/\nLicense: MIT\n */\n\n/**\n * Class with static dump methods\n */\nclass R_Debug {\n\n\t/**\n\t * List basic performance stats\n\t *\n\t * @param bool $visible display or only include in source\n\t */\n\tstatic function list_performance( $visible = false ) {\n\n\t\tif ( defined( 'DOING_AJAX' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$stat = sprintf(\n\t\t\t'%d queries in %s seconds, using %.2fMB memory',\n\t\t\tget_num_queries(),\n\t\t\ttimer_stop( 0, 3 ),\n\t\t\tmemory_get_peak_usage() / 1024 / 1024\n\t\t);\n\n\t\techo $visible ? $stat : \"<!-- {$stat} -->\";\n\t}\n\n\t/**\n\t * List defined constants\n\t *\n\t * @param bool|string $filter limit to matching names or values\n\t */\n\tstatic function list_constants( $filter = false ) {\n\n\t\t$constants = get_defined_constants();\n\n\t\tif ( false !== $filter ) {\n\t\t\t$temp = array();\n\n\t\t\tforeach ( $constants as $key => $constant ) {\n\t\t\t\tif ( false !== stripos( $key, $filter ) || false !== stripos( $constant, $filter ) ) {\n\t\t\t\t\t$temp[ $key ] = $constant;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$constants = $temp;\n\t\t}\n\n\t\tksort( $constants );\n\t\tself::dump( $constants );\n\t}\n\n\t/**\n\t * Concatenate print_r of all input and echo in pre tags.\n\t */\n\tstatic function dump() {\n\n\t\t$output = '';\n\n\t\tforeach ( func_get_args() as $arg ) {\n\t\t\t$output .= print_r( $arg, true );\n\t\t}\n\n\t\techo '<pre>' . $output . '</pre>';\n\t}\n\n\t/**\n\t * List cron entries with time remaining till next run\n\t */\n\tstatic function list_cron() {\n\n\t\t$cron = _get_cron_array();\n\n\t\techo '<pre>';\n\n\t\t$offset = get_option( 'gmt_offset' ) * 3600;\n\n\t\tforeach ( $cron as $time => $entry ) {\n\n\t\t\t$when = '<strong>In ' . human_time_diff( $time ) . '</strong> (' . $time . ' ' . date_i18n( DATE_RSS, $time + $offset ) . ')';\n\t\t\techo \"<br />&gt;&gt;&gt;&gt;&gt;\\t{$when}<br />\";\n\n\t\t\tforeach ( array_keys( $entry ) as $function ) {\n\t\t\t\techo \"\\t{$function}<br />\";\n\t\t\t\tself::list_hooks( $function );\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * List hooks as currently defined\n\t *\n\t * @param bool|string $filter limit to matching names\n\t */\n\tstatic function list_hooks( $filter = false ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$skip_filter = empty( $filter );\n\t\t$hooks       = $wp_filter;\n\t\tksort( $hooks );\n\n\t\tforeach ( $hooks as $tag => $hook ) {\n\t\t\tif ( $skip_filter || false !== strpos( $tag, $filter ) ) {\n\t\t\t\tself::dump_hook( $tag, $hook );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Output hook info\n\t *\n\t * @param string $tag  hook name\n\t * @param array  $hook hook data\n\t */\n\tstatic function dump_hook( $tag, $hook ) {\n\n\t\t//ksort( $hook );\n\n\t\techo \"<pre>&gt;&gt;&gt;&gt;&gt;\\t<strong>{$tag}</strong><br />\";\n\n\t\tforeach ( $hook as $priority => $functions ) {\n\t\t\techo $priority;\n\n\t\t\tforeach ( $functions as $function ) {\n\t\t\t\techo \"\\t\";\n\n\t\t\t\t$callback = $function['function'];\n\n\t\t\t\tif ( is_string( $callback ) ) {\n\t\t\t\t\techo $callback;\n\t\t\t\t} elseif ( is_a( $callback, 'Closure' ) ) {\n\t\t\t\t\t$closure = new ReflectionFunction( $callback );\n\t\t\t\t\techo 'closure from ' . $closure->getFileName() . '::' . $closure->getStartLine();\n\t\t\t\t} elseif ( is_string( $callback[0] ) ) { // static method call\n\t\t\t\t\techo $callback[0] . '::' . $callback[1];\n\t\t\t\t} elseif ( is_object( $callback[0] ) ) {\n\t\t\t\t\techo get_class( $callback[0] ) . '->' . $callback[1];\n\t\t\t\t}\n\n\t\t\t\techo ( 1 == $function['accepted_args'] ) ? '<br />' : \" ({$function['accepted_args']}) <br />\";\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * Enable live listing of hooks as they run\n\t *\n\t * @param bool|string $hook limit to matching names\n\t */\n\tstatic function list_live_hooks( $hook = false ) {\n\n\t\tif ( false === $hook ) {\n\t\t\t$hook = 'all';\n\t\t}\n\n\t\tadd_action( $hook, array( __CLASS__, 'list_hook_details' ), - 1 );\n\t}\n\n\t/**\n\t * Handler for live hooks output\n\t *\n\t * @param mixed $input\n\t *\n\t * @return mixed\n\t */\n\tstatic function list_hook_details( $input = null ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$tag = current_filter();\n\n\t\tif ( isset( $wp_filter[ $tag ] ) ) {\n\t\t\tself::dump_hook( $tag, $wp_filter[ $tag ] );\n\t\t}\n\n\t\treturn $input;\n\t}\n\n\t/**\n\t * List active plugins\n\t */\n\tstatic function list_plugins() {\n\n\t\tself::dump( get_option( 'active_plugins' ) );\n\t}\n\n\t/**\n\t * List post's fields, custom fields, and terms\n\t *\n\t * @param int $post_id\n\t */\n\tstatic function list_post( $post_id = null ) {\n\n\t\tif ( empty( $post_id ) ) {\n\t\t\t$post_id = get_the_ID();\n\t\t}\n\n\t\tself::dump(\n\t\t\tget_post( $post_id ),\n\t\t\tget_post_custom( $post_id ),\n\t\t\twp_get_post_terms( $post_id, get_post_taxonomies( $post_id ) )\n\t\t);\n\t}\n\n\t/**\n\t * List performed MySQL queries\n\t */\n\tstatic function list_queries() {\n\n\t\tglobal $wpdb;\n\n\t\tif ( ! defined( 'SAVEQUERIES' ) || ! SAVEQUERIES ) {\n\n\t\t\ttrigger_error( 'SAVEQUERIES needs to be defined', E_USER_NOTICE );\n\n\t\t\treturn;\n\t\t}\n\n\t\techo '<pre>';\n\n\t\tforeach ( $wpdb->queries as $query ) {\n\n\t\t\tlist( $request, $duration, $backtrace ) = $query;\n\t\t\t$duration  = sprintf( '%f', $duration );\n\t\t\t$backtrace = explode( ',', $backtrace );\n\t\t\t$backtrace = trim( array_pop( $backtrace ) );\n\n\t\t\tif ( 'get_option' == $backtrace ) {\n\n\t\t\t\tpreg_match_all( '/\\option_name.*?=.*?\\'(.+?)\\'/', $request, $matches );\n\t\t\t\t$backtrace .= \"({$matches[1][0]})\";\n\t\t\t}\n\n\t\t\techo \"<br /><code>{$request}</code><br />{$backtrace} in {$duration}s<br />\";\n\t\t}\n\n\t\techo '<br /></pre>';\n\t}\n\n\t/**\n\t * Run EXPLAIN on provided MySQL query or last query performed.\n\t *\n\t * @param string $query\n\t */\n\tstatic function explain_query( $query = '' ) {\n\n\t\t/** @var wpdb $wpdb */\n\t\tglobal $wpdb;\n\n\t\tif ( empty( $query ) ) {\n\t\t\t$query = $wpdb->last_query;\n\t\t}\n\n\t\tself::dump(\n\t\t\t$query,\n\t\t\t$wpdb->get_results( 'EXPLAIN EXTENDED ' . $query ),\n\t\t\t$wpdb->get_results( 'SHOW WARNINGS' )\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/style.css",
    "content": "/*\nTheme Name: 5.06 - R Debug - Hooked Action Functions [DEMO]\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n  overflow: scroll;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/template-parts/before-footer.php",
    "content": "<p><?php _e( 'Before Footer Custom Message.', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.06-action-hooks-r-debug/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Include R Debug\nrequire( dirname(__FILE__) . '/lib/r-debug.php' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control header for the_title\nfunction wphooks_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wphooks_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/index.php",
    "content": "<?php get_header(); ?>\n\n  <pre>\n    <?php\n      // var_dump( $wp_filter['wp_footer'] );\n      //R_Debug::dump_hook( 'wp_footer', $wp_filter['wp_footer'] );\n    ?>\n  </pre>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class('extended'); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php //get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/lib/r-debug.php",
    "content": "<?php\n/*\nPlugin Name: R Debug\nDescription: Set of dump helpers for debug.\nAuthor: Andrey \"Rarst\" Savchenko\nAuthor URI: http://www.rarst.net/\nLicense: MIT\n */\n\n/**\n * Class with static dump methods\n */\nclass R_Debug {\n\n\t/**\n\t * List basic performance stats\n\t *\n\t * @param bool $visible display or only include in source\n\t */\n\tstatic function list_performance( $visible = false ) {\n\n\t\tif ( defined( 'DOING_AJAX' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$stat = sprintf(\n\t\t\t'%d queries in %s seconds, using %.2fMB memory',\n\t\t\tget_num_queries(),\n\t\t\ttimer_stop( 0, 3 ),\n\t\t\tmemory_get_peak_usage() / 1024 / 1024\n\t\t);\n\n\t\techo $visible ? $stat : \"<!-- {$stat} -->\";\n\t}\n\n\t/**\n\t * List defined constants\n\t *\n\t * @param bool|string $filter limit to matching names or values\n\t */\n\tstatic function list_constants( $filter = false ) {\n\n\t\t$constants = get_defined_constants();\n\n\t\tif ( false !== $filter ) {\n\t\t\t$temp = array();\n\n\t\t\tforeach ( $constants as $key => $constant ) {\n\t\t\t\tif ( false !== stripos( $key, $filter ) || false !== stripos( $constant, $filter ) ) {\n\t\t\t\t\t$temp[ $key ] = $constant;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$constants = $temp;\n\t\t}\n\n\t\tksort( $constants );\n\t\tself::dump( $constants );\n\t}\n\n\t/**\n\t * Concatenate print_r of all input and echo in pre tags.\n\t */\n\tstatic function dump() {\n\n\t\t$output = '';\n\n\t\tforeach ( func_get_args() as $arg ) {\n\t\t\t$output .= print_r( $arg, true );\n\t\t}\n\n\t\techo '<pre>' . $output . '</pre>';\n\t}\n\n\t/**\n\t * List cron entries with time remaining till next run\n\t */\n\tstatic function list_cron() {\n\n\t\t$cron = _get_cron_array();\n\n\t\techo '<pre>';\n\n\t\t$offset = get_option( 'gmt_offset' ) * 3600;\n\n\t\tforeach ( $cron as $time => $entry ) {\n\n\t\t\t$when = '<strong>In ' . human_time_diff( $time ) . '</strong> (' . $time . ' ' . date_i18n( DATE_RSS, $time + $offset ) . ')';\n\t\t\techo \"<br />&gt;&gt;&gt;&gt;&gt;\\t{$when}<br />\";\n\n\t\t\tforeach ( array_keys( $entry ) as $function ) {\n\t\t\t\techo \"\\t{$function}<br />\";\n\t\t\t\tself::list_hooks( $function );\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * List hooks as currently defined\n\t *\n\t * @param bool|string $filter limit to matching names\n\t */\n\tstatic function list_hooks( $filter = false ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$skip_filter = empty( $filter );\n\t\t$hooks       = $wp_filter;\n\t\tksort( $hooks );\n\n\t\tforeach ( $hooks as $tag => $hook ) {\n\t\t\tif ( $skip_filter || false !== strpos( $tag, $filter ) ) {\n\t\t\t\tself::dump_hook( $tag, $hook );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Output hook info\n\t *\n\t * @param string $tag  hook name\n\t * @param array  $hook hook data\n\t */\n\tstatic function dump_hook( $tag, $hook ) {\n\n\t\t//ksort( $hook );\n\n\t\techo \"<pre>&gt;&gt;&gt;&gt;&gt;\\t<strong>{$tag}</strong><br />\";\n\n\t\tforeach ( $hook as $priority => $functions ) {\n\t\t\techo $priority;\n\n\t\t\tforeach ( $functions as $function ) {\n\t\t\t\techo \"\\t\";\n\n\t\t\t\t$callback = $function['function'];\n\n\t\t\t\tif ( is_string( $callback ) ) {\n\t\t\t\t\techo $callback;\n\t\t\t\t} elseif ( is_a( $callback, 'Closure' ) ) {\n\t\t\t\t\t$closure = new ReflectionFunction( $callback );\n\t\t\t\t\techo 'closure from ' . $closure->getFileName() . '::' . $closure->getStartLine();\n\t\t\t\t} elseif ( is_string( $callback[0] ) ) { // static method call\n\t\t\t\t\techo $callback[0] . '::' . $callback[1];\n\t\t\t\t} elseif ( is_object( $callback[0] ) ) {\n\t\t\t\t\techo get_class( $callback[0] ) . '->' . $callback[1];\n\t\t\t\t}\n\n\t\t\t\techo ( 1 == $function['accepted_args'] ) ? '<br />' : \" ({$function['accepted_args']}) <br />\";\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * Enable live listing of hooks as they run\n\t *\n\t * @param bool|string $hook limit to matching names\n\t */\n\tstatic function list_live_hooks( $hook = false ) {\n\n\t\tif ( false === $hook ) {\n\t\t\t$hook = 'all';\n\t\t}\n\n\t\tadd_action( $hook, array( __CLASS__, 'list_hook_details' ), - 1 );\n\t}\n\n\t/**\n\t * Handler for live hooks output\n\t *\n\t * @param mixed $input\n\t *\n\t * @return mixed\n\t */\n\tstatic function list_hook_details( $input = null ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$tag = current_filter();\n\n\t\tif ( isset( $wp_filter[ $tag ] ) ) {\n\t\t\tself::dump_hook( $tag, $wp_filter[ $tag ] );\n\t\t}\n\n\t\treturn $input;\n\t}\n\n\t/**\n\t * List active plugins\n\t */\n\tstatic function list_plugins() {\n\n\t\tself::dump( get_option( 'active_plugins' ) );\n\t}\n\n\t/**\n\t * List post's fields, custom fields, and terms\n\t *\n\t * @param int $post_id\n\t */\n\tstatic function list_post( $post_id = null ) {\n\n\t\tif ( empty( $post_id ) ) {\n\t\t\t$post_id = get_the_ID();\n\t\t}\n\n\t\tself::dump(\n\t\t\tget_post( $post_id ),\n\t\t\tget_post_custom( $post_id ),\n\t\t\twp_get_post_terms( $post_id, get_post_taxonomies( $post_id ) )\n\t\t);\n\t}\n\n\t/**\n\t * List performed MySQL queries\n\t */\n\tstatic function list_queries() {\n\n\t\tglobal $wpdb;\n\n\t\tif ( ! defined( 'SAVEQUERIES' ) || ! SAVEQUERIES ) {\n\n\t\t\ttrigger_error( 'SAVEQUERIES needs to be defined', E_USER_NOTICE );\n\n\t\t\treturn;\n\t\t}\n\n\t\techo '<pre>';\n\n\t\tforeach ( $wpdb->queries as $query ) {\n\n\t\t\tlist( $request, $duration, $backtrace ) = $query;\n\t\t\t$duration  = sprintf( '%f', $duration );\n\t\t\t$backtrace = explode( ',', $backtrace );\n\t\t\t$backtrace = trim( array_pop( $backtrace ) );\n\n\t\t\tif ( 'get_option' == $backtrace ) {\n\n\t\t\t\tpreg_match_all( '/\\option_name.*?=.*?\\'(.+?)\\'/', $request, $matches );\n\t\t\t\t$backtrace .= \"({$matches[1][0]})\";\n\t\t\t}\n\n\t\t\techo \"<br /><code>{$request}</code><br />{$backtrace} in {$duration}s<br />\";\n\t\t}\n\n\t\techo '<br /></pre>';\n\t}\n\n\t/**\n\t * Run EXPLAIN on provided MySQL query or last query performed.\n\t *\n\t * @param string $query\n\t */\n\tstatic function explain_query( $query = '' ) {\n\n\t\t/** @var wpdb $wpdb */\n\t\tglobal $wpdb;\n\n\t\tif ( empty( $query ) ) {\n\t\t\t$query = $wpdb->last_query;\n\t\t}\n\n\t\tself::dump(\n\t\t\t$query,\n\t\t\t$wpdb->get_results( 'EXPLAIN EXTENDED ' . $query ),\n\t\t\t$wpdb->get_results( 'SHOW WARNINGS' )\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/style.css",
    "content": "/*\nTheme Name: 5.07 - Debug Plugin - Hooked Action Functions [DEMO]\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n  overflow: scroll;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/template-parts/before-footer.php",
    "content": "<p><?php _e( 'Before Footer Custom Message.', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.07-action-hooks-debug-plugin/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Include R Debug\nrequire( dirname(__FILE__) . '/lib/r-debug.php' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control header for the_title\nfunction wphooks_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wphooks_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/index.php",
    "content": "<?php get_header(); ?>\n\n  <pre>\n    <?php\n      // var_dump( $wp_filter['wp_footer'] );\n      //R_Debug::dump_hook( 'wp_footer', $wp_filter['wp_footer'] );\n    ?>\n  </pre>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class('extended'); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php //get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/lib/r-debug.php",
    "content": "<?php\n/*\nPlugin Name: R Debug\nDescription: Set of dump helpers for debug.\nAuthor: Andrey \"Rarst\" Savchenko\nAuthor URI: http://www.rarst.net/\nLicense: MIT\n */\n\n/**\n * Class with static dump methods\n */\nclass R_Debug {\n\n\t/**\n\t * List basic performance stats\n\t *\n\t * @param bool $visible display or only include in source\n\t */\n\tstatic function list_performance( $visible = false ) {\n\n\t\tif ( defined( 'DOING_AJAX' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$stat = sprintf(\n\t\t\t'%d queries in %s seconds, using %.2fMB memory',\n\t\t\tget_num_queries(),\n\t\t\ttimer_stop( 0, 3 ),\n\t\t\tmemory_get_peak_usage() / 1024 / 1024\n\t\t);\n\n\t\techo $visible ? $stat : \"<!-- {$stat} -->\";\n\t}\n\n\t/**\n\t * List defined constants\n\t *\n\t * @param bool|string $filter limit to matching names or values\n\t */\n\tstatic function list_constants( $filter = false ) {\n\n\t\t$constants = get_defined_constants();\n\n\t\tif ( false !== $filter ) {\n\t\t\t$temp = array();\n\n\t\t\tforeach ( $constants as $key => $constant ) {\n\t\t\t\tif ( false !== stripos( $key, $filter ) || false !== stripos( $constant, $filter ) ) {\n\t\t\t\t\t$temp[ $key ] = $constant;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$constants = $temp;\n\t\t}\n\n\t\tksort( $constants );\n\t\tself::dump( $constants );\n\t}\n\n\t/**\n\t * Concatenate print_r of all input and echo in pre tags.\n\t */\n\tstatic function dump() {\n\n\t\t$output = '';\n\n\t\tforeach ( func_get_args() as $arg ) {\n\t\t\t$output .= print_r( $arg, true );\n\t\t}\n\n\t\techo '<pre>' . $output . '</pre>';\n\t}\n\n\t/**\n\t * List cron entries with time remaining till next run\n\t */\n\tstatic function list_cron() {\n\n\t\t$cron = _get_cron_array();\n\n\t\techo '<pre>';\n\n\t\t$offset = get_option( 'gmt_offset' ) * 3600;\n\n\t\tforeach ( $cron as $time => $entry ) {\n\n\t\t\t$when = '<strong>In ' . human_time_diff( $time ) . '</strong> (' . $time . ' ' . date_i18n( DATE_RSS, $time + $offset ) . ')';\n\t\t\techo \"<br />&gt;&gt;&gt;&gt;&gt;\\t{$when}<br />\";\n\n\t\t\tforeach ( array_keys( $entry ) as $function ) {\n\t\t\t\techo \"\\t{$function}<br />\";\n\t\t\t\tself::list_hooks( $function );\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * List hooks as currently defined\n\t *\n\t * @param bool|string $filter limit to matching names\n\t */\n\tstatic function list_hooks( $filter = false ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$skip_filter = empty( $filter );\n\t\t$hooks       = $wp_filter;\n\t\tksort( $hooks );\n\n\t\tforeach ( $hooks as $tag => $hook ) {\n\t\t\tif ( $skip_filter || false !== strpos( $tag, $filter ) ) {\n\t\t\t\tself::dump_hook( $tag, $hook );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Output hook info\n\t *\n\t * @param string $tag  hook name\n\t * @param array  $hook hook data\n\t */\n\tstatic function dump_hook( $tag, $hook ) {\n\n\t\t//ksort( $hook );\n\n\t\techo \"<pre>&gt;&gt;&gt;&gt;&gt;\\t<strong>{$tag}</strong><br />\";\n\n\t\tforeach ( $hook as $priority => $functions ) {\n\t\t\techo $priority;\n\n\t\t\tforeach ( $functions as $function ) {\n\t\t\t\techo \"\\t\";\n\n\t\t\t\t$callback = $function['function'];\n\n\t\t\t\tif ( is_string( $callback ) ) {\n\t\t\t\t\techo $callback;\n\t\t\t\t} elseif ( is_a( $callback, 'Closure' ) ) {\n\t\t\t\t\t$closure = new ReflectionFunction( $callback );\n\t\t\t\t\techo 'closure from ' . $closure->getFileName() . '::' . $closure->getStartLine();\n\t\t\t\t} elseif ( is_string( $callback[0] ) ) { // static method call\n\t\t\t\t\techo $callback[0] . '::' . $callback[1];\n\t\t\t\t} elseif ( is_object( $callback[0] ) ) {\n\t\t\t\t\techo get_class( $callback[0] ) . '->' . $callback[1];\n\t\t\t\t}\n\n\t\t\t\techo ( 1 == $function['accepted_args'] ) ? '<br />' : \" ({$function['accepted_args']}) <br />\";\n\t\t\t}\n\t\t}\n\n\t\techo '</pre>';\n\t}\n\n\t/**\n\t * Enable live listing of hooks as they run\n\t *\n\t * @param bool|string $hook limit to matching names\n\t */\n\tstatic function list_live_hooks( $hook = false ) {\n\n\t\tif ( false === $hook ) {\n\t\t\t$hook = 'all';\n\t\t}\n\n\t\tadd_action( $hook, array( __CLASS__, 'list_hook_details' ), - 1 );\n\t}\n\n\t/**\n\t * Handler for live hooks output\n\t *\n\t * @param mixed $input\n\t *\n\t * @return mixed\n\t */\n\tstatic function list_hook_details( $input = null ) {\n\n\t\tglobal $wp_filter;\n\n\t\t$tag = current_filter();\n\n\t\tif ( isset( $wp_filter[ $tag ] ) ) {\n\t\t\tself::dump_hook( $tag, $wp_filter[ $tag ] );\n\t\t}\n\n\t\treturn $input;\n\t}\n\n\t/**\n\t * List active plugins\n\t */\n\tstatic function list_plugins() {\n\n\t\tself::dump( get_option( 'active_plugins' ) );\n\t}\n\n\t/**\n\t * List post's fields, custom fields, and terms\n\t *\n\t * @param int $post_id\n\t */\n\tstatic function list_post( $post_id = null ) {\n\n\t\tif ( empty( $post_id ) ) {\n\t\t\t$post_id = get_the_ID();\n\t\t}\n\n\t\tself::dump(\n\t\t\tget_post( $post_id ),\n\t\t\tget_post_custom( $post_id ),\n\t\t\twp_get_post_terms( $post_id, get_post_taxonomies( $post_id ) )\n\t\t);\n\t}\n\n\t/**\n\t * List performed MySQL queries\n\t */\n\tstatic function list_queries() {\n\n\t\tglobal $wpdb;\n\n\t\tif ( ! defined( 'SAVEQUERIES' ) || ! SAVEQUERIES ) {\n\n\t\t\ttrigger_error( 'SAVEQUERIES needs to be defined', E_USER_NOTICE );\n\n\t\t\treturn;\n\t\t}\n\n\t\techo '<pre>';\n\n\t\tforeach ( $wpdb->queries as $query ) {\n\n\t\t\tlist( $request, $duration, $backtrace ) = $query;\n\t\t\t$duration  = sprintf( '%f', $duration );\n\t\t\t$backtrace = explode( ',', $backtrace );\n\t\t\t$backtrace = trim( array_pop( $backtrace ) );\n\n\t\t\tif ( 'get_option' == $backtrace ) {\n\n\t\t\t\tpreg_match_all( '/\\option_name.*?=.*?\\'(.+?)\\'/', $request, $matches );\n\t\t\t\t$backtrace .= \"({$matches[1][0]})\";\n\t\t\t}\n\n\t\t\techo \"<br /><code>{$request}</code><br />{$backtrace} in {$duration}s<br />\";\n\t\t}\n\n\t\techo '<br /></pre>';\n\t}\n\n\t/**\n\t * Run EXPLAIN on provided MySQL query or last query performed.\n\t *\n\t * @param string $query\n\t */\n\tstatic function explain_query( $query = '' ) {\n\n\t\t/** @var wpdb $wpdb */\n\t\tglobal $wpdb;\n\n\t\tif ( empty( $query ) ) {\n\t\t\t$query = $wpdb->last_query;\n\t\t}\n\n\t\tself::dump(\n\t\t\t$query,\n\t\t\t$wpdb->get_results( 'EXPLAIN EXTENDED ' . $query ),\n\t\t\t$wpdb->get_results( 'SHOW WARNINGS' )\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/style.css",
    "content": "/*\nTheme Name: 5.08 - Simply Show Hooks Plugin - Hooked Action Functions [DEMO]\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n  overflow: scroll;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/template-parts/before-footer.php",
    "content": "<p><?php _e( 'Before Footer Custom Message.', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.08-action-hooks-simply-show-hooks/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php do_action( 'wphooks_before_footer' ); ?>\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n// Display custom footer message\nfunction wphooks_before_footer_message() {\n\n  // echo '<p>My custom footer text!</p>';\n  locate_template( 'template-parts/before-footer.php', true );\n\n}\nadd_action( 'wphooks_before_footer', 'wphooks_before_footer_message', 10 );\n// remove_action( 'wphooks_before_footer', 'wphooks_before_footer_message', 10 );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/style.css",
    "content": "/*\nTheme Name: 5.10 - do_action - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/template-parts/before-footer.php",
    "content": "<p><?php _e( 'My custom footer template!', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.10-action-hooks-do_action-demo/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/style.css",
    "content": "/*\nTheme Name: 5.11 - wp_enqueue_scripts - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.11-action-hooks-wp_enqueue_scripts/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/style.css",
    "content": "/*\nTheme Name: 5.12 - widgets_init - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.12-action-hooks-widgets_init/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php do_action( 'wphooks_before_footer' ); ?>\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Loop End Marketing\nfunction wphooks_loop_end_marketing() {\n\n  if( !in_the_loop() ) return;\n\n  locate_template( 'template-parts/post-end-marketing.php', true );\n\n}\nadd_action( 'loop_end', 'wphooks_loop_end_marketing', 10 );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/style.css",
    "content": "/*\nTheme Name: 5.13 - loop_end - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.marketing {\n  border: 1px #ED9ACC solid;\n  padding: 20px;\n}\n.marketing h2,\n.marketing label {\n  color: #ED9ACC;\n}\n.marketing .caldera-grid .alert-success {\n  background: #ED9ACC;\n  color: #fff;\n  text-shadow: none;\n  border-radius: 0;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.13-action-hooks-loop_end/template-parts/post-end-marketing.php",
    "content": "<div class=\"marketing\">\n  <h2>Sign Up Now!</h2>\n  <p>Get membership access and lorem to the morum.</p>\n  <?php echo do_shortcode( '[caldera_form id=\"CF59fa307a1c8e6\"]' ); ?>\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Template Redirect for Members Page\nfunction wphooks_members_logged_out_redirect() {\n\n  if( is_page( 'members' ) && ! is_user_logged_in() )\n  {\n      wp_redirect( home_url( '/sign-up/' ) );\n      die;\n  }\n  if( is_page( 'sign-up' ) && is_user_logged_in() )\n  {\n      wp_redirect( home_url( '/members/' ) );\n      die;\n  }\n\n}\nadd_action( 'template_redirect', 'wphooks_members_logged_out_redirect', 10 );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/style.css",
    "content": "/*\nTheme Name: 5.14 - template_redirect - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.14-action-hooks-template_redirect/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\nfunction wphooks_add_draft_to_titles( $post_id, $post ) {\n\n  // If post revision do not proceed\n  if ( wp_is_post_revision( $post_id ) ) {\n    return;\n  }\n\n\n  // Add or remove \"DRAFT: \" from title depending on status\n  if( 'draft' === $post->post_status &&\n      'DRAFT: ' !== substr( $post->post_title, 0, 7 ) ) {\n\n      // Add 'DRAFT: ' to the title\n      $post->post_title = 'DRAFT: ' . $post->post_title;\n\n  } elseif ( 'publish' === $post->post_status &&\n             'DRAFT: ' === substr( $post->post_title, 0, 7 ) ) {\n\n      // Remove 'DRAFT: ' from the title\n      $post->post_title = substr( $post->post_title, 7 );\n\n  }\n\n\n  // If slug starts with 'draft-' remove it\n  if( 'draft-' === substr( $post->post_name, 0, 6 ) ) {\n\n      $post->post_name = substr( $post->post_name, 6 );\n\n  }\n\n  // Unhook wphooks_add_draft_to_titles so it doesn't loop infinitely\n  remove_action('save_post', 'wphooks_add_draft_to_titles');\n\n  // Update the post\n  wp_update_post( $post );\n\n  // Re-hook wphooks_add_draft_to_titles\n  add_action('save_post', 'wphooks_add_draft_to_titles');\n\n\n}\nadd_action( 'save_post', 'wphooks_add_draft_to_titles' );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/style.css",
    "content": "/*\nTheme Name: 5.15 - save_post - Action Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.15-action-hooks-save_post/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// PRACTICE 1 - Load Admin Stylesheet\nfunction wphooks_draft_mode_styles() {\n\n  global $post;\n\n  if( ! $post ) return;\n\n  if( 'draft' === $post->post_status ) {\n\n    wp_enqueue_style( 'wphooks-admin-css', get_stylesheet_directory_uri() . '/assets/css/admin.css', [], time(), 'all' );\n    add_editor_style( 'assets/css/visual-editor.css' );\n\n  }\n\n\n}\nadd_action( 'admin_enqueue_scripts', 'wphooks_draft_mode_styles' );\n\n\n// PRACTICE 2 - Show Banner Before Comments\nfunction wphooks_comments_cta() {\n\n\n  // Only load tempalte if in the loop\n  if( in_the_loop() ) {\n\n    locate_template( 'template-parts/comment-cta.php', true );\n\n  }\n\n}\nadd_action( 'pre_get_comments', 'wphooks_comments_cta' );\n\n\n// PRACTICE 3 - Show Message Before Caldera Forms Contact Form\nfunction wphooks_support_message_for_caldera_forms( $form ) {\n\n  if( 'CF59fb1eaf58620' === $form['ID'] ) {\n    locate_template( 'template-parts/contact-form-support-message.php', true );\n  }\n\n}\nadd_action( 'caldera_forms_render_start', 'wphooks_support_message_for_caldera_forms' );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/style.css",
    "content": "/*\nTheme Name: 5.18 - PRACTICE - Action Hooks (COMPLETE)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.contact-support-cta {\n  background: #23282d;\n  font-size: 1.8rem;\n  color: #fff;\n  padding: 20px;\n}\n\n.contact-support-cta h2  {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/template-parts/comment-cta.php",
    "content": "<div class=\"comment-cta\">\n  <h2><?php esc_html_e( 'Join in the Discussion!!!', 'wphooks' ); ?></h2>\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.17-practice-action-hooks-completed/template-parts/contact-form-support-message.php",
    "content": "<div class=\"contact-support-cta\">\n  <h2><?php esc_html_e( 'Please open a support ticket for technical support', 'wphooks' ); ?></h2>\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wphooks' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wphooks' ), 'WordPress' ); ?>\n    </a>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control header for the_title\nfunction wphooks_title_markup( $title, $id = null ) {\n\n    if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    } else if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    }\n\n    return $title;\n}\n// add_filter( 'the_title', 'wphooks_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/index.php",
    "content": "<?php get_header(); ?>\n\n  <pre><?php var_dump( $wp_actions ); ?></pre>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class('extended'); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php //get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>            \n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/style.css",
    "content": "/*\nTheme Name: 5.05 - $wp_filter - Hooked Action Functions [DEMO]\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n  overflow: scroll;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/template-parts/before-footer.php",
    "content": "<p><?php _e( 'Before Footer Custom Message.', 'wphooks' ); ?></p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.21-filter-hooks-wpfilter/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <?php\n      $footer_message = '&copy;' . date( 'Y' ) . ' ' . get_bloginfo( 'name' );\n    ?>\n\n    <p><?php echo apply_filters( 'wphooks_footer_message', $footer_message ); ?></p>\n\n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Apply Filter to wphooks_footer_message\nfunction wphooks_make_uppercase( $message ) {\n\n  $new_message = strtoupper( $message );\n  return $new_message;\n\n}\nadd_filter( 'wphooks_footer_message', 'wphooks_make_uppercase', 15 );\nremove_filter( 'wphooks_footer_message', 'wphooks_make_uppercase', 15 );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a title=\"<?php the_title_attribute(); ?>\" href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/style.css",
    "content": "/*\nTheme Name: 5.26 - apply_filters - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.contact-support-cta {\n  background: #23282d;\n  font-size: 1.8rem;\n  color: #fff;\n  padding: 20px;\n}\n\n.contact-support-cta h2  {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.26-filter-hooks-apply_filters/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Control markup for the_title\nfunction wptags_title_markup( $title, $id ) {\n\n    if ( is_singular() && in_the_loop() ) {\n\n      $title = '<h1>' . $title . '</h1>';\n\n    } else if ( !is_singular() && in_the_loop() ) {\n\n      $title = '<h2><a href=\"' . get_permalink( $id ) . '\">' . $title . '</a></h2>';\n\n    }\n\n    return $title;\n}\nadd_filter( 'the_title', 'wptags_title_markup', 10, 2 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <?php the_title(); ?>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php the_title(); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <?php the_title(); ?>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/style.css",
    "content": "/*\nTheme Name: 5.27 - the_title - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.contact-support-cta {\n  background: #23282d;\n  font-size: 1.8rem;\n  color: #fff;\n  padding: 20px;\n}\n\n.contact-support-cta h2  {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.27-filter-hooks-the_title/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Add an ad after middle paragraph in content\nfunction wptags_content_ads( $content ) {\n\n  if( !in_the_loop() ) {\n    return;\n  }\n\n  $paragraphs;\n\n  // Search for any text wrapped in paragraph tags\n  $pattern = \"/<p>.*?<\\/p>/m\";\n  $p_count = preg_match_all( $pattern, $content, $paragraphs );\n  $paragraphs = $paragraphs[0];\n\n  // Find the middle paragraph\n  $ad_p_number = floor( $p_count / 2 );\n  if( 0 == $ad_p_number ) $ad_p_number = 1;\n  $ad_p = $paragraphs[ $ad_p_number - 1 ];\n\n  // Create the ad\n  $post_ad = '<div class=\"post-ad\"><h2>Post Add</h2></div>';\n  $ad_p_w_ad = '<p>' . $ad_p . '</p>' . $post_ad;\n\n  // Replace the original paragraph\n  // With the paragraph with the ad\n  $content_w_ad = str_replace( $ad_p, $ad_p_w_ad, $content );\n\n  // Return new content with ad\n  return $content_w_ad;\n}\nadd_filter( 'the_content', 'wptags_content_ads', 10 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/style.css",
    "content": "/*\nTheme Name: 5.28 - the_content - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #ED9ACC;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.28-filter-hooks-the_content/template-parts/post-ad.php",
    "content": "<div class=\"post-ad\">\n  <p>Here is a special ad!!!</p>\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Change the read more link for excerpts\nfunction wphooks_read_more_link( $read_more_text ) {\n\n  global $post;\n  $new_read_more = '... <a class=\"more-link\" href=\"'\n                    . get_permalink( $post->ID )\n                    . '\">'\n                    . esc_html__( 'Read More &gt;', 'wphooks' )\n                    . '</a>';\n\n  return $new_read_more;\n\n}\nadd_filter( 'excerpt_more', 'wphooks_read_more_link', 20 );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/style.css",
    "content": "/*\nTheme Name: 5.29 - excerpt_more - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #ED9ACC;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.29-filter-hooks-excerpt_more/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\nfunction wphooks_custom_body_classes( $classes ) {\n\n  if( 'page' === get_post_type() ) {\n    $classes[] = 'wphooks-page';\n  }\n\n  return $classes;\n\n}\nadd_filter( 'body_class', 'wphooks_custom_body_classes' );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/style.css",
    "content": "/*\nTheme Name: 5.30 - body_class - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #ED9ACC;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.30-filter-hooks-body_class/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n// Remove unwanted columns from post listing\nfunction wphooks_customize_post_columns( $columns ) {\n\n  unset( $columns['author'] );\n  unset( $columns['categories'] );\n  unset( $columns['tags'] );\n  unset( $columns['comments'] );\n  return $columns;\n\n}\nadd_filter( 'manage_posts_columns', 'wphooks_customize_post_columns', 100 );\n\n// // Post ID Column Header\n// function wphooks_post_id_columns_head( $defaults ) {\n//\n//     $defaults['ID'] = esc_html__( 'POST ID', 'wphooks' );\n//     return $defaults;\n//\n// }\n//\n// // Add Post ID to Column Content\n// function wphooks_post_id_columns_content( $column_name, $post_id ) {\n//\n//     if ( $column_name == 'ID' ) {\n//\n//       echo $post_id;\n//\n//     }\n//\n// }\n//\n// add_filter('manage_posts_columns', 'wphooks_post_id_columns_head');\n// add_action('manage_posts_custom_column', 'wphooks_post_id_columns_content', 10, 2);\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/style.css",
    "content": "/*\nTheme Name: 5.31 - wp_enqueue_scripts - Filter Hooks (DEMO)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #ED9ACC;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.31-filter-hooks-manage_posts_columns/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// PRACTICE 1 - Change the length of post excerpts\nfunction wphooks_excerpt_length( $length_in_words ) {\n\n  $new_length_in_words = 20;\n  return $new_length_in_words;\n\n}\nadd_filter( 'excerpt_length', 'wphooks_excerpt_length', 20 );\n\n\n// PRACTICE 2 - Login Redirect\nfunction wphooks_members_login_redirect( $redirect_to, $request, $user ) {\n\n\n    if ( isset( $user->roles ) && is_array( $user->roles ) ) {\n\n        if ( !in_array( 'administrator', $user->roles ) ) {\n\n            return home_url( '/members' );\n\n        } else {\n\n            return $redirect_to;\n        }\n\n    }\n\n    return;\n}\nadd_filter( 'login_redirect', 'wphooks_members_login_redirect', 10, 3 );\n\n// Template Redirect for Members Page\nfunction wphooks_members_logged_out_redirect() {\n\n  if( is_page( 'members' ) && ! is_user_logged_in() )\n  {\n      wp_redirect( home_url( '/sign-up/' ) );\n      die;\n  }\n  if( is_page( 'sign-up' ) && is_user_logged_in() )\n  {\n      wp_redirect( home_url( '/members/' ) );\n      die;\n  }\n\n}\nadd_action( 'template_redirect', 'wphooks_members_logged_out_redirect', 10 );\n\n\n// PRACTICE 3 - caldera_forms_render_field_type\nfunction wphooks_change_caldera_button_class( $field_html ) {\n\n    $new_field_html = str_replace( 'btn', 'button', $field_html  );\n    return $new_field_html;\n\n};\n\n// add the filter\nadd_filter( 'caldera_forms_render_field_type-button', 'wphooks_change_caldera_button_class', 10, 1 );\n\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/style.css",
    "content": "/*\nTheme Name: 5.33 - PRACTICE - Filter Hooks (Completed)\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wphooks\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #ED9ACC;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #ED9ACC;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #ED9ACC;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #ED9ACC;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "5 - Action and Filter Hooks/5.33-practice-filter-hooks-completed/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/assets/css/admin.css",
    "content": "#titlediv #title {\n    font-size: 2.4rem;\n    background: #23282D;\n    color: #efefef;\n}\n.wp-core-ui input#save-post,\n.wp-core-ui input#save-post:focus,\n.wp-core-ui input#save-post:hover,\n.wp-core-ui input#save-post:active {\n  background: #23282D;\n  border-color: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/assets/css/custom.css",
    "content": "/*\n  Add Custom Styles Here\n*/\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/assets/css/visual-editor.css",
    "content": "body#tinymce {\n  background: #23282D;\n  color: #efefef;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/assets/js/jquery.theme.js",
    "content": "(function( $ ){\n\n  $('.single-portfolio a.button').attr( 'target', '_blank' );\n\n})( jQuery );\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/assets/js/theme.js",
    "content": "(function(){\n  var projectButton = document.querySelector( '.single-portfolio a.button' );\n  projectButton.target = '_blank';\n})();\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/comments.php",
    "content": "<?php\n\nif ( post_password_required() ) {\n\treturn;\n}\n\n?>\n\n<div id=\"comments\">\n\n  <?php if( have_comments() ): ?>\n\n    <?php\n      $comments_total = get_comments_number( $post->ID );\n      if( 1 == $comments_total ):\n    ?>\n\n      <h2><?php esc_html_e( '1 Comment', 'wphooks' ); ?></h2>\n\n    <?php else: ?>\n\n      <h2><?php esc_html_e( $comments_total . ' Comments', 'wphooks' ); ?></h2>\n\n    <?php endif; ?>\n\n    <?php\n      $args = [\n        'callback' => 'wphooks_comment'\n      ];\n      wp_list_comments( $args );\n      paginate_comments_links();\n    ?>\n\n\n  <?php endif; ?>\n\n  <?php comment_form(); ?>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/footer.php",
    "content": "\n  </div><!-- #content -->\n\n  <footer id=\"colophon\" class=\"site-footer\" role=\"contentinfo\">\n\n    <?php\n      $args = [\n        // Location pickable in Customizer\n        'theme_location'  =>  'footer-menu',\n        // Main wrapper around the ul of posts\n        'container'       =>  'nav',\n        'container_id'    =>  'footer-menu',\n        // Add text before link text (outside a tag)\n        'before'          =>  '<',\n        'after'           =>  '>',\n        // Depth of child nav items to show\n        'depth'           =>  1,\n        // Callback function if menu is not available\n        'fallback_cb'     =>  false,\n      ];\n      wp_nav_menu( $args );\n    ?>\n\n    <p>&copy; <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>\n\n    <a href=\"<?php echo esc_url( __( 'https://wordpress.org/', 'wptags' ) ); ?>\">\n      <?php printf( esc_html__( 'Proudly powered by %s', 'wptags' ), 'WordPress' ); ?>\n    </a>\n    \n  </footer>\n\n</div><!-- #page -->\n\n<?php wp_footer(); ?>\n\n</body>\n</html>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/functions.php",
    "content": "<?php\n\n// Add Theme Support\nadd_theme_support( 'title-tag' );\nadd_theme_support( 'post-thumbnails', [ 'post', 'page' ] );\nadd_theme_support( 'post-formats', ['aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'] );\nadd_theme_support( 'html5' );\nadd_theme_support( 'automatic-feed-links' );\nadd_theme_support( 'customize-selective-refresh-widgets' );\n\n// Load in our CSS\nfunction wphooks_enqueue_styles() {\n\n  wp_enqueue_style( 'varela-font-css', 'https://fonts.googleapis.com/css?family=Varela+Round', [], '', 'all' );\n  wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/style.css', ['varela-font-css'], time(), 'all' );\n  wp_enqueue_style( 'custom-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', [ 'main-css' ], time(), 'all' );\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_styles' );\n\n// Load in our JS\nfunction wphooks_enqueue_scripts() {\n\n  // wp_enqueue_script( 'theme-js', get_stylesheet_directory_uri() . '/assets/js/theme.js', [], time(), true );\n  wp_enqueue_script( 'jquery-theme-js', get_stylesheet_directory_uri() . '/assets/js/jquery.theme.js', [ 'jquery' ], time(), true );\n\n  if ( is_singular() && comments_open() ) {\n    wp_enqueue_script( 'comment-reply' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wphooks_enqueue_scripts' );\n\n\n// Comment Custom callback\nfunction wphooks_comment() {\n\n  get_template_part( 'comment' );\n\n}\n\n\n// Register Menu Locations\nregister_nav_menus( [\n  'main-menu' => esc_html__( 'Main Menu', 'wphooks' ),\n  'footer-menu' => esc_html__( 'Footer Menu', 'wphooks' )\n]);\n\n\n// Setup Widget Areas\nfunction wphooks_widgets_init() {\n  register_sidebar([\n    'name'          => esc_html__( 'Main Sidebar', 'wphooks' ),\n    'id'            => 'main-sidebar',\n    'description'   => esc_html__( 'Add widgets for main sidebar here', 'wphooks' ),\n    'before_widget' => '<section class=\"widget\">',\n    'after_widget'  => '</section>',\n    'before_title'  => '<h2 class=\"widget-title\">',\n    'after_title'   => '</h2>',\n  ]);\n}\nadd_action( 'widgets_init', 'wphooks_widgets_init' );\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/header.php",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <?php wp_head(); ?>\n  </head>\n  <body <?php body_class(); ?>>\n\n    <div id=\"page\">\n\n      <a href=\"#content\" class=\"skip-link screen-reader-text\">\n        <?php esc_html_e( 'Skip to content', 'wphooks' ); ?>\n      </a>\n\n      <header id=\"masthead\" class=\"site-header\" role=\"banner\">\n\n        <div class=\"site-branding\">\n          <p class=\"site-title\">\n            <a href=\"<?php echo esc_url( home_url() ) ;?>\" rel=\"home\">\n              <?php bloginfo( 'name' ); ?>\n            </a>\n          </p>\n          <p class=\"site-description\" >\n            <?php bloginfo( 'description' ); ?>\n          </p>\n        </div>\n\n        <nav id=\"site-navigation\" class=\"main-navigation\" role=\"navigation\">\n          <?php\n            $args = [\n              // Location pickable in Customizer\n              'theme_location'  =>  'main-menu',\n              // Assigns a default menu to location\n              'menu'            =>  'Main Menu',\n            ];\n            wp_nav_menu( $args );\n          ?>\n        </nav>\n\n      </header>\n\n      <div id=\"content\" class=\"site-content\">\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/index.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <?php if( has_post_thumbnail() ): ?>\n\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php\n\n                  $attr = [\n                    'class' => 'alignleft',\n                    'title' => get_the_title()\n                  ];\n                  the_post_thumbnail( 'thumbnail', $attr );\n\n                ?>\n              </a>\n\n            <?php endif; ?>\n\n            <h2>\n              <a href=\"<?php the_permalink(); ?>\">\n                <?php the_title(); ?>\n              </a>\n            </h2>\n\n            <?php get_template_part( 'template-parts/byline' ); ?>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_excerpt(); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_posts_link(); ?></p>\n      <p class=\"next-posts\"><?php next_posts_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/page.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>>\n\n          <header class=\"entry-header\">\n\n            <h1><?php the_title(); ?></h1>\n\n          </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/sidebar.php",
    "content": "<aside id=\"secondary\" class=\"widget-area\" role=\"complementary\">\n\n  <?php if( !is_user_logged_in() ): ?>\n\n    <?php wp_login_form(); ?>\n\n  <?php else: ?>\n\n    <p>\n      <a class=\"button\" href=\"<?php echo wp_logout_url( get_the_permalink() ); ?>\">\n        <?php _e( 'Logout', 'wphooks' ) ?>\n      </a>\n    </p>\n\n  <?php endif; ?>\n\n  <h3><?php _e( 'Site Authors', 'wphooks' ); ?></h3>\n  <?php wp_list_authors(); ?>\n\n  <?php dynamic_sidebar( 'main-sidebar' ); ?>\n\n</aside>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/single.php",
    "content": "<?php get_header(); ?>\n\n  <div id=\"primary\" class=\"content-area\">\n\n    <main id=\"main\" class=\"site-main\" role=\"main\">\n\n      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>\n\n        <article <?php post_class(); ?>>\n\n            <header class=\"entry-header\">\n\n              <?php if( has_post_thumbnail() ): ?>\n\n                  <?php\n\n                    $attr = [\n                      'class' => 'featured',\n                      'title' => get_the_title()\n                    ];\n                    the_post_thumbnail( 'full', $attr );\n\n                  ?>\n\n              <?php endif; ?>\n\n              <h1><?php the_title(); ?></h1>\n\n              <p class=\"byline\">\n                <?php the_shortlink( 'Shortlink'); ?> -\n                <?php echo wp_get_shortlink(); ?>\n              </p>\n\n              <?php get_template_part( 'template-parts/byline' ); ?>\n\n            </header>\n\n          <div class=\"entry-content\">\n\n            <?php the_content(); ?>\n\n            <?php edit_post_link( 'Edit this', '<p>', '</p>' ); ?>\n\n          </div>\n\n          <?php get_template_part( 'template-parts/author', 'bio' ); ?>\n\n          <?php comments_template(); ?>\n\n        </article>\n\n      <?php endwhile; endif; ?>\n\n      <p class=\"prev-posts\"><?php previous_post_link(); ?></p>\n      <p class=\"next-posts\"><?php next_post_link(); ?></p>\n\n    </main>\n\n  </div>\n\n  <?php get_sidebar(); ?>\n\n<?php get_footer(); ?>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/style.css",
    "content": "/*\nTheme Name: 6 - Plugin Theme\nAuthor: Zac Gordon\nAuthor URI: http://zacgordon.com\nDescription: Demo theme for Zac Gordon's WordPress Development Course.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugins\n\nThis theme, like WordPress, is licensed under the GPL.\nUse it to make something cool, have fun, and share what you've learned with others.\n*/\n\n\nbody {\n  background-color: #68C6E6;\n  font-family: \"Open Sans\", sans-serif;\n}\n\nbody.tag-50,\nbody.category-9 {\n  background-color: #a7ff91;\n}\n\nh1, h2, h3, h4, h5, h6,\n.site-title {\n  font-family: \"Varela Round\", sans-serif;\n}\n\nh1 {\n  font-size: 2rem;\n}\n\nh2 {\n  margin:  2rem 0 1rem;\n}\n\nh2.search-title {\n  text-transform: capitalize;\n}\n\na {\n  color: #020102;\n}\n\n.site-header a {\n  text-decoration: none;\n}\n\npre {\n  background: #222;\n  padding: 10px;\n  border: 1px #777 solid;\n  color: #ededed;\n  font-family: monospace;\n  font-size: 1rem;\n}\n\nvideo {\n  max-width: 100%;\n}\n\nul {\n  padding-left: 0;\n  margin-left: 20px;\n  list-style-position: outside;\n}\n\n.site-title {\n  font-size: 2rem;\n  font-weight: bold;\n  margin: 0 0 1rem 0;\n}\n\n.before-footer {\n  width: 100%;\n  clear: both;\n}\n\n#masthead,\nfooter.site-footer {\n  margin: 2rem auto 1rem;\n  text-align: center;\n  width: 80%;\n}\n\n#footer-menu li,\n.main-navigation li {\n  list-style-type: none;\n  display: inline-block;\n}\n\n#footer-menu li a,\n.main-navigation li a {\n  padding: 5px;\n}\n\n#footer-menu li:hover>a,\n.main-navigation li:hover>a {\n  color: #000;\n}\n\n#footer-menu li.current-menu-item>a,\n#footer-menu li.current-page-parent>a,\n.main-navigation li.current-menu-item>a,\n.main-navigation li.current-page-parent>a {\n  font-weight: bold;\n  color: #020102;\n}\n\n.main-navigation li ul {\n  display: none\n}\n\n.main-navigation li:hover ul {\n  display: block;\n  position: absolute;\n  margin-left: -10px;\n  z-index: 100;\n  background: #68C6E6;\n  padding: 5px 10px;\n}\n\n.main-navigation li:hover ul li {\n  display: block;\n  margin: .5rem 0;\n}\n\n#content {\n  background: #fff;\n  margin: 20px auto;\n  padding: 20px;\n  width: 80%;\n  max-width: 1020px;\n  border-radius: 5px;\n  position: relative;\n  overflow: auto;\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n\n.single-portfolio #content,\n.page-template-template-splash #content,\n.page-id-1096 #content,\n.category-excerpt #content,\n.tag-wordpress #content {\n  width: 50%;\n  max-width: 720px;\n}\n\n#content article,\n#content article div,\n#content img {\n  max-width: 100%;\n}\n\n#content img {\n  height: auto;\n}\n\n#primary {\n  width: 70%;\n  float: left;\n}\n\n\n#primary.extended,\n#primary.excerpt,\n#primary.wordpress {\n  width: 100%;\n  float: none;\n}\n\narticle.post {\n  margin-bottom: 4rem;\n}\n\n.author article.post {\n  margin-bottom: 2rem;\n}\n\n.prev-posts,\n.next-posts,\n.archive article.portfolio {\n  width: 45%;\n  float: left;\n}\n\n.next-posts {\n  text-align: right;\n  float: right;\n}\n\n.archive article.portfolio:nth-child(even) {\n  margin-right: 5%;\n}\n\n.form-submit input#submit,\n.button {\n  border: 1px #ccc solid;\n  border-radius: 3px;\n  background: #fff;\n  padding: 1rem 2rem;\n  margin: 1rem 0;\n  display: inline-block;\n}\n\n.form-submit input#submit:hover,\n.button:hover {\n  cursor: pointer;\n  border-color: #777;\n}\n\n.login-username input,\n.login-username label,\n.login-password input,\n.login-password label {\n  width: 100%;\n}\n.login-submit #wp-submit {\n  display: block;\n  margin: 0;\n  width: 100%;\n  padding: .5rem;\n}\n\n#secondary {\n  width: 25%;\n  float: right;\n}\n\n#secondary h2 {\n  font-size: 1.2rem;\n}\n\n.byline {\n  color: #777;\n  font-size: .8rem;\n}\n\n.byline a {\n  color: #777;\n  text-decoration: underline;\n  display: inline-block;\n}\n\n.byline a:hover {\n  color: #564A71;\n}\n\n.author-bio {\n  border-bottom: 1px #ccc solid;\n  padding-bottom: 1rem;\n  margin-bottom: 2rem;\n  overflow: auto;\n}\n\n.single .author-bio {\n  border-top: 1px #ccc solid;\n  margin-top: 2rem;\n}\n\n.author-bio img {\n  float: left;\n}\n\n.post-ad {\n  background: #68C6E6;\n  color: #fff;\n  padding: 20px;\n  text-align: center;\n}\n\n.post-ad h2 {\n  margin: 0;\n}\n\n/*--------------------------------------------------------------\n# Default WP Classes\n--------------------------------------------------------------*/\n\n\n.alignleft, img.alignleft {\n\tmargin-right: 1.5em;\n\tdisplay: inline;\n\tfloat: left;\n}\n.alignright, img.alignright {\n\tmargin-left: 1.5em;\n\tdisplay: inline;\n\tfloat: right;\n}\n.aligncenter, img.aligncenter {\n\tmargin-right: auto;\n\tmargin-left: auto;\n\tdisplay: block;\n\tclear: both;\n}\n.wp-caption {\n\tmargin-bottom: 1.5em;\n\ttext-align: center;\n\tpadding-top: 5px;\n}\n.wp-caption img {\n\tborder: 0 none;\n\tpadding: 0;\n\tmargin: 0;\n}\n.wp-caption p.wp-caption-text {\n\tline-height: 1.5;\n\tfont-size: 10px;\n\tmargin: 0;\n}\n.wp-smiley {\n\tmargin: 0 !important;\n\tmax-height: 1em;\n}\nblockquote.left {\n\tmargin-right: 20px;\n\ttext-align: right;\n\tmargin-left: 0;\n\twidth: 33%;\n\tfloat: left;\n}\nblockquote.right {\n\tmargin-left: 20px;\n\ttext-align: left;\n\tmargin-right: 0;\n\twidth: 33%;\n\tfloat: right;\n}\n.gallery dl {}\n.gallery dt {}\n.gallery dd {}\n.gallery dl a {}\n.gallery dl img {}\n.gallery-caption {}\n\n.size-full {}\n.size-large {}\n.size-medium {}\n.size-thumbnail {}\n\n\n\n\n  /**\n   * 11.4 - Comments\n   */\n\n   .comment-cta {\n     background: #68C6E6;\n     color: #fff;\n     padding: 20px;\n     text-align: center;\n   }\n   .comment-cta h2 {\n     margin: 0;\n   }\n\n  .comments-area {\n  \tmargin: 3rem 0 3.5em;\n  }\n\n  .comment-list + .comment-respond,\n  .comment-navigation + .comment-respond {\n  \tpadding-top: 1.75em;\n  }\n\n  .comments-title,\n  .comment-reply-title {\n  \tfont-size: 23px;\n  \tfont-size: 1.4375rem;\n  \tfont-weight: 700;\n  \tline-height: 1.3125;\n  \tpadding-top: 1.217391304em;\n  }\n\n  .comments-title {\n  \tmargin-bottom: 1.217391304em;\n  }\n\n  .comment-list {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list article,\n  .comment-list .pingback,\n  .comment-list .trackback {\n  \tborder-top: 1px solid #d1d1d1;\n  \tpadding: 1.75em 0;\n  }\n\n  .comment-list .children {\n  \tlist-style: none;\n  \tmargin: 0;\n  }\n\n  .comment-list .children > li {\n  \tpadding-left: 0.875em;\n  }\n\n  .comment-author {\n  \tcolor: #1a1a1a;\n  \tmargin-bottom: 0.4375em;\n  }\n\n  .comment-author .avatar {\n  \tfloat: left;\n  \theight: 28px;\n  \tmargin-right: 0.875em;\n  \tposition: relative;\n  \twidth: 28px;\n  }\n\n  .comment-form textarea {\n    width: 90%;\n    width: calc( 100% - 1rem );\n    font-size: 1rem;\n    padding: .5rem;\n  }\n\n  .comment-form input {\n    padding: .5rem 1rem;\n    width: auto;\n  }\n\n\n  /*--------------------------------------------------------------\n  # Twenty Sixteen Comments CSS\n  --------------------------------------------------------------*/\n\n  .comment-metadata,\n  .pingback .edit-link {\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  }\n\n  .comment-metadata {\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .comment-metadata a,\n  .pingback .comment-edit-link {\n\n  }\n\n  .comment-metadata a:hover,\n  .comment-metadata a:focus,\n  .pingback .comment-edit-link:hover,\n  .pingback .comment-edit-link:focus {\n\n  }\n\n  .comment-metadata .edit-link,\n  .pingback .edit-link {\n  \tdisplay: inline-block;\n  }\n\n  .comment-metadata .edit-link:before,\n  .pingback .edit-link:before {\n  \tcontent: \"\\002f\";\n  \tdisplay: inline-block;\n  \topacity: 0.7;\n  \tpadding: 0 0.538461538em;\n  }\n\n  .comment-content ul,\n  .comment-content ol {\n  \tmargin: 0 0 1.5em 1.25em;\n  }\n\n  .comment-content li > ul,\n  .comment-content li > ol {\n  \tmargin-bottom: 0;\n  }\n\n  .comment-reply-link,\n  #cancel-comment-reply-link {\n  \tborder: 1px solid #d1d1d1;\n    font-weight: normal;\n    text-decoration: none;\n  \tborder-radius: 2px;\n  \tcolor: #007acc;\n  \tdisplay: inline-block;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1;\n  \tmargin-top: 1em;\n  \tpadding: 0.5384615385em 0.5384615385em 0.4615384615em;\n  }\n\n  .comment-reply-link:hover,\n  .comment-reply-link:focus {\n  \toutline: 0;\n  }\n\n  .comment-form {\n  }\n\n  .comment-form label {\n  \tdisplay: block;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tletter-spacing: 0.076923077em;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 0.5384615385em;\n  \ttext-transform: uppercase;\n  }\n\n  .comment-list .comment-form {\n  \tpadding-bottom: 1.75em;\n  }\n\n  .comment-notes,\n  .comment-awaiting-moderation,\n  .logged-in-as,\n  .form-allowed-tags {\n  \tcolor: #686868;\n  \tfont-size: 13px;\n  \tfont-size: 0.8125rem;\n  \tline-height: 1.6153846154;\n  \tmargin-bottom: 2.1538461538em;\n  }\n\n  .no-comments {\n  \tborder-top: 1px solid #d1d1d1;\n  \tfont-family: Montserrat, \"Helvetica Neue\", sans-serif;\n  \tfont-weight: 700;\n  \tmargin: 0;\n  \tpadding-top: 1.75em;\n  }\n\n  .comment-navigation + .no-comments {\n  \tborder-top: 0;\n  \tpadding-top: 0;\n  }\n\n  .form-allowed-tags code {\n  \tfont-family: Inconsolata, monospace;\n  }\n\n  .form-submit {\n  \tmargin-bottom: 0;\n  }\n\n  .required {\n  \tcolor: #007acc;\n  \tfont-family: Merriweather, Georgia, serif;\n  }\n\n  .comment {\n      border-bottom: 1px #ccc dashed;\n      padding: 20px 10px;\n  }\n\n  .comment .avatar {\n      float: left;\n      margin: 0 10px 0 0;\n  }\n\n  .comment-reply-title small {\n  \tfont-size: 100%;\n  }\n\n  .comment-reply-title small a {\n  \tborder: 0;\n  \tfloat: right;\n  }\n\n  .comment-reply-title small a:hover,\n  .comment-reply-title small a:focus {\n  \tcolor: #1a1a1a;\n  }\n\n\n/*--------------------------------------------------------------\n# Accessibility\n--------------------------------------------------------------*/\n/* Text meant only for screen readers. */\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n\tword-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n/* Do not show the outline on the skip link target. */\n#content[tabindex=\"-1\"]:focus {\n\toutline: 0;\n}\n\n\n\n\n/*--------------------------------------------------------------\n# Media Queries\n--------------------------------------------------------------*/\n@media only screen and ( max-width: 720px ) {\n  #content {\n    width: 90% !important;\n  }\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/template-parts/author-bio.php",
    "content": "<div class=\"author-bio\">\n\n  <h2>\n    <?php the_author_posts_link(); ?>\n  </h2>\n\n  <?php echo get_avatar( get_the_author_meta( 'ID' ) ); ?>\n\n  <p><?php the_author_meta( 'description' ) ?></p>\n\n  <?php if( current_user_can( 'edit_users' ) ): ?>\n    <p>\n      <a href=\"<?php echo get_edit_user_link( get_the_author_meta( 'ID' ) ); ?>\">\n        <?php _e( 'Edit User', 'wphooks' ); ?>\n      </a>\n    </p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.00-plugin-theme/template-parts/byline.php",
    "content": "<p class=\"byline\">\n  From: <?php the_author_posts_link(); ?> |\n  Date: <?php the_time('F j, Y |'); ?>\n  <?php esc_html_e( 'Categories: ', 'wphooks' ); ?>\n  <?php the_category( ', ' ); ?>\n  <?php the_tags( 'Tags: ', ', ' ); ?>\n</p>\n"
  },
  {
    "path": "6 - Plugin Development/6.02.01-admin-footer-credits-simple.php",
    "content": "<?php\n/*\nPlugin Name: 6.02.01 - Simple Plugin\nDescription: Displays a message in the admin footer.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nText Domain: wpplugin\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n\tdie;\n}\n\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  $new_footer = str_replace( '.</span>', __(' and <a href=\"https://zacgordon.com\">Zac Gordon</a>.</span>', 'wpplugin' ), $footer);\n  return $new_footer;\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.02.02-admin-footer-credits-folder/6.02.02-admin-footer-credits.php",
    "content": "<?php\n/*\nPlugin Name: 6.02.02 - Simple Plugin (with Directory)\nDescription: Displays a message in the admin footer using multiple files.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nText Domain: wpplugin\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n\tdie;\n}\n\ninclude( plugin_dir_path( __FILE__ ) . 'includes/admin-footer-text.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.02.02-admin-footer-credits-folder/includes/admin-footer-text.php",
    "content": "<?php\n\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  $new_footer = str_replace( '.</span>', __(' and <a href=\"https://zacgordon.com\">Zac Gordon</a>.</span>', 'wpplugin' ), $footer);\n  return $new_footer;\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n"
  },
  {
    "path": "6 - Plugin Development/6.03-plugin-information-comment/6.03-plugin-information-comment.php",
    "content": "<?php\n/*\nPlugin Name: 6.03 - Information Comment\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning about the plugin information comment.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n\tdie;\n}\n\n\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  $new_footer = str_replace( '.</span>', __(' and <a href=\"https://zacgordon.com\">Zac Gordon</a>.</span>', 'wpplugin' ), $footer);\n  return $new_footer;\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.04-plugin-settings-page/6.04-plugin-settings-page.php",
    "content": "<?php\n/*\nPlugin Name: 6.04 - Settings Page\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning about plugin settings pages.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n\tdie;\n}\n\nfunction wpplugin_settings_page()\n{\n    add_menu_page(\n        'Plugin Name',\n        'Plugin Menu',\n        'manage_options',\n        'wpplugin',\n        'wpplugin_settings_page_markup',\n        'dashicons-wordpress-alt',\n        100\n    );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_page' );\n\n\nfunction wpplugin_settings_page_markup()\n{\n    // Double check user capabilities\n    if ( !current_user_can('manage_options') ) {\n      return;\n    }\n    ?>\n    <div class=\"wrap\">\n      <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n      <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n    </div>\n    <?php\n}\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.05-plugin-settings-subpage/6.05-plugin-settings-subpage.php",
    "content": "<?php\n/*\nPlugin Name: 6.05 - Settings Sub Pages\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning about plugin settings pages.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\nfunction wpplugin_settings_pages()\n{\n\n  add_menu_page(\n    __( 'Plugin Name', 'wpplugin' ),\n    __( 'Plugin Menu', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n  add_submenu_page(\n    'wpplugin',\n    __( 'Plugin Feature 1', 'wpplugin' ),\n    __( 'Feature 1', 'wpplugin' ),\n    'manage_options',\n    'wpplugin-feature-1',\n    'wpplugin_settings_subpage_markup'\n  );\n\n  add_submenu_page(\n    'wpplugin',\n    __( 'Plugin Feature 2', 'wpplugin' ),\n    __( 'Feature 2', 'wpplugin' ),\n    'manage_options',\n    'wpplugin-feature-2',\n    'wpplugin_settings_subpage_markup'\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\nfunction wpplugin_settings_subpage_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\n\nfunction wpplugin_default_sub_pages() {\n\n  // Can add page as a submenu using the following:\n  // add_dashboard_page()\n  // add_posts_page()\n  // add_media_page()\n  // add_pages_page()\n  // add_comments_page()\n  // add_theme_page()\n  // add_plugins_page()\n  // add_users_page()\n  // add_management_page()\n  // add_options_page()\n\n  add_dashboard_page(\n    __( 'Cool Default Sub Page', 'wpplugin' ),\n    __( 'Custom Sub Page', 'wpplugin' ),\n    'manage_options',\n    'wpplugin-subpage',\n    'wpplugin_settings_page_markup'\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_default_sub_pages' );\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.06-plugin-settings-link/6.06-plugin-settings-link.php",
    "content": "<?php\n/*\nPlugin Name: 6.06 - Link to Settings\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning about plugin file paths.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Plugin Name', 'wpplugin' ),\n    __( 'Plugin Menu', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n\n  </div>\n  <?php\n}\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings', 'wpplugin' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.07-plugin-file-paths/6.07-plugin-file-paths.php",
    "content": "<?php\n/*\nPlugin Name: 6.07 - File Paths\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning about file paths in plugins.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n    <?php\n      $wpplugin_plugin_basename = plugin_basename( __FILE__ );\n      $wpplugin_plugin_dir_path = plugin_dir_path( __FILE__ );\n      $wpplugin_plugins_url_default = plugins_url();\n      $wpplugin_plugins_url = plugins_url( 'includes', __FILE__ );\n      $wpplugin_plugin_dir_url = plugin_dir_url( __FILE__ );\n    ?>\n\n    <ul>\n      <li>plugin_basename( __FILE__ ) - <?php echo $wpplugin_plugin_basename; ?></li>\n      <li>plugin_dir_path( __FILE__ ) - <?php echo $wpplugin_plugin_dir_path; ?></li>\n      <li>plugins_url() - <?php echo $wpplugin_plugins_url_default; ?></li>\n      <li>plugins_url( 'includes', __FILE__ ) - <?php echo $wpplugin_plugins_url; ?></li>\n      <li>plugin_dir_url( __FILE__ ) - <?php echo $wpplugin_plugin_dir_url; ?></li>\n      <li>included file test - <?php include( plugin_dir_path( __FILE__ ) . 'includes/include-test.php'); ?></li>\n    </ul>\n\n  </div>\n  <?php\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'File Paths', 'wpplugin' ),\n    __( 'File Paths', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.07-plugin-file-paths/includes/include-test.php",
    "content": "<?php\n  $wpplugin_plugins_url = plugins_url( '/', __FILE__ );\n  echo $wpplugin_plugins_url;\n"
  },
  {
    "path": "6 - Plugin Development/6.08-enueuing-css/6.08-enueuing-css.php",
    "content": "<?php\n/*\nPlugin Name: 6.08 - Enqueue CSS\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to enqueue CSS with a plugin.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\n\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-styles.php');\n\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.08-enueuing-css/admin/css/wpplugin-admin-style.css",
    "content": ".wrap {\n  background: white;\n  padding: 2rem;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.08-enueuing-css/frontend/css/wpplugin-frontend-style.css",
    "content": "body {\n  background-color: #444;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.08-enueuing-css/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Plugin Name', 'wpplugin' ),\n    __( 'Plugin Menu', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.08-enueuing-css/includes/wpplugin-styles.php",
    "content": "<?php\n\n// Load CSS on all admin pages\nfunction wpplugin_admin_styles() {\n\n  wp_enqueue_style(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/css/wpplugin-admin-style.css',\n    [],\n    time()\n  );\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_styles' );\n\n\n// Load CSS on the frontend\nfunction wpplugin_frontend_styles() {\n\n  wp_enqueue_style(\n    'wpplugin-frontend',\n    WPPLUGIN_URL . 'frontend/css/wpplugin-frontend-style.css',\n    [],\n    time()\n  );\n}\nadd_action( 'wp_enqueue_scripts', 'wpplugin_frontend_styles', 100 );\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/6.09-enueuing-js.php",
    "content": "<?php\n/*\nPlugin Name: 6.09 - Enqueue JS\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to enqueue JS with a plugin.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\n\n// Enqueue Plugin CSS\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-styles.php');\n\n// Enqueue Plugin JavaScript\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-scripts.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/admin/css/wpplugin-admin-style.css",
    "content": "/* Add your custom plugin styles to display in the admin area */\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/admin/js/wpplugin-admin.js",
    "content": "alert( 'Plugin JS Loaded' );\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/frontend/css/wpplugin-frontend-style.css",
    "content": "/* Add custom CSS to load on the frontend of the site */\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/frontend/js/wpplugin-frontend.js",
    "content": "alert( 'Plugin frontend JavaScript loaded.' );\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Plugin Name', 'wpplugin' ),\n    __( 'Plugin Menu', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/includes/wpplugin-scripts.php",
    "content": "<?php\n\n// Load JS on all admin pages\nfunction wpplugin_admin_scripts() {\n\n  wp_enqueue_script(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/js/wpplugin-admin.js',\n    ['jquery'],\n    time()\n  );\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_scripts', 100 );\n\n\n// Load JS on the frontend\nfunction wpplugin_frontend_scripts() {\n\n  wp_enqueue_script(\n    'wpplugin-frontend',\n    WPPLUGIN_URL . 'frontend/js/wpplugin-frontend.js',\n    [],\n    time()\n  );\n}\nadd_action( 'wp_enqueue_scripts', 'wpplugin_frontend_scripts', 100 );\n"
  },
  {
    "path": "6 - Plugin Development/6.09-enueuing-js/includes/wpplugin-styles.php",
    "content": "<?php\n\n// Load CSS on all admin pages\nfunction wpplugin_admin_styles() {\n\n  wp_enqueue_style(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/css/wpplugin-admin-style.css',\n    [],\n    time()\n  );\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_styles' );\n\n\n// Load CSS on the frontend\nfunction wpplugin_frontend_styles() {\n\n  wp_enqueue_style(\n    'wpplugin-frontend',\n    WPPLUGIN_URL . 'frontend/css/wpplugin-frontend-style.css',\n    [],\n    time()\n  );\n}\nadd_action( 'wp_enqueue_scripts', 'wpplugin_frontend_styles', 100 );\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/6.10-conditional-enueuing.php",
    "content": "<?php\n/*\nPlugin Name: 6.10 - Conditional Enqueue\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to do conditional enqueuing with a plugin.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\n\n// Enqueue Plugin CSS\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-styles.php');\n\n// Enqueue Plugin JavaScript\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-scripts.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/admin/css/wpplugin-admin-style.css",
    "content": "/* Add your custom plugin styles to display in the admin area */\n\n.wrap {\n  border: 1px #ddd solid;\n  background: #fff;\n  padding: 2rem;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/admin/js/wpplugin-admin.js",
    "content": "alert( wpplugin.hook );\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/frontend/css/wpplugin-frontend-style.css",
    "content": "/* Add custom CSS to load on the frontend of the site */\n\nbody {\n  background: white;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/frontend/js/wpplugin-frontend.js",
    "content": "alert( 'Plugin frontend JavaScript loaded.' );\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Some content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Plugin Name', 'wpplugin' ),\n    __( 'Plugin Menu', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-wordpress-alt',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/includes/wpplugin-scripts.php",
    "content": "<?php\n\n// Conditionally load JS on plugin settings pages only\nfunction wpplugin_admin_scripts( $hook ) {\n\n  wp_register_script(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/js/wpplugin-admin.js',\n    ['jquery'],\n    time()\n  );\n\n  wp_localize_script( 'wpplugin-admin', 'wpplugin', [\n      'hook' => $hook\n  ]);\n\n  if( 'toplevel_page_wpplugin' == $hook ) {\n      wp_enqueue_script( 'wpplugin-admin' );\n  }\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_scripts' );\n\n\n// Conditionally load JS on single post pages\nfunction wpplugin_frontend_scripts() {\n\n  wp_register_script(\n    'wpplugin-frontend',\n    WPPLUGIN_URL . 'frontend/js/wpplugin-frontend.js',\n    [],\n    time()\n  );\n\n  if( is_single() ) {\n      wp_enqueue_script( 'wpplugin-frontend' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wpplugin_frontend_scripts', 100 );\n"
  },
  {
    "path": "6 - Plugin Development/6.10-conditional-enqueuing/includes/wpplugin-styles.php",
    "content": "<?php\n\n// Conditionally load CSS on plugin settings pages only\nfunction wpplugin_admin_styles( $hook ) {\n\n  wp_register_style(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/css/wpplugin-admin-style.css',\n    [],\n    time()\n  );\n\n  if( 'toplevel_page_wpplugin' == $hook ) {\n    wp_enqueue_style( 'wpplugin-admin' );\n  }\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_styles' );\n\n\n// Load CSS on the frontend\nfunction wpplugin_frontend_styles() {\n\n  wp_register_style(\n    'wpplugin-frontend',\n    WPPLUGIN_URL . 'frontend/css/wpplugin-frontend-style.css',\n    [],\n    time()\n  );\n\n  if( is_single() ) {\n      wp_enqueue_style( 'wpplugin-frontend' );\n  }\n\n}\nadd_action( 'wp_enqueue_scripts', 'wpplugin_frontend_styles', 100 );\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/6.12-practice-complete.php",
    "content": "<?php\n/*\nPlugin Name: 6.12 - PRACTICE Setup - Complete\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Practice plugin for working with settings pages and enqueuing JS and CSS.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\n\n// Enqueue Plugin CSS\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-styles.php');\n\n// Enqueue Plugin JavaScript\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-scripts.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  return '<span id=\"footer-thankyou\">' .  __( 'New Plugin Footer', 'wpplugin' ) . '</span>';\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/admin/css/wpplugin-admin-style.css",
    "content": "body {\n  background: #23282d;\n}\n\nh1, h2, h3, h4, h5, h6,\np, li {\n  color: #fff;\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/admin/js/wpplugin-admin.js",
    "content": "alert( 'Plugin JS Loaded' );\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  ?>\n  <div class=\"wrap\">\n    <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n    <p><?php esc_html_e( 'Practice content.', 'wpplugin' ); ?></p>\n  </div>\n  <?php\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Name', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/includes/wpplugin-scripts.php",
    "content": "<?php\n\n// Conditionally load JS on plugin settings pages only\nfunction wpplugin_admin_scripts( $hook ) {\n\n  wp_register_script(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/js/wpplugin-admin.js',\n    ['jquery'],\n    time()\n  );\n\n  if( 'toplevel_page_wpplugin' == $hook ) {\n      wp_enqueue_script( 'wpplugin-admin' );\n  }\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_scripts' );\n"
  },
  {
    "path": "6 - Plugin Development/6.12-practice-complete/includes/wpplugin-styles.php",
    "content": "<?php\n\n// Conditionally load CSS on plugin settings pages only\nfunction wpplugin_admin_styles( $hook ) {\n\n  wp_register_style(\n    'wpplugin-admin',\n    WPPLUGIN_URL . 'admin/css/wpplugin-admin-style.css',\n    [],\n    time()\n  );\n\n  if( 'toplevel_page_wpplugin' == $hook ) {\n    wp_enqueue_style( 'wpplugin-admin' );\n  }\n\n}\nadd_action( 'admin_enqueue_scripts', 'wpplugin_admin_styles' );\n"
  },
  {
    "path": "6 - Plugin Development/6.13-options/6.13-options.php",
    "content": "<?php\n/*\nPlugin Name: 6.13 - Saving Options\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to work with the Options API in WordPress.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Plugin Options\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-options.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.13-options/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Name', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.13-options/includes/wpplugin-options.php",
    "content": "<?php\n\n// Function for learning how to add options\n// SQL Query: SELECT * FROM wp_options WHERE option_name = \"wpplugin_option\";\nfunction wpplugin_options() {\n\n  add_option( 'wpplugin_option', 'My NEW Plugin Options' );\n  update_option( 'wpplugin_option', 'My Updated Plugin Options' );\n  // delete_option( 'wpplugin_option' );\n\n}\nadd_action( 'admin_init', 'wpplugin_options' );\n"
  },
  {
    "path": "6 - Plugin Development/6.13-options/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n  <p><?php esc_html_e( 'Option:', 'wpplugin' ); ?></p>\n  <p><?php esc_html_e( get_option( 'wpplugin_option' ) ); ?></p>  \n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.14-options-array/6.14-options-array.php",
    "content": "<?php\n/*\nPlugin Name: 6.14 - Option Arrays\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to work an array of options with the Options API in WordPress.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Plugin Options\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-options.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.14-options-array/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Name', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.14-options-array/includes/wpplugin-options.php",
    "content": "<?php\n\n// Function for learning how to add options\nfunction wpplugin_options() {\n\n  // $options = [\n  //   'First Name',\n  //   'Second Option',\n  //   'Third Option'\n  // ];\n\n  $options = [];\n  $options['name']      = 'Zac Gordon';\n  $options['location']  = 'Washington, D.C.';\n  $options['sponsor']   = 'Plugin Co.';\n\n  if( !get_option( 'wpplugin_option' ) ) {\n      add_option( 'wpplugin_option', $options );\n  }\n  update_option( 'wpplugin_option', $options );\n  // delete_option( 'wpplugin_option' );\n\n}\nadd_action( 'admin_init', 'wpplugin_options' );\n"
  },
  {
    "path": "6 - Plugin Development/6.14-options-array/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <h2><?php esc_html_e( 'All Options', 'wpplugin' ); ?></h2>\n\n  <?php $options = get_option( 'wpplugin_option' ); ?>\n  <ul>\n  <?php foreach( $options as $option ): ?>\n    <li><?php echo $option; ?></li>\n  <?php endforeach; ?>\n  </ul>\n\n  <?php if( array_key_exists( 'name', $options ) ): ?>\n    <h2><?php esc_html_e( 'Specific Option', 'wpplugin' ); ?></h2>\n    <p><?php esc_html_e( $options['name'] ); ?></p>\n  <?php endif; ?>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.16-practice-complete/6.16-practice-complete.php",
    "content": "<?php\n/*\nPlugin Name: 6.16 - PRACTICE Options - Complete\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Completed practice plugin for showing how to work with the Options API.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Plugin Options\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-options.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n// Add the wpplugin_options to the footer\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  $footer_text = esc_html( get_option( 'wpplugin_options' ) );\n\n  return $footer_text;\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.16-practice-complete/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.16-practice-complete/includes/wpplugin-options.php",
    "content": "<?php\n\n// Function for learning how to add options\nfunction wpplugin_options() {\n\n  $option = 'Custom Option UPDATED Text';\n\n  if( !get_option( 'wpplugin_options' ) ) {\n      add_option( 'wpplugin_options', $option );\n  }\n  update_option( 'wpplugin_options', $option );\n  // delete_option( 'wpplugin_options' );\n\n}\nadd_action( 'admin_init', 'wpplugin_options' );\n"
  },
  {
    "path": "6 - Plugin Development/6.16-practice-complete/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <h2><?php esc_html_e( 'Custom Footer Text', 'wpplugin' ); ?></h2>\n  <p><?php esc_html_e( get_option( 'wpplugin_options' ) ); ?></p>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.17-settings-api/6.17-settings-api.php",
    "content": "<?php\n/*\nPlugin Name: 6.17 - Settings API\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to work the Settings API in WordPress.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Settings Fields\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-settings-fields.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n// Add the wpplugin_options to the footer\nfunction wpplugin_custom_admin_footer( $footer ) {\n\n  $options = get_option( 'wpplugin_settings' );\n\n  if( $options['custom_text'] ) {\n\n    $footer_text = esc_html( $options['custom_text'] );\n    return $footer_text;\n\n  } else {\n\n    return $footer;\n\n  }\n\n\n}\nadd_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 );\n\n\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.17-settings-api/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.17-settings-api/includes/wpplugin-settings-fields.php",
    "content": "<?php\n\nfunction wpplugin_settings() {\n\n  // If plugin settings don't exist, then create them\n  if( false == get_option( 'wpplugin_settings' ) ) {\n      add_option( 'wpplugin_settings' );\n  }\n\n  // Define (at least) one section for our fields\n  add_settings_section(\n    // Unique identifier for the section\n    'wpplugin_settings_section',\n    // Section Title\n    __( 'Plugin Settings Section', 'wpplugin' ),\n    // Callback for an optional description\n    'wpplugin_settings_section_callback',\n    // Admin page to add section to\n    'wpplugin'\n  );\n\n  add_settings_field(\n    // Unique identifier for field\n    'wpplugin_settings_custom_text',\n    // Field Title\n    __( 'Custom Text', 'wpplugin'),\n    // Callback for field markup\n    'wpplugin_settings_custom_text_callback',\n    // Page to go on\n    'wpplugin',\n    // Section to go in\n    'wpplugin_settings_section'\n  );\n\n  register_setting(\n    'wpplugin_settings',\n    'wpplugin_settings'\n  );\n\n}\nadd_action( 'admin_init', 'wpplugin_settings' );\n\nfunction wpplugin_settings_section_callback() {\n\n  esc_html_e( 'Plugin settings section description', 'wpplugin' );\n\n}\n\nfunction wpplugin_settings_custom_text_callback() {\n\n  $options = get_option( 'wpplugin_settings' );\n\n\t$custom_text = '';\n\tif( isset( $options[ 'custom_text' ] ) ) {\n\t\t$custom_text = esc_html( $options['custom_text'] );\n\t}\n\n  // Render the output\n  echo '<input type=\"text\" id=\"wpplugin_customtext\" name=\"wpplugin_settings[custom_text]\" value=\"' . $custom_text . '\" />';\n\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.17-settings-api/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <form method=\"post\" action=\"options.php\">\n    <!-- Display necessary hidden fields for settings -->\n    <?php settings_fields( 'wpplugin_settings' ); ?>\n    <!-- Display the settings sections for the page -->\n    <?php do_settings_sections( 'wpplugin' ); ?>\n    <!-- Default Submit Button -->\n    <?php submit_button(); ?>\n  </form>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.18-settings-sections/6.18-settings-sections.php",
    "content": "<?php\n/*\nPlugin Name: 6.18 - Setting Sections\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to add settings section.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Settings Fields\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-settings-fields.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.18-settings-sections/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.18-settings-sections/includes/wpplugin-settings-fields.php",
    "content": "<?php\n\nfunction wpplugin_settings() {\n\n  // Define (at least) one section for our fields\n  add_settings_section(\n    // Unique identifier for the section\n    'wpplugin_settings_section',\n    // Section Title\n    __( 'A Plugin Settings Section', 'wpplugin' ),\n    // Callback for an optional description\n    'wpplugin_settings_section_callback',\n    // Admin page to add section to\n    'wpplugin'\n  );\n\n}\nadd_action( 'admin_init', 'wpplugin_settings' );\n\nfunction wpplugin_settings_section_callback() {\n\n  esc_html_e( 'Plugin settings section description', 'wpplugin' );\n\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.18-settings-sections/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <form method=\"post\" action=\"options.php\">\n    <!-- Display necessary hidden fields for settings -->\n    <?php settings_fields( 'wpplugin_settings' ); ?>\n    <!-- Display the settings sections for the page -->\n    <?php do_settings_sections( 'wpplugin' ); ?>\n    <!-- Default Submit Button -->\n    <?php submit_button(); ?>\n  </form>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.19-settings-field/6.19-settings-field.php",
    "content": "<?php\n/*\nPlugin Name: 6.19 - Setting Fields\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to add settings fields.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Settings Fields\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-settings-fields.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.19-settings-field/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.19-settings-field/includes/wpplugin-settings-fields.php",
    "content": "<?php\n\nfunction wpplugin_settings() {\n\n  // If plugin settings don't exist, then create them\n  if( !get_option( 'wpplugin_settings' ) ) {\n      add_option( 'wpplugin_settings' );\n  }\n\n  // Define (at least) one section for our fields\n  add_settings_section(\n    // Unique identifier for the section\n    'wpplugin_settings_section',\n    // Section Title\n    __( 'Plugin Settings Section', 'wpplugin' ),\n    // Callback for an optional description\n    'wpplugin_settings_section_callback',\n    // Admin page to add section to\n    'wpplugin'\n  );\n\n  add_settings_field(\n    // Unique identifier for field\n    'wpplugin_settings_custom_text',\n    // Field Title\n    __( 'Custom Text', 'wpplugin'),\n    // Callback for field markup\n    'wpplugin_settings_custom_text_callback',\n    // Page to go on\n    'wpplugin',\n    // Section to go in\n    'wpplugin_settings_section'\n  );\n\n  register_setting(\n    'wpplugin_settings',\n    'wpplugin_settings'\n  );\n\n}\nadd_action( 'admin_init', 'wpplugin_settings' );\n\nfunction wpplugin_settings_section_callback() {\n\n  esc_html_e( 'Plugin settings section description', 'wpplugin' );\n\n}\n\nfunction wpplugin_settings_custom_text_callback() {\n\n  $options = get_option( 'wpplugin_settings' );\n\n\t$custom_text = '';\n\tif( isset( $options[ 'custom_text' ] ) ) {\n\t\t$custom_text = esc_html( $options['custom_text'] );\n\t}\n\n  echo '<input type=\"text\" id=\"wpplugin_customtext\" name=\"wpplugin_settings[custom_text]\" value=\"' . $custom_text . '\" />';\n\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.19-settings-field/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <form method=\"post\" action=\"options.php\">\n    <!-- Display necessary hidden fields for settings -->\n    <?php settings_fields( 'wpplugin_settings' ); ?>\n    <!-- Display the settings sections for the page -->\n    <?php do_settings_sections( 'wpplugin' ); ?>\n    <!-- Default Submit Button -->\n    <?php submit_button(); ?>\n  </form>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.20-more-settings-fields/6.20-more-settings-fields.php",
    "content": "<?php\n/*\nPlugin Name: 6.20 - More Setting Fields\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how to add multiple settings fields.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Settings Fields\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-settings-fields.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.20-more-settings-fields/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.20-more-settings-fields/includes/wpplugin-settings-fields.php",
    "content": "<?php\n\nfunction wpplugin_settings() {\n\n  // If plugin settings don't exist, then create them\n  if( false == get_option( 'wpplugin_settings' ) ) {\n      add_option( 'wpplugin_settings' );\n  }\n\n  // Define (at least) one section for our fields\n  add_settings_section(\n    // Unique identifier for the section\n    'wpplugin_settings_section',\n    // Section Title\n    __( 'Plugin Settings Section', 'wpplugin' ),\n    // Callback for an optional description\n    'wpplugin_settings_section_callback',\n    // Admin page to add section to\n    'wpplugin'\n  );\n\n  // Input Text Field\n  add_settings_field(\n    // Unique identifier for field\n    'wpplugin_settings_input_text',\n    // Field Title\n    __( 'Text Input', 'wpplugin'),\n    // Callback for field markup\n    'wpplugin_settings_text_input_callback',\n    // Page to go on\n    'wpplugin',\n    // Section to go in\n    'wpplugin_settings_section'\n  );\n\n  // Textarea Field\n  add_settings_field(\n    'wpplugin_settings_textarea',\n    __( 'Text Area', 'wpplugin'),\n    'wpplugin_settings_textarea_callback',\n    'wpplugin',\n    'wpplugin_settings_section'\n  );\n\n  // Checkbox Field\n  add_settings_field(\n    'wpplugin_settings_checkbox',\n    __( 'Checkbox', 'wpplugin'),\n    'wpplugin_settings_checkbox_callback',\n    'wpplugin',\n    'wpplugin_settings_section',\n    [\n      'label' => 'Checkbox Label'\n    ]\n  );\n\n  // Radio Field\n  add_settings_field(\n    'wpplugin_settings_radio',\n    __( 'Radio', 'wpplugin'),\n    'wpplugin_settings_radio_callback',\n    'wpplugin',\n    'wpplugin_settings_section',\n    [\n      'option_one' => 'Radio 1',\n      'option_two' => 'Radio 2'\n    ]\n  );\n\n  // Dropdown\n  add_settings_field(\n    'wpplugin_settings_select',\n    __( 'Select', 'wpplugin'),\n    'wpplugin_settings_select_callback',\n    'wpplugin',\n    'wpplugin_settings_section',\n    [\n      'option_one' => 'Select Option 1',\n      'option_two' => 'Select Option 2',\n      'option_three' => 'Select Option 3'\n    ]\n  );\n\n\n  register_setting(\n    'wpplugin_settings',\n    'wpplugin_settings'\n  );\n\n}\nadd_action( 'admin_init', 'wpplugin_settings' );\n\nfunction wpplugin_settings_section_callback() {\n\n  esc_html_e( 'Plugin settings section description', 'wpplugin' );\n\n}\n\nfunction wpplugin_settings_text_input_callback() {\n\n  $options = get_option( 'wpplugin_settings' );\n\n\t$text_input = '';\n\tif( isset( $options[ 'text_input' ] ) ) {\n\t\t$text_input = esc_html( $options['text_input'] );\n\t}\n\n  echo '<input type=\"text\" id=\"wpplugin_customtext\" name=\"wpplugin_settings[text_input]\" value=\"' . $text_input . '\" />';\n\n}\n\nfunction wpplugin_settings_textarea_callback() {\n\n  $options = get_option( 'wpplugin_settings' );\n\n\t$textarea = '';\n\tif( isset( $options[ 'textarea' ] ) ) {\n\t\t$textarea = esc_html( $options['textarea'] );\n\t}\n\n  echo '<textarea id=\"wpplugin_settings_textarea\" name=\"wpplugin_settings[textarea]\" rows=\"5\" cols=\"50\">' . $textarea . '</textarea>';\n\n}\n\nfunction wpplugin_settings_checkbox_callback( $args ) {\n\n  $options = get_option( 'wpplugin_settings' );\n\n  $checkbox = '';\n\tif( isset( $options[ 'checkbox' ] ) ) {\n\t\t$checkbox = esc_html( $options['checkbox'] );\n\t}\n\n\t$html = '<input type=\"checkbox\" id=\"wpplugin_settings_checkbox\" name=\"wpplugin_settings[checkbox]\" value=\"1\"' . checked( 1, $checkbox, false ) . '/>';\n\t$html .= '&nbsp;';\n\t$html .= '<label for=\"wpplugin_settings_checkbox\">' . $args['label'] . '</label>';\n\n\techo $html;\n\n}\n\nfunction wpplugin_settings_radio_callback( $args ) {\n\n  $options = get_option( 'wpplugin_settings' );\n\n  $radio = '';\n\tif( isset( $options[ 'radio' ] ) ) {\n\t\t$radio = esc_html( $options['radio'] );\n\t}\n\n\t$html = '<input type=\"radio\" id=\"wpplugin_settings_radio_one\" name=\"wpplugin_settings[radio]\" value=\"1\"' . checked( 1, $radio, false ) . '/>';\n\t$html .= ' <label for=\"wpplugin_settings_radio_one\">'. $args['option_one'] .'</label> &nbsp;';\n\t$html .= '<input type=\"radio\" id=\"wpplugin_settings_radio_two\" name=\"wpplugin_settings[radio]\" value=\"2\"' . checked( 2, $radio, false ) . '/>';\n\t$html .= ' <label for=\"wpplugin_settings_radio_two\">'. $args['option_two'] .'</label>';\n\n\techo $html;\n\n}\n\nfunction wpplugin_settings_select_callback( $args ) {\n\n  $options = get_option( 'wpplugin_settings' );\n\n  $select = '';\n\tif( isset( $options[ 'select' ] ) ) {\n\t\t$select = esc_html( $options['select'] );\n\t}\n\n  $html = '<select id=\"wpplugin_settings_options\" name=\"wpplugin_settings[select]\">';\n\n\t$html .= '<option value=\"option_one\"' . selected( $select, 'option_one', false) . '>' . $args['option_one'] . '</option>';\n\t$html .= '<option value=\"option_two\"' . selected( $select, 'option_two', false) . '>' . $args['option_two'] . '</option>';\n\t$html .= '<option value=\"option_three\"' . selected( $select, 'option_three', false) . '>' . $args['option_three'] . '</option>';\n\n\t$html .= '</select>';\n\n\techo $html;\n\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.20-more-settings-fields/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <form method=\"post\" action=\"options.php\">\n    <!-- Display necessary hidden fields for settings -->\n    <?php settings_fields( 'wpplugin_settings' ); ?>\n    <!-- Display the settings sections for the page -->\n    <?php do_settings_sections( 'wpplugin' ); ?>\n    <!-- Default Submit Button -->\n    <?php submit_button(); ?>\n  </form>\n\n</div>\n"
  },
  {
    "path": "6 - Plugin Development/6.21-default-settings/6.21-default-settings.php",
    "content": "<?php\n/*\nPlugin Name: 6.21 - Default Settings\nPlugin URI: https://github.com/zgordon/wp-dev-course\nDescription: Demo plugin for learning how work with the Settings API.\nVersion: 1.0.0\nContributors: zgordon\nAuthor: Zac Gordon\nAuthor URI: https://zacgordon.com\nLicense: GPLv2 or later\nLicense URI:  https://www.gnu.org/licenses/gpl-2.0.html\nText Domain: wpplugin\nDomain Path:  /languages\n*/\n\n// If this file is called directly, abort.\nif ( ! defined( 'WPINC' ) ) {\n  die;\n}\n\n// Define plugin paths and URLs\ndefine( 'WPPLUGIN_URL', plugin_dir_url( __FILE__ ) );\ndefine( 'WPPLUGIN_DIR', plugin_dir_path( __FILE__ ) );\n\n\n// Create Settings Fields\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-settings-fields.php');\n\n// Create Plugin Admin Menus and Setting Pages\ninclude( plugin_dir_path( __FILE__ ) . 'includes/wpplugin-menus.php');\n\n?>\n"
  },
  {
    "path": "6 - Plugin Development/6.21-default-settings/includes/wpplugin-menus.php",
    "content": "<?php\n\nfunction wpplugin_settings_page_markup()\n{\n  // Double check user capabilities\n  if ( !current_user_can('manage_options') ) {\n      return;\n  }\n  include( WPPLUGIN_DIR . 'templates/admin/settings-page.php');\n}\n\nfunction wpplugin_settings_pages()\n{\n  add_menu_page(\n    __( 'Practice Plugin', 'wpplugin' ),\n    __( 'Practice', 'wpplugin' ),\n    'manage_options',\n    'wpplugin',\n    'wpplugin_settings_page_markup',\n    'dashicons-screenoptions',\n    100\n  );\n\n}\nadd_action( 'admin_menu', 'wpplugin_settings_pages' );\n\n// Add a link to your settings page in your plugin\nfunction wpplugin_add_settings_link( $links ) {\n    $settings_link = '<a href=\"admin.php?page=wpplugin\">' . __( 'Settings' ) . '</a>';\n    array_push( $links, $settings_link );\n  \treturn $links;\n}\n$filter_name = \"plugin_action_links_\" . plugin_basename( __FILE__ );\nadd_filter( $filter_name, 'wpplugin_add_settings_link' );\n"
  },
  {
    "path": "6 - Plugin Development/6.21-default-settings/includes/wpplugin-settings-fields.php",
    "content": "<?php\n\nfunction wpplugin_settings() {\n\n  // If plugin settings don't exist, then create them\n  if( false == get_option( 'wpplugin_settings' ) ) {\n      add_option( 'wpplugin_settings' );\n  }\n\n  add_settings_field(\n    // Unique identifier for field\n    'wpplugin_settings_custom_text',\n    // Field Title\n    __( 'Custom Text', 'wpplugin'),\n    // Callback for field markup\n    'wpplugin_settings_custom_text_callback',\n    // Page to go on\n    'general',\n    // Section to go in\n    'default',\n    // Array to pass to callback\n    [\n      __( 'Custom Text', 'wpplugin' )\n    ]\n  );\n\n  register_setting(\n    'general',\n    'wpplugin_settings'\n  );\n\n}\nadd_action( 'admin_init', 'wpplugin_settings' );\n\nfunction wpplugin_settings_section_callback() {\n\n  esc_html_e( 'Plugin settings section description', 'wpplugin' );\n\n}\n\nfunction wpplugin_settings_custom_text_callback() {\n\n  $options = get_option( 'wpplugin_settings' );\n\n\t$custom_text = '';\n\tif( isset( $options[ 'custom_text' ] ) ) {\n\t\t$custom_text = esc_html( $options['custom_text'] );\n\t}\n\n  echo '<input type=\"text\" id=\"wpplugin_customtext\" name=\"wpplugin_settings[custom_text]\" value=\"' . $custom_text . '\" />';\n\n}\n"
  },
  {
    "path": "6 - Plugin Development/6.21-default-settings/templates/admin/settings-page.php",
    "content": "<div class=\"wrap\">\n\n  <h1><?php esc_html_e( get_admin_page_title() ); ?></h1>\n\n  <form method=\"post\" action=\"options.php\">\n    <!-- Display necessary hidden fields for settings -->\n    <?php settings_fields( 'wpplugin_settings' ); ?>\n    <!-- Display the settings sections for the page -->\n    <?php do_settings_sections( 'wpplugin' ); ?>\n    <!-- Default Submit Button -->\n    <?php submit_button(); ?>\n  </form>\n\n</div>\n"
  },
  {
    "path": "README.md",
    "content": "# WordPress Theme and Plugin Development Course on Udemy\n\n![Zac on camera teaching the course](https://cl.ly/rs2Z/Udemy%20Course%20Cover.png)\n\nThese are the files to accompany my [WordPress Development Course on Udemy](https://www.udemy.com/wordpress-theme-and-plugin-development-course/?couponCode=JSFORWP).\n\nMost of the examples are themes that you can install and active or open in your code editor to view.\n\nClone the repo and make changes on your own if you are following along with the course.\n"
  }
]