Building a new theme for the Ghost CMS for use on https://chrg.nl
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

803 lines
15 KiB

$header-color: #2e2e2e;
$text: #3a4145;
$link-text: #4a4a4a;
$highlighted-link-text: #111;
$bg: #3a4145;
$arrow-bg: rgba(255, 255, 255, .7);
$white: #fff;
$page-bg: #3498db;
$header-link-color: #ccc;
$subtext-color: #666;
$footer-color: #3a4145;
@mixin respond-to($media) {
@if $media == handhelds {
@media only screen and (max-width: 767px) { @content; }
} @else if $media == medium-screens {
@media only screen and (min-width: 768px) and (max-width: 1199px) { @content; }
} @else if $media == semi-large-screens {
@media only screen and (min-width: 1200px) and (max-width: 1765px) { @content; }
}
}
html {
box-sizing: border-box;
font-size: 62.5%;
height: 100%;
max-height: 100%;
}
* {
&:before,
&:after {
box-sizing: inherit;
}
}
body {
color: $text;
font-family: 'Lato', sans-serif;
font-size: 1.8rem;
height: 100%;
letter-spacing: .01rem;
line-height: 1.75em;
max-height: 100%;
.post-title {
&:not(.post-template) {
font-size: 3.6rem;
}
}
&.page-template {
.post-title {
font-size: 5rem;
}
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'Catamaran', sans-serif;
line-height: 1.2em;
margin: 1.8em 0 0.5em;
}
a {
color: $link-text;
transition: color .3s ease;
&:hover {
color: $highlighted-link-text;
}
}
.site-wrapper {
display: flex;
flex-direction: column;
}
/**
* ===================
* FRONTPAGE DESIGN
* ===================
*/
.header-bg {
@include respond-to(handhelds) {
height: 110vh;
}
background: url('../img/bg.png');
background-position: center;
background-repeat: no-repeat;
background-size: cover;
height: 120vh;
position: relative;
width: 100%;
}
.header-overlay {
@include respond-to(handhelds) {
height: 110vh;
}
background: linear-gradient(180deg, transparent, $page-bg 85%);
height: 120vh;
left: 0;
opacity: 1;
position: absolute;
right: 0;
top: 0;
}
.below-header {
background: $page-bg;
position: relative;
&:before {
border-bottom: 2px solid $white;
border-right: 130vw solid $white;
border-top: 30vh solid $page-bg;
bottom: 0;
content: '';
position: absolute;
right: 0;
width: 0;
}
}
.header-text {
height: auto;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 50;
.top-content {
@include respond-to(handhelds) {
padding: 15vh 5vh 0;
}
@include respond-to(medium-screens) {
padding: 25vh 8vh 0;
}
color: $white;
padding: 35vh 10vw 0;
text-align: center;
h1 {
@include respond-to(handhelds) {
font-size: 4em;
}
font-family: 'Source Sans Pro', sans-serif;
font-size: 5em;
font-weight: 300;
line-height: 1.1em;
margin: 0;
}
h2 {
@include respond-to(handhelds) {
font-size: 1.2em;
}
font-family: 'Source Sans Pro', sans-serif;
font-size: 1.33em;
font-weight: 300;
line-height: 1.1em;
margin-bottom: 10px;
margin-top: 20px;
}
h4 {
@include respond-to(handhelds) {
font-size: .9em;
}
font-family: 'Source Sans Pro', sans-serif;
font-size: 1em;
font-weight: 300;
line-height: 1.4em;
margin-top: 30px;
}
a {
margin-top: 60px;
}
}
$top-layer-effect: rgba(0, 0, 0, .15);
$layer-effect: #eee;
.hidden-content {
@include respond-to(handhelds) {
width: 95vw;
}
@include respond-to(semi-large-screens) {
width: 80vw;
}
@include respond-to(medium-screens) {
width: 80vw;
}
margin: auto;
margin-top: 10vh;
max-width: 1140px;
transition: translateZ(0);
width: 60vw;
}
.grid {
@include respond-to(handhelds) {
margin: 0;
padding: 0;
}
min-width: 0;
.col-7-12 {
@include respond-to(medium-screens) {
width: 100%;
}
@include respond-to(handhelds) {
width: 100%;
}
}
.col-4-12 {
@include respond-to(medium-screens) {
border-top: 2px dotted $page-bg;
margin: 5vh 0 0;
padding-top: 5vh;
width: 100%;
}
@include respond-to(handhelds) {
border-top: 2px dotted $page-bg;
margin: 5vh 0 0;
padding-top: 5vh;
width: 100%;
}
}
}
.cv-box {
background: $white;
box-shadow:
// Top layer
0 1px 1px $top-layer-effect,
// Second layer
0 10px 0 -5px $layer-effect,
// Second layer shadow
0 10px 1px -4px $top-layer-effect,
// Third layer
0 20px 0 -10px $layer-effect,
// Third layer shadow
0 20px 1px -9px $top-layer-effect;
padding: 30px;
transition: translateZ(0);
p {
font-size: .9em;
line-height: 1.5em;
margin: 1em 0;
}
.right {
@include respond-to(handhelds) {
display: block;
font-size: .8em;
margin-bottom: 10px;
margin-top: -4px;
width: 100%;
}
display: inline-block;
float: right;
}
.subtext {
color: $subtext-color;
display: block;
font-size: .8em;
line-height: 1.3em;
width: 80%;
}
.languages {
p {
font-size: .8em;
line-height: 1.5em;
margin: 0;
padding: 0;
}
}
.profile {
h6 {
font-size: 1.2em;
font-weight: 300;
margin: 1em 0 .4em;
}
p {
font-size: .8em;
line-height: 1.5em;
margin: 0;
padding: 0;
}
.full-width {
clear: both;
margin-top: 5vh;
width: 100%;
}
.small-footer {
color: $subtext-color;
}
.links {
list-style-type: none;
margin-bottom: 2.2em;
padding: 0;
li {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 18px;
min-height: 22px;
padding: 2px 0 0;
a {
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
}
}
.profile-picture {
float: left;
margin: 0 20px 20px 0;
}
h5 {
font-family: 'Lato', sans-serif;
font-size: 1.8rem;
font-weight: 600;
line-height: 3rem;
margin-bottom: 2vh;
}
h6 {
font-family: 'Lato', sans-serif;
font-size: 1.6rem;
line-height: 2rem;
}
}
$tag-bg: rgba(255, 255, 255, .3);
.tags {
color: $white;
font-family: 'Source Sans Pro', sans-serif;
line-height: 1.1em;
margin-top: 10vh;
text-align: center;
small {
font-size: .8em;
}
ul {
@include respond-to(semi-large-screens) {
max-width: 50%;
}
@include respond-to(medium-screens) {
max-width: 50%;
}
@include respond-to(handhelds) {
max-width: 80%;
}
line-height: 3em;
list-style: none;
margin: auto;
max-width: 30vw;
padding: 0;
}
li {
background: $tag-bg;
border-radius: 5px;
display: inline-block;
font-size: 16px;
line-height: 1.5em;
margin: 0 .5vw;
padding: 4px 10px;
&:hover {
opacity: .8;
}
}
a {
color: $white;
}
}
}
.profile-picture {
border-radius: 48px;
height: 96px;
width: 96px;
}
.main-header {
background: $bg no-repeat center center;
background-size: cover;
display: table;
height: 100vh;
overflow: hidden;
position: relative;
text-align: center;
width: 100%;
.inner {
width: 80%;
}
}
/**
* =======================
* FRONT PAGE CONTENT
* =======================
*/
.scroll-down {
@include respond-to(handhelds) {
display: none;
}
animation: bounce 4s 2s infinite;
color: $arrow-bg;
display: block;
font-size: 24px;
height: 24px;
left: 50%;
margin-left: -12px;
position: relative;
text-align: center;
text-decoration: none;
transform: rotate(-90deg);
transition: translateZ(0);
width: 24px;
z-index: 100;
// Stop the bouncing while hovered
&:hover {
animation: none;
color: $white;
}
}
$button-shadow: rgba(0, 0, 0, .1);
.mobile-button {
@include respond-to(handhelds) {
display: inline-block;
}
background: $white;
box-shadow: 0 8px 15px $button-shadow;
color: $page-bg;
display: none;
font-family: 'Source Sans Pro', sans-serif;
font-size: .9em;
line-height: 1.2em;
padding: .8em 2em;
width: auto;
&:hover {
cursor: pointer;
}
}
.blog-title {
border-bottom: 2px solid $page-bg;
display: inline-block;
font-family: 'Lato', sans-serif;
font-size: 1.3em;
font-weight: 300;
line-height: 1.7em;
padding: 0 .2em;
text-align: center;
}
.blog-title-container {
text-align: center;
}
.index-content {
margin-top: 0;
position: relative;
z-index: 52;
}
// FOOTER
.footer {
background: $footer-color;
min-height: 5vh;
.container {
@include respond-to(handhelds) {
text-align: center;
}
color: $white;
font-family: 'Lato', sans-serif;
font-size: .6em;
height: auto;
line-height: 1.8em;
padding: 2vh 0;
a {
color: $white;
text-decoration: none;
&:hover {
text-shadow:
-.2px -.2px 0 $white,
.2px -.2px 0 $white,
-.2px .2px 0 $white,
.2px .2px 0 $white;
transition: all .5s;
}
}
}
}
.container {
@include respond-to(handhelds) {
width: 90vw;
}
@include respond-to(semi-large-screens) {
width: 80vw;
}
@include respond-to(medium-screens) {
width: 80vw;
}
height: auto;
margin: auto;
max-width: 1140px;
width: 60vw;
.right {
@include respond-to(handhelds) {
display: block;
float: none;
}
float: right;
}
}
/**
* =================
* DEFAULT PAGE DESIGN
* =================
*/
$post-bg: $white;
$post-border: #ebf2f6;
$post-after-border: #e7eef2;
$post-meta: #9eabb3;
$post-meta-link: #9eabb3;
main {
flex-grow: 1;
}
// HEADER
.top-header {
background: $page-bg;
height: auto;
.container {
@include respond-to(handhelds) {
text-align: center;
}
color: $white;
font-family: 'Source Sans Pro', sans-serif;
font-size: 1.2em;
font-weight: 600;
line-height: 1.5em;
padding: 2vh 0;
a {
color: $white;
text-decoration: none;
&:hover {
border-bottom: 2px solid $white;
}
}
}
}
// This class is applied to all posts
.post {
border-bottom: $post-border 1px solid;
margin: 4rem auto;
max-width: 710px;
padding-bottom: 4rem;
position: relative;
width: 80%;
word-wrap: break-word;
}
.post-title {
line-height: 1.2em;
a {
text-decoration: none;
}
}
.post-excerpt {
p {
font-size: .9em;
line-height: 1.7em;
margin: 0;
}
}
.read-more {
text-decoration: none;
}
.post-meta {
color: $post-meta;
display: block;
font-family: 'Lato', sans-serif;
font-size: 1.5rem;
line-height: 2.2rem;
margin: 1.75rem 0;
word-spacing: .2rem;
a {
color: $post-meta-link;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
$post-date-border: #d5dbde;
.post-date {
border-left: $post-date-border 1px solid;
display: inline-block;
font-size: 1.3rem;
margin-left: 8px;
padding-left: 12px;
text-transform: uppercase;
white-space: nowrap;
}
.author-thumb {
border-radius: 100%;
float: left;
height: 24px;
margin-right: 9px;
width: 24px;
}
.author-profile {
margin-top: 5rem;
}
.author-profile .author-image {
margin-top: 0;
margin-bottom: 20px;
}
.author-image-cover {
margin-top: -100px;
}
.user-meta {
min-height: 77px;
padding: .3rem 40px 0 100px;
position: relative;
}
.user-image {
left: 0;
position: absolute;
top: 0;
}
.user-name {
display: block;
font-weight: 700;
}
.user-bio {
display: block;
font-size: 1.4rem;
line-height: 1.5rem;
max-width: 440px;
}
.publish-meta {
padding: 4.3rem 0 4rem;
position: absolute;
right: 0;
text-align: right;
top: 0;
}
.publish-heading {
display: block;
font-weight: 700;
}
.publish-date {
display: block;
font-size: 1.4rem;
line-height: 1.5rem;
}
.no-cover {
display: none;
}
.page-title {
line-height: 1.2em;
@media only screen and (max-width: 500px) {
text-align: center;
}
.description {
color: $post-meta;
display: block;
font-size: .5em;
font-weight: 300;
}
}
.main-header-content {
hr {
margin: 2em 0;
}
}
.extra-pagination {
&:after {
display: none;
}
}
.color-cover {
background-color: $page-bg;
}
.read-next {
@media only screen and (max-width: 500px) {
margin-bottom: 0;
}
}
.read-next-story .post {
padding: 6rem;
}