// studio - base styling // ==================== // Table of Contents // * +Basic Setup // * +Typography - Basic // * +Typography - Primary Content // * +Typography - Secondary Content // * +Typography - Loose Headings // * +Layout - Basic // * +Layout - Basic Page Header // * +Layout - Basic Page Content // * +Layout - Primary Content // * +Layout - Supplemental Content // * +Layout - Grandfathered // * +UI - Actions // * +UI - Misc // * +Utility - Basic // * +JS Dependent // +Basic Setup // ==================== html { font-size: 62.5%; height: 102%; // force scrollbar to prevent jump when scroll appears, cannot use overflow because it breaks drag } body { @extend %t-copy-base; min-width: $fg-min-width; background: $gray-l5; color: $gray-d2; } body, input, button { font-family: 'Open Sans', sans-serif; } a { @include transition(color $tmg-f2 ease-in-out 0s); text-decoration: none; color: $blue; &:hover { color: $orange-d1; } } h1 { @extend %t-title4; @extend %t-light; } .waiting { opacity: 0.1; } .page-actions { margin-bottom: ($baseline*1.5); } .wrapper { @include clearfix(); @include box-sizing(border-box); width: 100%; } // +Typography - Basic // ==================== .page-header { @extend %t-title3; @extend %t-strong; display: block; color: $gray-d3; .navigation, .subtitle { @extend %t-title7; @extend %t-regular; position: relative; top: ($baseline/4); display: block; color: $gray-l2; } } .section-header { @extend %t-title4; @extend %t-strong; .subtitle { @extend %t-title7; } } .area-header { @extend %t-title6; @extend %t-strong; .subtitle { @extend %t-title8; } } .area-subheader { @extend %t-title7; @extend %t-strong; .subtitle { @extend %t-title9; } } // +Typography - Primary Content // ==================== .content-primary { .section-header { color: $gray-d3; .subtitle { color: $gray-l2; } } .content-header { color: $gray-d3; .subtitle { color: $gray-l2; } } .area-header { color: $gray-d3; .subtitle { color: $gray-l2; } } .area-subheader { color: $gray-d3; .subtitle { color: $gray-l2; } } } // +Typography - Secondary Content // ==================== .content-secondary { .section-header { color: $gray-d3; .subtitle { color: $gray-l2; } } .content-header { color: $gray-d3; .subtitle { color: $gray-l2; } } .content-header { color: $gray-d3; .subtitle { color: $gray-l2; } } } // +Typography - Loose Headings (BT: needs to be removed once html is clean) // ==================== .title-1, .title-2, .title-3, .title-4, .title-5, .title-6 { @extend %t-strong; } .title-1 { @extend %t-title3; margin-bottom: ($baseline*1.5); } .title-2 { @extend %t-title4; margin-bottom: $baseline; } .title-3 { @extend %t-title5; margin-bottom: ($baseline/2); } .title-4 { @extend %t-title7; @extend %t-regular; margin-bottom: $baseline; } .title-5 { @extend %t-title7; @extend %t-regular; color: $gray-l1; margin-bottom: $baseline; } .title-6 { @extend %t-title7; @extend %t-regular; color: $gray-l2; margin-bottom: $baseline; } p, ul, ol, dl { margin-bottom: ($baseline/2); &:last-child { margin-bottom: 0; } } // +Layout - Basic // ==================== .wrapper-view { } // +Layout - Basic Page Header // ==================== .wrapper-mast { margin: ($baseline*1.5) 0 0 0; padding: 0 $baseline; position: relative; .mast, .metadata { @include clearfix(); position: relative; max-width: $fg-max-width; min-width: $fg-min-width; width: flex-grid(12); margin: 0 auto $baseline auto; color: $gray-d2; } .mast { border-bottom: 1px solid $gray-l4; padding-bottom: ($baseline/2); // layout with actions .page-header { width: flex-grid(12); } // layout with actions &.has-actions { @include clearfix(); .page-header { @include float(left); @include margin-right(flex-gutter()); width: flex-grid(6,12); } .nav-actions { @include float(left); @include text-align(right); position: relative; bottom: -($baseline*0.75); width: flex-grid(6,12); .nav-item { display: inline-block; vertical-align: top; @include margin-right($baseline/2); &:last-child { @include margin-right(0); } } // buttons .button { padding: ($baseline/4) ($baseline/2) ($baseline/3) ($baseline/2); } .new-button { } .view-button { } } } // layout with actions &.has-subtitle { .nav-actions { bottom: -($baseline*1.5); } } // layout with navigation &.has-navigation { .nav-actions { bottom: -($baseline*1.5); } .navigation-link { @extend %cont-truncated; display: inline-block; vertical-align: bottom; // correct for extra padding in FF max-width: 250px; &.navigation-current { @extend %ui-disabled; color: $gray; max-width: 250px; &:before { color: $gray; } } } .navigation-link:before { content: " / "; margin: ($baseline/4); color: $gray; &:hover { color: $gray; } } .navigation .navigation-link:first-child:before { content: ""; margin: 0; } } } // CASE: wizard-based mast .mast-wizard { .page-header-sub { @extend %t-title4; color: $gray; font-weight: 300; } .page-header-super { @extend %t-title4; float: left; width: flex-grid(12,12); margin-top: ($baseline/2); border-top: 1px solid $gray-l4; padding-top: ($baseline/2); font-weight: 600; } } // page metadata/action bar .metadata { } } // +Layout - Basic Page Content // ==================== .wrapper-content { margin: 0; padding: 0 $baseline; position: relative; } .content { @include clearfix(); @extend %t-copy-base; max-width: $fg-max-width; min-width: $fg-min-width; width: flex-grid(12); margin: 0 auto; color: $gray-d2; header { position: relative; margin-bottom: $baseline; border-bottom: 1px solid $gray-l4; padding-bottom: ($baseline/2); .title-sub { @extend %t-copy-sub1; display: block; margin: 0; color: $gray-l2; } .title-1 { @extend %t-title3; margin: 0; padding: 0; font-weight: 600; color: $gray-d3; } } } .content-primary, .content-supplementary { @include box-sizing(border-box); } // +Layout - Primary Content // ==================== .content-primary { .title-1 { @extend %t-title3; } .title-2 { @extend %t-title4; margin: 0 0 ($baseline/2) 0; } .title-3 { @extend %t-title6; margin: 0 0 ($baseline/2) 0; } header { @include clearfix(); .title-2 { width: flex-grid(5, 12); margin: 0 flex-gutter() 0 0; float: left; } .tip { @extend %t-copy-sub2; width: flex-grid(7, 12); float: right; margin-top: ($baseline/2); text-align: right; color: $gray-l2; } } } // +Layout - Supplemental Content // ==================== .content-supplementary { > section { margin: 0 0 $baseline 0; } } // +Layout - Grandfathered // ==================== .main-wrapper { position: relative; margin: 0 ($baseline*2); } .inner-wrapper { @include clearfix(); position: relative; max-width: 1280px; margin: auto; > article { clear: both; } } .main-column { clear: both; @include float(left); width: 70%; } .sidebar { @include float(right); width: 28%; } .left { @include float(left); } .right { @include float(right); } // +UI - Actions // ==================== .new-unit-item, .new-subsection-item, .new-policy-item { @include grey-button(); @extend %t-action5; margin: ($baseline/2); padding: 3px ($baseline/2) 4px ($baseline/2); .new-folder-icon, .new-policy-icon, .new-unit-icon { position: relative; top: 2px; } } .item-actions { position: absolute; top: 5px; @include right(5px); .edit-button, .delete-button, .visibility-toggle { float: left; margin-right: 13px; color: #a4aab7; } } // +UI - Misc // ==================== hr.divide { @extend %cont-text-sr; } .item-details { float: left; padding: ($baseline/2) 0; } .details { @extend %t-copy-sub1; display: none; margin-bottom: ($baseline*1.5); } .window { .window-contents { padding: 20px; } .header { @include linear-gradient(top, rgba(255, 255, 255, .4), rgba(255, 255, 255, 0)); @extend %t-title7; padding: 6px 14px; border-bottom: 1px solid $mediumGrey; border-radius: 2px 2px 0 0; background-color: $lightBluishGrey; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); } label { display: block; margin-bottom: 6px; @extend %t-strong; &.inline-label { display: inline; } .description { @extend %t-copy-sub2; @extend %t-regular; display: block; font-style: italic; color: #999; } } .row { margin-bottom: ($baseline/2); padding-bottom: ($baseline/2); border-bottom: 1px solid #cbd1db; } } .tooltip { @include transition(opacity $tmg-f3 ease-out 0s); @include font-size(12); @extend %t-regular; @extend %ui-depth5; position: absolute; top: 0; left: 0; padding: 0 10px; border-radius: 3px; background: rgba(0, 0, 0, 0.85); line-height: 26px; color: $white; pointer-events: none; opacity: 0.0; &:after { @include font-size(20); content: '▾'; display: block; position: absolute; bottom: -14px; left: 50%; margin-left: -7px; color: rgba(0, 0, 0, 0.85); } } // +Utility - Basic // ==================== // UI - semantically hide text .sr { @extend %cont-text-sr; } // UI - faking a link's behavior .fake-link { @extend %ui-fake-link; } // UI - disabled .is-disabled { @extend %ui-disabled; } // ui - semantic + visual divider hr.divider { @extend %cont-text-sr; } // ui - skipnav .nav-skip { @extend %t-action3; display: block; position: absolute; left: 0px; top: -($baseline*30); width: 1px; height: 1px; overflow: hidden; background: $white; border-bottom: 1px solid $gray-l4; padding: ($baseline*0.75) ($baseline/2); &:focus, &:active { position: static; width: auto; height: auto; } } // lean/simple modal window .content-modal { @include border-bottom-radius(2px); @include box-sizing(border-box); position: relative; display: none; width: 700px; padding: ($baseline); border: 1px solid $gray-d1; background: $white; box-shadow: 0 2px 4px $shadow-d1; overflow: hidden; .action-modal-close { @include transition(top $tmg-f3 ease-in-out 0s); @include border-bottom-radius(3px); position: absolute; top: -3px; right: $baseline; padding: ($baseline/4) ($baseline/2) 0 ($baseline/2); background: $gray-l3; text-align: center; .label { @extend %cont-text-sr; } .icon { @extend %t-action1; color: $white; } &:hover { top: 0; background: $blue; } } img { @include box-sizing(border-box); width: 100%; overflow-y: scroll; padding: ($baseline/10); border: 1px solid $gray-l4; } .title { @extend %t-title5; @extend %t-strong; margin: 0 0 ($baseline/2) 0; color: $gray-d3; } .description { @extend %t-copy-sub2; margin-top: ($baseline/2); color: $gray-l1; } }