diff --git a/assets/sass/header-image.scss b/assets/sass/header-image.scss
new file mode 100644
index 0000000..b17b093
--- /dev/null
+++ b/assets/sass/header-image.scss
@@ -0,0 +1,32 @@
+{{- $featured_image := .Scratch.Get "featured_image" }}
+{{- /* Default to the full size image */ -}}
+{{- /* Trimming the slash and adding absURL make sure the image works no matter where our site lives */ -}}
+{{- $default_image_url := (trim $featured_image.RelPermalink "/") | absURL }}
+.has-header-image {
+ background-image: url('{{ $default_image_url }}');
+}
+{{ $scratch := newScratch -}}
+{{- /* If breakpoints are defined, provide a resized image for each */ -}}
+{{- $anchor := .Params.featured_image_data.anchor | default "Top" -}}
+{{- /* Default header image height is approximately 500px */ -}}
+{{- $height := 500 -}}
+{{- /* If there's a description, the header is taller */ -}}
+{{- if .Description -}}
+ {{- $height = add $height 100 -}}
+{{- end -}}
+{{- with .Site.Params.breakpoints -}}
+ {{- range $breakpoint := . -}}
+ {{- /* Default mobile breakpoint for Tachyons is 480 */ -}}
+ {{- if and (ge $breakpoint 480) (ge $featured_image.Width $breakpoint) -}}
+ {{- $breakpoint_image := $featured_image.Resize (print $breakpoint "x") -}}
+ {{- $options := print $breakpoint "x" $height " " $anchor -}}
+ {{- $breakpoint_image = $breakpoint_image.Crop ($options) -}}
+ {{- $breakpoint_image_url := (trim $breakpoint_image.RelPermalink "/") | absURL }}
+@media only screen and (max-width: {{ $breakpoint }}px) {
+ .has-header-image {
+ background-image: url('{{ $breakpoint_image_url }}');
+ }
+}
+ {{- end -}}
+ {{- end -}}
+{{- end }}
diff --git a/layouts/partials/header-image-style.html b/layouts/partials/header-image-style.html
deleted file mode 100644
index 583bf23..0000000
--- a/layouts/partials/header-image-style.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{{- $featured_image := .Scratch.Get "featured_image" }}
-
diff --git a/layouts/partials/page-header.html b/layouts/partials/page-header.html
index ad488d7..3f71f01 100644
--- a/layouts/partials/page-header.html
+++ b/layouts/partials/page-header.html
@@ -1,7 +1,9 @@
{{- $featured_image := partial "func/GetFeaturedImage.html" . -}}
{{- if $featured_image -}}
{{- .Scratch.Set "featured_image" $featured_image -}}
- {{- partial "header-image-style.html" . }}
+ {{- $sassTemplate := resources.Get "sass/header-image.scss" -}}
+ {{- $style := $sassTemplate | resources.ExecuteAsTemplate (print ($featured_image.RelPermalink | base64Encode) "header-image.scss") . | resources.ToCSS -}}
+