Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 82 additions & 9 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,82 @@
NPM Clone Nifty Penguin Magic npm Enterprise Products Solutions Resources Docs Support Search Join Log In Build amazing
things Essential JavaScript development tools that help you go to market faster and build powerful applications using
modern open source code. See plans Join for free Bring the best of open source to your company npm is the tool used by
over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it.
Create an Org and get more out of the tools your team already knows and loves. Zero configuration Create an org, add
your team, and start collaborating. Nothing to configure, set up, or manage. Team management Control who has access to
what modules within your team namespace using straightforward team management capabilities. Familiar features npm Orgs
has 100% parity with all the public npm registry features your developers already use. npm audit Enjoy the security
auditing features built into the npm client, a zero-friction way to make open source software safer. Create an Org
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>NPM Clone – Nifty Penguin Magic</title>
<link rel="icon" href="images/npm-logo.png">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="topbar">
<div class="brand"><img class="blackHeart" src="images/black-heart.png" alt="black heart"><span>Nifty Penguin Magic</span></div>
<nav>
<ul>
<li><a href="#">npm Enterprise</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Solutions</a></li>
<li><a href="#">Resources</a></li>
<li><a href="#">Docs</a></li>
<li><a href="#">Support</a></li>
</ul>
</nav>
</div>
<div class="subheader">
<a class="logo" href="#"><img src="images/npm-logo.png" alt="npm logo"></a>
<form class="search" action="#" method="get">
<img class="search-icon" src="images/magnifying-glass.png" alt="">
<label for="search" class="sr-only">Search</label>
<input id="search" type="search" placeholder="Search packages">
<button type="submit">Search</button>
</form>
<div class="auth">
<a class="btn" href="#">Join</a>
<a class="btn" href="#">Log In</a>
</div>
</div>
</header>
<main>
<section id="hero">
<h1>Build amazing things</h1>
<p>Essential JavaScript development tools that help you go to market faster and build powerful applications using modern open source code.</p>
<div class="cta">
<a href="#" class="btn btn-primary">See plans</a>
<a href="#" class="btn btn-secondary">Join for free</a>
</div>
<img class="bg-shape" src="images/triangle-hexagon.svg" alt="">
</section>
<section id="about">
<h2>Bring the best of open source to your company</h2>
<p>npm is the tool used by over 11,000,000 JavaScript developers around the world. Your developers already use it. Your company depends on it. Create an Org and get more out of the tools your team already knows and loves.</p>
</section>
<section id="features">
<ul class="feature-list">
<li class="feature">
<img src="images/zero-configuration.svg" alt="Zero configuration">
<h3>Zero configuration</h3>
<p>Create an org, add your team, and start collaborating. Nothing to configure, set up, or manage.</p>
</li>
<li class="feature">
<img src="images/team-management.svg" alt="Team management">
<h3>Team management</h3>
<p>Control who has access to what modules within your team namespace using straightforward team management capabilities.</p>
</li>
<li class="feature">
<img src="images/familiar-features.svg" alt="Familiar features">
<h3>Familiar features</h3>
<p>npm Orgs has 100% parity with all the public npm registry features your developers already use.</p>
</li>
<li class="feature">
<img src="images/npm-audit.svg" alt="npm audit">
<h3>npm audit</h3>
<p>Enjoy the security auditing features built into the npm client, a zero-friction way to make open source software safer.</p>
</li>
</ul>
<div class="org-cta">
<a href="#" class="btn btn-accent">Create an Org</a>
</div>
</section>
</main>
</body>
</html>
56 changes: 56 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
@import url('https://fonts.googleapis.com/css?family=Poppins');

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Poppins', sans-serif; color: #000; }

/* Header top bar */
header > div { padding: 0 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid lightgray; }
.blackHeart { width: 20px; margin-right: 1rem; }
nav { width: 600px; }
nav ul { list-style: none; display: flex; justify-content: space-between; align-items: center; }
nav a { text-decoration: none; color: black; }

/* Brand alignment */
.brand { display: flex; align-items: center; gap: 8px; }

/* Header subbar */
.subheader { padding: 10px 25px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.logo img { height: 28px; }
.search { display: flex; align-items: center; gap: 10px; flex: 1; }
.search-icon { width: 18px; opacity: .5; }
.search input { flex: 1; background: rgba(0,0,0,.05); border: none; padding: 10px 12px; border-radius: 4px; }
.search button { background: #fb3e44; color: #fff; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; }
.auth { display: flex; align-items: center; gap: 12px; }

/* Form label/input colors per guide */
.search label { color: rgba(0,0,0,.05); }

/* Visually-hidden utility for labels */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 1px, 1px); white-space: nowrap; border: 0; }

/* Buttons */
.btn { display: inline-block; text-decoration: none; padding: 10px 16px; border-radius: 4px; border: 1px solid #000; color: #000; }
.btn-primary { background: #FB3B49; color: #fff; border-color: #FB3B49; box-shadow: 8px 8px 0 rgba(251,59,73,.2); }
.btn-secondary { background: #fff; }
.btn-accent { background: #ED1C24; color: #fff; box-shadow: 8px 8px 0 rgba(128,83,35,.2); border-color: #ED1C24; }

/* Section 1 (hero) */
#hero { min-height: 600px; background: rgba(232,217,217,.3); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 22px; padding: 40px 20px; position: relative; }
#hero h1 { font-size: 48px; }
#hero p { max-width: 780px; line-height: 1.5; }
#hero .cta { display: flex; gap: 12px; }
.bg-shape { position: absolute; right: 30px; bottom: 30px; width: 120px; opacity: .2; }

/* Section 2 (about) */
#about { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 80px 20px; }
#about h2 { display: inline-block; background: rgba(255,204,53,.4); transform: skew(9deg,0deg); font-style: italic; padding: 4px 10px; font-size: 28px; }
#about p { max-width: 800px; line-height: 1.6; }

/* Section 3 (features) */
#features { padding: 80px 25px; }
.feature-list { list-style: none; display: flex; flex-wrap: wrap; gap: 28px; justify-content: center; }
.feature { max-width: 260px; display: flex; flex-direction: column; gap: 10px; }
.feature img { width: 48px; height: 48px; }
.feature h3 { color: #ED1C24; font-size: 20px; }
.feature p { line-height: 1.5; }
.org-cta { display: flex; justify-content: center; margin-top: 32px; }