$break-medium: 980px; $nav-width: 240px; $site-width: 1600px; @import url(http://fonts.googleapis.com/css?family=Open+Sans:700,300,600,800,400); html, body { margin: 0; padding: 0; background: lighten(#3a4043, 15%); font-family: 'Open Sans', sans-serif; } .l-site { margin: 0 auto; max-width: $site-width; position: relative; z-index: 1; &:before { content: ""; position: fixed; top: 0; left: 0; bottom: 0; width: 50%; display: block; background: #3a4043; z-index: 1; } } .l-page { position: relative; margin-left: $nav-width; background: #fff; z-index: 2; box-shadow: 1px 0 25px rgba(0,0,0,0.25); @include transition(0.35s); } .l-nav { position: absolute; width: $nav-width; display: block; background: #3a4043; top: 0; bottom: 0; left: 0; z-index: 3; } .band { h1 { margin: 0; padding: 0 0 10px; color: #fff; font-size: 32px; } p { margin: 0; padding: 0; color: #fff; font-size: 17px; } } .band-container { left: 0; right: 0; margin: 0 auto; min-height: 85vh; max-width: 960px; display: table; position: relative; padding: 0 3em; } .band-inner { display: table-cell; vertical-align: middle; padding: 3em 0 4em; } .band-a { background: #69D2E7; } .band-b { background: #F9D423; } .band-c { background: #F38630; } .band-d { background: #FF4E50; } .nav { width: ($nav-width - 60); position: fixed; top: 0; bottom: 0; margin: 0; padding: 30px; overflow: auto; ul { margin: 0; padding: 0; list-style: none; } li { margin: 0; padding: 0; @include transition(0.25s); } a { color: #fff; text-decoration: none; font-size: 20px; font-weight: 800; display: block; padding: 10px 0; } .nav-primary { opacity: 1; &:hover { opacity: 0.7; } } .nav-secondary { opacity: 0.4; &:hover { opacity: 0.7; } } } .menu { display: none; position: fixed; top: 25px; left: 1.5em; width: 24px; height: 24px; cursor: pointer; z-index: 10; &:hover { .menu-hamburger:before, .menu-hamburger:after { width: 24px; } } &.is-active { .menu-hamburger { background: none; } .menu-hamburger:before, .menu-hamburger:after { top: 0; width: 24px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .menu-hamburger:after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } .menu-hamburger:hover { -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); } } } .menu-hamburger { position: relative; width: 24px; height: 4px; margin: 10px 0; background: #fff; border-radius: 4px; transition: all 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55); &:before, &:after { content: ''; display: block; width: 24px; height: 4px; background: #fff; position: absolute; border-radius: 4px; transition: all 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55); } &:before { top: -8px; left: 0; width: 22px; } &:after { top: 8px; width: 16px; left: 0; } } @media screen and (max-width: $break-medium) { .menu { display: block; } .l-site { &.is-open { overflow: hidden; .l-page { @include transform(translateX($nav-width)); } } } .l-page { margin-left: 0; z-index: 3; } .l-nav { z-index: 2; } .band-container { padding: 0 1.5em; } }