$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 { 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: 800; margin: 0 4px; padding: 3px 10px 3px 10px; white-space: nowrap; } > a { color: grey; } } } } > .items { @extend .item-grid; @extend .index-item-grid; .items.one-row { justify-content: center; } .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; } } } } // 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 { 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: 800; 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; > .title:after { border-bottom-color: rgba($primary-color, 0.12); } } } &.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 { > .software, > .specs { @extend .main-section; .items { 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 { font-size: 24px; } .body { font-size: 16px; } @media screen and (min-width: $bigscreen-breakpoint) { box-sizing: border-box; flex-basis: calc( 100%/#{$featured-cols} - #{$gutter} ); } } } } &.layout-spec > main > article { @extend .main-article; } &.layout-product > main > article { @extend .main-article; } }