@import "fonts"; @import "mixins"; * { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } body, html { font-size: 14px; line-height: 1.5; font-family: OpenSans, "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; font-weight: 300; height: 100%; margin: 0; padding: 0; background: $menu_color; overflow: hidden; } body { @include flexbox(); flex-flow: row nowrap; } a { text-decoration: none; } input, textarea, select { font-size: 1em; font-weight: 300; padding: $padding/6 $padding/4; background: $background_color; border: 1px solid #f2f2f2; } .button { color: $primary_color; font-weight: 300; padding: $padding/4; cursor: pointer; border: 1px solid $primary_color; border-radius: $border_radius; margin: 0 $padding/4; &:hover { background: $primary_color; color: $background_color; } } /* Header */ .header { width: $header_width; min-width: $header_width; position: relative; a { color: #FFF; letter-spacing: 1px; } .navigation { .logo { background: $primary_color; display: block; text-align: center; position: relative; font-family: Lobster, serif; color: #FFF; font-size: 38px; line-height: $header_height; height: $header_height; span { position: absolute; display: block; height: 100%; left: 50%; @include transition(all 200ms $cubic); @include translateX(-50%); &:nth-child(even){ @include translateX(45%); opacity: 0; } } &:hover { span{ @include translateX(-153%); opacity: 0; &:nth-child(even){ @include translateX(-50%); opacity: 1; } } } } ul { padding: 0; margin: 0; li a { padding: $padding/2 $padding; display: block; } } } .menu, .search_form, .notification_menu { position: absolute; z-index: 200; bottom: $padding / 3; width: 44px; height: 44px; > a { display: inline-block; height: 100%; width: 100%; text-align: center; line-height: 44px; } } .notification_menu { left: 50%; @include translateX(-50%); .button:before { font-size: 20px; top: -2px; } .wrapper { width: 320px; } ul { min-height: 60px; max-height: 300px; overflow: auto; &:empty:after { content: 'No notifications (yet)'; width: 100%; position: absolute; line-height: 60px; font-size: 15px; font-style: italic; opacity: .4; left: $padding * 2; } &:empty:before { content: '\e808'; font-family: "icons"; height: 100%; line-height: 60px; margin-left: $padding; text-align: center; opacity: .4; } } } .menu { left: $padding / 3; .button:before { font-size: 20px; top: -2px; } } .search_form { right: $padding / 3; } .more_menu { .wrapper { bottom: 0; left: 44px; right: auto; padding-left: 4px; } } } /* Content */ .content { @include flex(1 auto); background: $background_color; border-radius: $border_radius 0 0 $border_radius; overflow: hidden; h1, h2, h3 { padding: 0; margin: 0; } .pages { height: 100%; width: 100%; overflow: hidden; position: relative; } .footer { position: fixed; bottom: 0; height: $padding; width: 100%; } } /* Page */ .page { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: none; padding: $padding 0; overflow: auto; &.active { display: block; } .navigation { @include flexbox(); position: fixed; top: 0; height: $header_height; left: $header_width; right: 0; background: $background_color; border-radius: $border_radius 0 0 0; z-index: 100; ul { @include flex(1 auto); list-style: none; li { display: inline-block; a { font-size: 24px; line-height: $header_height; padding: $padding; color: rgba(0,0,0,.5); } } .active a { color: #000; } } } } /* Page levels */ @for $i from 1 through 4 { .level_#{$i} { z-index: #{$i * 10}; } } /* Menu basis */ .more_menu { position: relative; line-height: 1em; .button { font-size: 24px; cursor: pointer; display: inline-block; &:before { position: relative; } } .wrapper { display: none; position: absolute; right: 0; background: $primary_color; z-index: 5000; box-shadow: 0 0 15px 2px rgba(0,0,0,.15); border-radius: $border_radius 0 0 $border_radius; &:before { @include transform(rotate(45deg) translateY(-60%)); content: ''; display: block; position: absolute; background: $primary_color; height: 10px; width: 10px; left: -9px; bottom: 11px; z-index: 1; opacity: 0; border-radius: 2px; // border: 8px solid $primary_color; // border-color: transparent $primary_color transparent transparent; } ul { @include transform(translateZ(0)); background: $background_color; position: relative; z-index: 2; overflow: hidden; border-radius: $border_radius 0 0 $border_radius; } ul li { display: block; line-height: 1em; a { display: block; color: $text_color; padding: $padding/4 $padding/2; font-size: 1em; line-height: 22px; white-space: nowrap; } &:first-child a { padding-top: $padding/2; } &:last-child a { padding-bottom: $padding/2; } } } &.show { .wrapper { display: block; &:before { opacity: 1; } } } } /* Messages */ .messages { position: fixed; right: 0; bottom: 0; width: 320px; z-index: 20; overflow: hidden; font-size: 14px; font-weight: bold; padding: 5px; .message { overflow: hidden; transition: all .6s cubic-bezier(0.9,0,0.1,1); width: 100%; position: relative; max-height: 0; font-size: 1.1em; font-weight: normal; transform: scale(0); background: $primary_color; margin-bottom: 4px; border-radius: $border_radius; box-shadow: 0 0 15px 2px rgba(0,0,0,.15); .inner { padding: 15px 30px 15px 20px; background: $background_color; margin-bottom: 4px; border-radius: $border_radius; } &.sticky { background-color: $primary_color; } &.show { max-height: 100px; transform: scale(1); } &.hide { max-height: 0; padding: 0 20px; margin: 0; transform: scale(0); } } .close { position: absolute; padding: 10px 8px; top: 0; right: 0; color: #FFF; } } /* Mask */ .mask{ background: rgba(0,0,0, .8); z-index: 100; text-align: center; position: absolute; top: 0; right: 0; bottom: 0; left: 0; $spinner_size: 22px; .spinner { position: absolute; top: 50%; left: 50%; width: $spinner_size; height: $spinner_size; display: block; background: white; margin-top: -($spinner_size/2); margin-left: -($spinner_size/2); outline: 1px solid transparent; @include animation(rotating 2.5s $cubic infinite normal); } } @keyframes rotating { 0% { @include transform(rotate(0deg) scale(1.6)); border-radius: 1px; } 48% { @include transform(rotate(360deg) scale(1)); border-radius: 50%; } 52% {} 100% { @include transform(rotate(720deg) scale(1.6)); border-radius: 1px; } } .table { .head { font-weight: bold; } .item { @include flexbox(); border-bottom: 1px solid rgba(0,0,0,.2); &:last-child { border-bottom: none; } span { padding: 1px 2px; &:first-child { padding-left: 0; } &:last-child { padding-right: 0; } } } }