$font-family: Helvetica, Arial, sans-serif !default; $primary-color: lightblue !default; $primary-dark-color: navy !default; $accent-color: red !default; $header-background: $primary-dark-color !default; $hero-background: $primary-dark-color !default; $superhero-background: $primary-dark-color !default; $hub-software--primary-color: lightsalmon !default; $hub-software--primary-dark-color: tomato !default; $hub-software--hero-background: $hub-software--primary-dark-color !default; $hub-specs--primary-color: lightpink !default; $hub-specs--primary-dark-color: palevioletred !default; $hub-specs--hero-background: $hub-specs--primary-dark-color !default; $gutter: 30px; $featured-cols: 3; $grid-cols: 4; $widescreen-breakpoint: 1140px + $gutter * 2; $bigscreen-breakpoint: 900px + $gutter * 2; @import "open-project-base"; @import "open-project-header-footer"; main { /* Generic */ body.layout-home > & { > .underlay { > svg { display: none; } @media screen and (min-width: $bigscreen-breakpoint) { position: relative; > * { z-index: 1; } > svg { display: block; z-index: 0; position: absolute; } // Top section(s) background &:first-child { padding-bottom: 80px; background-color: #F7F7F7; > svg { top: 0; width: 100%; height: 35vw; } } } } > .underlay > .featured-posts { @extend .main-section; .items { @extend .item-grid; justify-content: center; } .item { @extend .item-card; @extend .post-card; @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08)); padding: 32px 30px; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08); .header { font-size: 22px; } .body, .meta { font-size: 15px; } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} ); } } } } body.layout-spec-index > &, body.layout-software-index > & { > .item-filter { padding: 18px 40px; background-color: #F3F3F3; align-self: stretch; text-align: center; ul.tags { list-style: none; margin: 0; padding: 0; font-size: 14px; > li { display: inline; margin: 0; padding: 0; > * { font-weight: 700; margin: 0 4px; padding: 3px 10px 3px 10px; white-space: nowrap; } > a { color: grey; } } } } } // Item filter: color override for selected tags > .item-filter ul.tags li > span { body.layout-software-index > & { color: $hub-software--primary-color; background-color: rgba($hub-software--primary-color, 0.1); } body.layout-spec-index > & { color: $hub-specs--primary-color; background-color: rgba($hub-specs--primary-color, 0.1); } } body.layout-blog-index > & { > .items { @extend .item-grid; @extend .index-item-grid; .items.one-row { justify-content: center; } .item { @extend .item-card; @extend .post-card; @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08)); padding: 32px 30px; .header { font-size: 22px; } .body { font-size: 15px; } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} ); margin-bottom: $gutter; } } } } body.layout-post > & { > article { @extend .main-article; > header > .meta { @extend .post-meta-row; margin-bottom: 36px; } aside.social-links { position: relative; top: -10px; margin-bottom: 14px; @media screen and (min-width: $bigscreen-breakpoint) { // "Remove" from the flow, and offset to the left $height: 100px; height: $height; width: 80px; margin-bottom: -$height; top: 10px; left: -140px; display: flex; flex-flow: column nowrap; align-items: flex-start; } > .ico { margin-right: 5px; @media screen and (min-width: $bigscreen-breakpoint) { margin-right: 0; margin-bottom: 5px; } .fa-layers { > .fa-circle { color: $primary-color; } > :not(.fa-circle) { color: white; } } } } } } } /* Hub */ body.hub { &.layout-home > main { > .underlay > .featured-projects { @extend .main-section; > .title:after { border-bottom-color: rgba($primary-dark-color, 0.12); } .items { @extend .item-grid; justify-content: center; } .item { @extend .item-card; @include hoverable-card(4px, 16px, rgba(0, 0, 0, 0.12)); padding: 40px 32px; text-align: center; .logo { display: inline-block; height: 80px; width: 80px; } header > .title { font-size: 24px; margin: 0; } .body { font-size: 16px; height: 100px; overflow: hidden; text-overflow: ellipsis; } .cta-view-project { text-align: center; .button { display: inline-block; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 700; color: white; background-color: $accent-color; } } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} ); } } } > .other-projects { @extend .main-section; @extend .with-symbol-background; .items { @extend .item-grid; } > .title:after { border-bottom-color: rgba($primary-color, 0.12); } } } &.layout-software-index > main, &.layout-spec-index > main { > .items { @extend .item-grid; @extend .index-item-grid; .item { @extend .item-card; @include hoverable-card(4px, 12px, rgba(0, 0, 0, 0.08)); padding: 16px 30px 22px 30px; .header { font-size: 18px; } .body { font-size: 15px; } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$grid-cols} - #{$gutter} ); margin-bottom: $gutter; } } } } &.layout-project-index > main { .items { @extend .item-grid; @extend .index-item-grid; } } &.layout-project-index > main, &.layout-blog-index > main, &.layout-software-index > main, &.layout-spec-index > main { > .items { @extend .with-symbol-background; } } &.layout-home > main > .other-projects, &.layout-project-index > main { .items.one-row { justify-content: center; } .item { @extend .item-card; @include hoverable-card(2px, 10px, rgba(desaturate($primary-color, 50), 0.08)); padding: 32px 30px; text-align: center; .logo { display: inline-block; height: 60px; width: 60px; } header > .title { font-size: 18px; margin: 0; } .body { font-size: 15px; } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} ); } } } } /* Project */ body.project { &.layout-home > main > .underlay > .software, &.layout-home > main > .specs, &.layout-software-index > main, &.layout-spec-index > main { > .items { .item { @extend .item-card; @include hoverable-card(2px, 10px, rgba(desaturate($primary-color, 50), 0.08)); padding: 30px 32px; text-align: left; margin-bottom: 20px; header > .title { margin: 0; font-size: 20px; } .body { font-size: 16px; } } } } &.layout-home > main > .underlay > .software, &.layout-software-index > main { > .items { .item { $logo-space: 132px; $logo-side: 48px; padding-left: $logo-space; .logo-container { float: left; margin-left: -$logo-space; padding: 8px (($logo-space - $logo-side) / 2); .logo > :only-child { width: $logo-side; height: $logo-side; } } } } } &.layout-home > main > .underlay > .software, &.layout-home > main > .specs { @extend .main-section; } &.layout-software-index > main, &.layout-spec-index > main { > .items { @extend .index-item-grid; } } &.layout-spec > main > article { @extend .main-article; } &.layout-spec > main, &.layout-product > main { > .documentation:only-child { flex: 1; display: flex; flex-flow: row nowrap; > .nav-sidebar { width: 320px; border-right: #F7F7F7 2px solid; margin-right: 60px; padding-top: 70px; > .sidebar-header { display: flex; flex-flow: row nowrap; align-items: center; .title { flex: 1; line-height: 1; a:link, a:visited { color: #444; } } .logo-container { margin-right: 10px; .logo > :only-child { width: 32px; height: 32px; } } } > .section-title { font-size: 20px; font-weight: bold; margin: 0; line-height: 1.8; } > .section-items { list-style: none; margin: 0 0 15px 0; padding: 0; line-height: 2; > .item { font-size: 15px; font-weight: normal; &.disabled { span { $disabled-label-width: 50px; opacity: 0.5; position: relative; &:before { opacity: 0.4; position: absolute; width: $disabled-label-width; left: -$disabled-label-width;; content: "TBD"; font-weight: bold; } } } &.selected { span { font-weight: bold; color: $primary-dark-color; } } a { &:link, &:hover, &:visited { color: #444; } } } } } > article { @extend .main-article; flex: 1; > header { > .title { display: flex; flex-flow: row nowrap; border-bottom: 2px solid $primary-dark-color; padding-top: 70px; padding-bottom: 10px; > .logo-container { margin-right: 22px; } .text { flex: 1; font-size: 36px; margin: 0; font-weight: 500; } } .lead { font-weight: normal; font-size: 20px; } } } } } }