@import "bourbon"; // Main Colors $accent: null; $white: #ffffff; $black: #000000; $dark-gray: lighten($black, 20%); $gray: lighten($black, 40%); $light-gray: lighten($black, 60%); $lighter-gray: lighten($black, 80%); // Pen Settings $primary: #363636; $accent: #ed2553; $max-width: 460px; // Mixins $level: 1; @mixin materialShadow($level) { @if $level == 1 { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } @else if $level == 2 { box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } @else if $level == 3 { box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } @else if $level == 4 { box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } @else if $level == 5 { box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } } body { background: #e9e9e9; color: $gray; font-family: 'RobotoDraft', 'Roboto', sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Pen Title */ .pen-title { padding: 50px 0; text-align: center; letter-spacing: 2px; h1 { margin: 0 0 20px; font-size: 48px; font-weight: 300; } span { font-size: 12px; .fa { color: $accent; } a { color: $accent; font-weight: 600; text-decoration: none; } } } /* Rerun */ .rerun { margin: 0 0 30px; text-align: center; a { cursor: pointer; display: inline-block; background: $accent; border-radius: 3px; @include materialShadow(1); padding: 10px 20px; color: $white; text-decoration: none; @include transition(0.3s ease); &:hover { @include materialShadow(2); } } } /* Scroll To Bottom */ #codepen { position: fixed; bottom: 30px; right: 30px; background: $primary; width: 56px; height: 56px; border-radius: 100%; @include materialShadow(1); @include transition(0.3s ease); color: $white; text-align: center; i { line-height: 56px; } &:hover { @include materialShadow(3); } } /* CodePen */ #portfolio { @extend #codepen; bottom: 96px; right: 36px; background: $accent; width: 44px; height: 44px; @include animation(buttonFadeInUp 1s ease); i { line-height: 44px; } } /* Container */ .container { position: relative; max-width: $max-width; width: 100%; margin: 0 auto 100px; &.active { .card { &:first-child { background: darken($white, 5%); margin: 0 15px; } &:nth-child(2) { background: darken($white, 2%); margin: 0 10px; } &.alt { top: 20px; right: 0; width: 100%; min-width: 100%; height: auto; border-radius: 5px; padding: 60px 0 40px; overflow: hidden; .toggle { position: absolute; top: 40px; right: -70px; box-shadow: none; @include transform(scale(10)); transition: transform .3s ease; &:before { content: ''; } } .title, .input-container, .button-container { left: 0; opacity: 1; visibility: visible; transition: .3s ease; } .title { transition-delay: .3s; } .input-container { transition-delay: .4s; &:nth-child(2) { transition-delay: .5s; } &:nth-child(3) { transition-delay: .6s; } } .button-container { transition-delay: .7s; } } } } } /* Card */ .card { position: relative; background: $white; border-radius: 5px; padding: 60px 0 40px 0; box-sizing: border-box; @include materialShadow(1); transition: .3s ease; &:first-child { background: darken($white, 2%); height: 10px; border-radius: 5px 5px 0 0; margin: 0 10px; padding: 0; } /* Title */ .title { position: relative; z-index: 1; border-left: 5px solid $accent; margin: 0 0 35px; padding: 10px 0 10px 50px; color: $accent; font-size: 32px; font-weight: 600; text-transform: uppercase; } /* Inputs */ .input-container { position: relative; margin: 0 60px 50px; input { outline: none; z-index: 1; position: relative; background: none; width: 100%; height: 60px; border: 0; color: #212121; font-size: 24px; font-weight: 400; &:focus { ~ label { color: #9d9d9d; transform: translate(-12%, -50%) scale(0.75); } ~ .bar { &:before, &:after { width: 50%; } } } &:valid { ~ label { color: #9d9d9d; transform: translate(-12%, -50%) scale(0.75); } } } label { position: absolute; top: 0; left: 0; color: #757575; font-size: 24px; font-weight: 300; line-height: 60px; @include transition(0.2s ease); } .bar { position: absolute; left: 0; bottom: 0; background: #757575; width: 100%; height: 1px; &:before, &:after { content: ''; position: absolute; background: $accent; width: 0; height: 2px; transition: .2s ease; } &:before { left: 50%; } &:after { right: 50%; } } } /* Button */ .button-container { margin: 0 60px; text-align: center; button { outline: 0; cursor: pointer; position: relative; display: inline-block; background: 0; width: 240px; border: 2px solid #e3e3e3; padding: 20px 0; font-size: 24px; font-weight: 600; line-height: 1; text-transform: uppercase; overflow: hidden; transition: .3s ease; span { position: relative; z-index: 1; color: #ddd; transition: .3s ease; } &:before { content: ''; position: absolute; top: 50%; left: 50%; display: block; background: $accent; width: 30px; height: 30px; border-radius: 100%; margin: -15px 0 0 -15px; opacity: 0; transition: .3s ease; } &:hover, &:active, &:focus { border-color: $accent; span { color: $accent; } } &:active, &:focus { span { color: $white; } &:before { opacity: 1; @include transform(scale(10)); } } } } /* Footer */ .footer { margin: 40px 0 0; color: #d3d3d3; font-size: 24px; font-weight: 300; text-align: center; a { color: inherit; text-decoration: none; transition: .3s ease; &:hover { color: darken(#d3d3d3, 10%); } } } /* Alt Card */ &.alt { position: absolute; top: 40px; right: -70px; z-index: 10; width: 140px; height: 140px; background: none; border-radius: 100%; box-shadow: none; padding: 0; transition: .3s ease; /* Toggle */ .toggle { position: relative; background: $accent; width: 140px; height: 140px; border-radius: 100%; @include materialShadow(1); color: $white; font-size: 58px; line-height: 140px; text-align: center; cursor: pointer; &:before { content: '\f040'; display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transform: translate(0, 0); } } .title, .input-container, .button-container { left: 100px; opacity: 0; visibility: hidden; } /* Title */ .title { position: relative; border-color: $white; color: $white; .close { cursor: pointer; position: absolute; top: 0; right: 60px; display: inline; color: $white; font-size: 58px; font-weight: 400; &:before { content: '\00d7'; } } } /* Input */ .input-container { input { color: $white; &:focus { ~ label { color: $white; } ~ .bar { &:before, &:after { background: $white; } } } &:valid { ~ label { color: $white; } } } label { color: rgba($white, 0.8); } .bar { background: rgba($white, 0.8); } } /* Button */ .button-container { button { width: 100%; background: $white; border-color: $white; span { color: $accent; } &:hover { background: rgba($white, 0.9); } &:active, &:focus { &:before { display: none; } } } } } } /* Keyframes */ @include keyframes(buttonFadeInUp) { 0% { bottom: 30px; opacity: 0; } }