This pen shows how CSS Grid (with flexbox fallback) can be used to re-create the LastPass vault layout with no media queries.
A Pen by George W. Park on CodePen.
<!-- Main Content --> | |
<main class="main-content"> | |
<!-- Masthead --> | |
<div class="masthead"> | |
<div class="logo"> | |
<h1>LastPass<i class="fas fa-ellipsis-h logo-icon" aria-hidden="true"></i></h1> | |
</div> | |
<div class="vault-search"> | |
<form> | |
<input type="search" class="search-input" placeholder="search my vault" aria-label="search vault"> | |
<i class="fas fa-search search-icon" aria-hidden="true"></i> | |
</form> | |
</div> | |
<div class="user-settings" tabindex="0" aria-label="User Settings"> | |
<div class="user-image"> | |
<i class="fas fa-user-circle" aria-hidden="true"></i> | |
</div> | |
<ul class="user-info"> | |
<li class="user-email">[email protected]</li> | |
<li class="user-type">Premium User</li> | |
</ul> | |
<div class="user-arrow-btn"> | |
<i class="fas fa-caret-down" aria-hidden="true"></i> | |
</div> | |
</div> | |
</div> | |
<!-- End of masthead --> | |
<!-- Vault items controls--> | |
<div class="vault-items-controls"> | |
<h2>All items</h2> | |
<button class="vault-items-controls-btn btn" aria-label="Collapse Items" title="Collapse Items"> | |
<i class="fas fa-caret-up" aria-hidden="true"></i> | |
</button> | |
<button class="vault-items-controls-btn btn" aria-label="Compact View" title="Compact View"> | |
<i class="fas fa-search-minus" aria-hidden="true"></i> | |
</button> | |
<div class="vault-items-controls-group"> | |
<button class="vault-items-controls-btn btn current" aria-label="Grid View" title="Grid View"> | |
<i class="fas fa-th-large" aria-hidden="true"></i> | |
</button> | |
<button class="vault-items-controls-btn btn" aria-label="List View" title="List View"> | |
<i class="fas fa-list" aria-hidden="true"></i> | |
</button> | |
</div> | |
<button class="vault-items-controls-btn btn" aria-label="Sort Options" title="Sort Options"> | |
<i class="fas fa-sort" aria-hidden="true"></i> | |
</button> | |
</div> | |
<!-- End of vault items controls--> | |
<!-- Vault items container --> | |
<div class="vault-items-container"> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-amazon" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Amazon</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-apple" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Apple ID</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item bank-account-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-building" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Bank Account</h3> | |
<h4 class="vault-item-summary">Ending in 1234</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-behance-square" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Behance</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-codepen" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">CodePen</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-bitcoin" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Coinbase</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item payment-card-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-credit-card" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Credit Card</h3> | |
<h4 class="vault-item-summary">Ending in 1234</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-digital-ocean" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Digital Ocean</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-discord" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Discord</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item drivers-licence-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-car" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Drivers Licence</h3> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-dropbox" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Dropbox</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-facebook" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Facebook</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-github" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Github</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-google" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Google</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item address-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-address-book" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Home Address</h3> | |
<h4 class="vault-item-summary">123 Main Street</h4> | |
</div> | |
</div> | |
<div class="vault-item wifi-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-wifi" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Home Wi-fi</h3> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-instagram" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Instagram</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-linkedin" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">LinkedIn</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item medical-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-heartbeat" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Medical Insurance</h3> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-microsoft" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Microsoft</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item note-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-sticky-note" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Online Recovery Codes</h3> | |
</div> | |
</div> | |
<div class="vault-item passport-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-globe" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Passport</h3> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-patreon" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Patreon</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-paypal" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">PayPal</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-pinterest" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Pinterest</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-reddit" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Reddit</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-snapchat" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Snapchat</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item social-security-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-balance-scale" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Social Security</h3> | |
<h4 class="vault-item-summary">Ending in 1234</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-spotify" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Spotify</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-stack-overflow" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Stack Overflow</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-steam" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Steam</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-trello" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Trello</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-twitch" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Twitch</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-twitter" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Twitter</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-uber" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Uber</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item password-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fab fa-vimeo" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Vimeo</h3> | |
<h4 class="vault-item-summary">[email protected]</h4> | |
</div> | |
</div> | |
<div class="vault-item address-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-address-book" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Work Address</h3> | |
<h4 class="vault-item-summary">321 Main Street</h4> | |
</div> | |
</div> | |
<div class="vault-item note-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-sticky-note" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Work Door Access Codes</h3> | |
</div> | |
</div> | |
<div class="vault-item wifi-item" tabindex="0"> | |
<div class="vault-item-thumbnail"> | |
<i class="fas fa-wifi" aria-hidden="true"></i> | |
</div> | |
<div class="vault-item-info"> | |
<h3 class="vault-item-name">Work Wi-fi</h3> | |
</div> | |
</div> | |
<button class="add-vault-item-btn btn" aria-label="Add Item" title="Add Item"><span aria-hidden="true">+</span></button> | |
</div> | |
<!-- End of vault items container --> | |
</main> | |
<!-- End of main content --> | |
<!-- Sidebar --> | |
<nav class="sidebar"> | |
<button class="collapse-btn menu-btn btn" aria-label="Expand Menu" title="Expand Menu"> | |
<i class="fas fa-arrow-right" aria-hidden="true"></i> | |
</button> | |
<div class="vault-controls-menu"> | |
<div class="vault-menu-group"> | |
<button class="menu-btn btn current" aria-label="All Items" title="All Items"> | |
<i class="fas fa-home" aria-hidden="true"></i> | |
</button> | |
</div> | |
<div class="vault-menu-group"> | |
<button class="menu-btn btn" aria-label="Passwords" title="Passwords"> | |
<i class="fas fa-lock" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Notes" title="Notes"> | |
<i class="fas fa-sticky-note" aria-hidden="true"></i> | |
</button> | |
<button class=" menu-btn btn" aria-label="Addresses" title="Addresses"> | |
<i class="fas fa-address-book" aria-hidden="true"></i> | |
</button> | |
</div> | |
<div class="vault-menu-group"> | |
<button class="menu-btn btn" aria-label="Payment Cards" title="Payment Cards"> | |
<i class="fas fa-credit-card" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Bank Accounts" title="Bank Accounts"> | |
<i class="fas fa-building" aria-hidden="true"></i> | |
</button> | |
</div> | |
<div class="vault-menu-group"> | |
<button class="menu-btn btn" aria-label="Driver's Licenses" title="Driver's Licenses"> | |
<i class="fas fa-car" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Passports" title="Passports"> | |
<i class="fas fa-globe" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Social Security Numbers" title="Social Security Numbers"> | |
<i class="fas fa-balance-scale" aria-hidden="true"></i> | |
</button> | |
</div> | |
<div class="vault-menu-group"> | |
<button class="menu-btn btn" aria-label="Health Insurance Policies" title="Health Insurance Policies"> | |
<i class="fas fa-heartbeat" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Wi-Fi Passwords" title="Wi-Fi Passwords"> | |
<i class="fas fa-wifi" aria-hidden="true"></i> | |
</button> | |
</div> | |
</div> | |
<div class="vault-settings-menu"> | |
<button class="menu-btn btn" aria-label="Security Challenge" title="Security Challenge"> | |
<i class="fas fa-shield-alt" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Sharing Center" title="Sharing Center"> | |
<i class="fas fa-users" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Emergency Access" title="Emergency Access"> | |
<i class="fas fa-life-ring" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="Account Settings" title="Account Settings"> | |
<i class="fas fa-cog" aria-hidden="true"></i> | |
</button> | |
<button class="menu-btn btn" aria-label="More Options" title="More Options"> | |
<i class="fas fa-ellipsis-h" aria-hidden="true"></i> | |
</button> | |
</div> | |
</nav> | |
<!-- End of sidebar --> |
This pen shows how CSS Grid (with flexbox fallback) can be used to re-create the LastPass vault layout with no media queries.
A Pen by George W. Park on CodePen.
/* | |
Full-page view: | |
https://codepen.io/GeorgePark/full/PQweLr/ | |
*/ |
/* | |
All grid code is placed in a 'supports' rule (feature query) at the bottom of the CSS (Line 380). | |
The 'supports' rule will only run if your browser supports CSS grid. | |
Flexbox is used as a fallback so that browsers which don't support grid will still recieve an identical layout. | |
*/ | |
/* Base Styles */ | |
:root { | |
font-size: 10px; | |
} | |
body { | |
font-family: "Open Sans", Arial, sans-serif; | |
display: flex; | |
min-height: 100vh; | |
background-color: #fafafa; | |
position: relative; | |
} | |
.main-content { | |
display: flex; | |
flex-direction: column; | |
flex: 1; | |
order: 1; | |
} | |
.btn { | |
font-size: inherit; | |
font-weight: inherit; | |
background: none; | |
border: none; | |
color: inherit; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
cursor: pointer; | |
} | |
/* Masthead */ | |
.masthead { | |
display: flex; | |
align-items: center; | |
flex-basis: 6rem; | |
position: -webkit-sticky; | |
position: sticky; | |
top: 0; | |
background-color: #d12f2e; | |
color: #fff; | |
padding: 0 5rem; | |
} | |
.logo h1 { | |
font-size: 2.5rem; | |
font-weight: 600; | |
letter-spacing: -0.1rem; | |
white-space: nowrap; | |
} | |
.logo-icon { | |
padding-left: 0.5rem; | |
vertical-align: middle; | |
} | |
.vault-search { | |
flex: 1 0 19.2rem; | |
margin: 0 1.6rem; | |
position: relative; | |
} | |
.search-input { | |
font-size: 1.8rem; | |
font-weight: 400; | |
height: 4.4rem; | |
width: 98%; | |
background-color: rgba(255, 255, 255, 0.2); | |
color: #fff; | |
caret-color: #fff; | |
padding-left: 4.4rem; | |
border: none; | |
} | |
.search-input:hover, | |
.search-input:focus { | |
background-color: rgba(255, 255, 255, 0.3); | |
outline: none; | |
} | |
.search-input::-webkit-input-placeholder { | |
color: rgba(255, 255, 255, 0.6); | |
} | |
.search-input:-ms-input-placeholder { | |
color: rgba(255, 255, 255, 0.6); | |
} | |
.search-input::-ms-input-placeholder { | |
color: rgba(255, 255, 255, 0.6); | |
} | |
.search-input::placeholder { | |
color: rgba(255, 255, 255, 0.6); | |
} | |
.search-icon { | |
font-size: 1.7rem; | |
position: absolute; | |
top: 2.2rem; | |
left: 2.2rem; | |
transform: translate(-50%, -50%); | |
} | |
.user-settings { | |
display: flex; | |
align-items: center; | |
font-weight: 400; | |
line-height: 1.2; | |
height: 100%; | |
padding: 0 0.8rem; | |
cursor: pointer; | |
} | |
.user-settings:hover { | |
background-color: #f14f4e; | |
} | |
.user-image { | |
font-size: 3.2rem; | |
} | |
.user-info { | |
margin: 0 1rem; | |
} | |
.user-email { | |
font-size: 1.3rem; | |
} | |
.user-type { | |
font-size: 1.1rem; | |
color: #f1c1c0; | |
} | |
.user-arrow-btn { | |
font-size: 1.5rem; | |
} | |
/* Vault Items Controls */ | |
.vault-items-controls { | |
display: flex; | |
align-items: center; | |
position: -webkit-sticky; | |
position: sticky; | |
top: 6rem; | |
padding: 1.8rem 5rem; | |
background-color: #fafafa; | |
} | |
.vault-items-controls h2 { | |
flex: 1; | |
font-size: 1.9rem; | |
font-weight: 700; | |
color: #000; | |
} | |
.vault-items-controls-group { | |
display: flex; | |
} | |
.vault-items-controls-group .vault-items-controls-btn { | |
flex: 1; | |
} | |
.vault-items-controls-btn { | |
font-size: 2rem; | |
width: 4.8rem; | |
height: 4rem; | |
background-color: #fff; | |
color: #888; | |
box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.2); | |
border-radius: 0.2rem; | |
margin-right: 1rem; | |
} | |
.vault-items-controls-btn.current, | |
.vault-items-controls-btn:nth-child(5) { | |
margin-right: 0; | |
} | |
.vault-items-controls-btn:hover { | |
background-color: #ddd; | |
} | |
.vault-items-controls-btn.current { | |
background-color: #888; | |
color: #fff; | |
} | |
/* Vault Items */ | |
.vault-items-container { | |
display: flex; | |
flex-wrap: wrap; | |
align-content: flex-start; | |
flex: 1; | |
padding: 0 5rem 1.5rem; | |
} | |
.vault-item { | |
display: flex; | |
flex-direction: column; | |
flex-basis: 27rem; | |
height: 12.8rem; | |
margin-right: 1.5rem; | |
margin-bottom: 3rem; | |
border-radius: 0.2rem; | |
box-shadow: 0 0.1rem 0.3rem rgba(0, 24, 48, 0.2); | |
cursor: pointer; | |
} | |
.vault-item-info { | |
flex-basis: 5rem; | |
display: flex; | |
flex-direction: column; | |
justify-content: center; | |
background-color: #fff; | |
padding: 0 0.9rem; | |
line-height: 1.2; | |
} | |
.vault-item-name { | |
font-size: 1.5rem; | |
font-weight: 600; | |
color: #465e7b; | |
} | |
.vault-item-summary { | |
font-size: 1.2rem; | |
font-weight: 400; | |
color: #666; | |
} | |
.vault-item-thumbnail { | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
flex: 1; | |
font-size: 4.5rem; | |
color: #fff; | |
} | |
.address-item .vault-item-thumbnail { | |
background-color: #0a6353; | |
} | |
.bank-account-item .vault-item-thumbnail { | |
background-color: #4fa553; | |
} | |
.drivers-licence-item .vault-item-thumbnail { | |
background-color: #424f9f; | |
} | |
.medical-item .vault-item-thumbnail { | |
background-color: #e1403f; | |
} | |
.note-item .vault-item-thumbnail { | |
background-color: #9838b0; | |
} | |
.passport-item .vault-item-thumbnail { | |
background-color: #17a0e5; | |
} | |
.password-item .vault-item-thumbnail { | |
background-color: #4e8ff1; | |
} | |
.payment-card-item .vault-item-thumbnail { | |
background-color: #84b750; | |
} | |
.social-security-item .vault-item-thumbnail { | |
background-color: #fcd23e; | |
} | |
.wifi-item .vault-item-thumbnail { | |
background-color: #f25d2d; | |
} | |
.add-vault-item-btn { | |
position: fixed; | |
right: 2rem; | |
bottom: 2rem; | |
height: 5.8rem; | |
width: 5.8rem; | |
font-size: 2.8rem; | |
background-color: #d32d27; | |
color: #fff; | |
border-radius: 50%; | |
box-shadow: 0.4rem 0.4rem 1rem rgba(0, 0, 0, 0.3); | |
} | |
/* Sidebar */ | |
.sidebar { | |
display: flex; | |
flex-direction: column; | |
flex: 0 0 6rem; | |
position: -webkit-sticky; | |
position: sticky; | |
top: 0; | |
height: 100vh; | |
font-size: 20px; | |
background-color: #3c4a54; | |
color: #88959e; | |
} | |
.vault-controls-menu { | |
display: flex; | |
flex-direction: column; | |
flex: 1 0 0; | |
overflow-y: auto; | |
} | |
.vault-controls-menu::-webkit-scrollbar { | |
width: 1.2rem; | |
} | |
.vault-controls-menu::-webkit-scrollbar-track { | |
background-color: #3c4a54; | |
} | |
.vault-controls-menu::-webkit-scrollbar-thumb { | |
background-color: #22313b; | |
border-radius: 0.5rem; | |
border: 0.2rem solid #3c4a54; | |
} | |
.vault-menu-group { | |
margin-bottom: 1.8rem; | |
} | |
.vault-menu-group:last-of-type { | |
margin-bottom: 1.8rem; | |
} | |
.vault-settings-menu { | |
font-size: 2.4rem; | |
box-shadow: 0 -0.2rem 0.2rem #36424b; | |
z-index: 1; | |
} | |
.menu-btn { | |
height: 4rem; | |
flex-shrink: 0; | |
width: 100%; | |
} | |
.menu-btn:hover { | |
background-color: #36424b; | |
} | |
.menu-btn.current { | |
background-color: #22313b; | |
color: #fff; | |
} | |
.collapse-btn { | |
height: 6rem; | |
} | |
/* | |
The following code will only run if your browser supports CSS grid. | |
Remove or comment-out the code block below to see how the browser will fall-back to flexbox styling. | |
*/ | |
@supports (display: grid) { | |
body { | |
display: grid; | |
grid-template-columns: 6rem 1fr; | |
} | |
.main-content { | |
display: grid; | |
grid-template-rows: 6rem auto 1fr; | |
} | |
.masthead { | |
display: grid; | |
grid-template-columns: auto minmax(19.2rem, 1fr) auto; | |
grid-column-gap: 1.6rem; | |
} | |
.vault-items-container { | |
display: grid; | |
grid-template-columns: repeat(auto-fill, 27rem); | |
grid-gap: 3rem 1.5rem; | |
} | |
.vault-items-controls { | |
display: grid; | |
grid-template-columns: 1fr repeat(4, auto); | |
grid-column-gap: 1rem; | |
} | |
.vault-items-controls-group { | |
display: grid; | |
grid-template-columns: repeat(2, auto); | |
} | |
.vault-item { | |
display: grid; | |
grid-template-rows: 1fr 5rem; | |
} | |
.side-bar { | |
display: grid; | |
grid-template-rows: auto minmax(auto, 1fr) auto; | |
} | |
.vault-controls-menu { | |
display: grid; | |
grid-row-gap: 1.8rem; | |
align-content: start; | |
} | |
.user-settings { | |
display: grid; | |
grid-template-columns: repeat(3, auto); | |
grid-column-gap: 1rem; | |
} | |
.user-info, | |
.vault-item, | |
.vault-search, | |
.vault-menu-group, | |
.vault-items-controls-btn { | |
margin: 0; | |
} | |
} |