Initial work towards template support
* Simple refactoring of the config system * Add new unstyled template * Add new modern template (previously the only) * Add placeholder for blocky template * Relocate autoloader * Move build to ./bin
This commit is contained in:
parent
cea267adac
commit
a98b3602f5
18
README.md
18
README.md
|
@ -1,6 +1,8 @@
|
||||||
# Markdown Resume Styles
|
# Markdown Resume Generator
|
||||||
|
|
||||||
Turn a simple Markdown document into an elegant resume.
|
Turn a simple Markdown document into an elegant resume with both a perfect
|
||||||
|
pdf printable format, and a responsive css3 html5 file. You can view a sample
|
||||||
|
at the [blog post for the project][blog].
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
@ -12,19 +14,20 @@ Turn a simple Markdown document into an elegant resume.
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
php ./build/build.php --source resume/sample.md
|
php ./bin/resume.php --source resume/sample.md
|
||||||
php ./build/build.php --source resume/sample.md --pdf
|
php ./bin/resume.php --source resume/sample.md --pdf
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
If you want to edit your markdown resume in your editor while watching it
|
If you want to edit your markdown resume in your editor while watching it
|
||||||
update in your browser, run this command:
|
update in your browser, run this command:
|
||||||
|
|
||||||
watch php ./build/build.php -s resume/sample.md -r
|
watch php ./bin/resume.php -s resume/sample.md -r
|
||||||
|
|
||||||
This makes the build script run periodically, and html document will refresh
|
This makes the build script run periodically, and html document will refresh
|
||||||
every two seconds. Open the `./ouput/sample.html` file in your browser, and
|
every two seconds via a meta tag. Open the `./ouput/sample.html` file in
|
||||||
then just save your markdown document when you want to see a fresh preview.
|
your browser, and then just save your markdown document when you want to see
|
||||||
|
a fresh preview.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
@ -48,3 +51,4 @@ However, no HTML from that project has been used in this. General layout has bee
|
||||||
have been added. It's a nice template, and if you are a more comfortable with html than markdown, you should use it.
|
have been added. It's a nice template, and if you are a more comfortable with html than markdown, you should use it.
|
||||||
|
|
||||||
[srt]: http://sampleresumetemplate.net/ "A great starting point"
|
[srt]: http://sampleresumetemplate.net/ "A great starting point"
|
||||||
|
[blog]: http://there4development.com/blog/2012/12/31/markdown-resume-builder/
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
<?php
|
||||||
|
define('APPLICATION_BASE_PATH', realpath(__DIR__ . '/..'));
|
||||||
|
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/autoload.php';
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/Mustache/Mustache.php';
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/smartypants/smartypants.php';
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/markdown-extra/markdown.php';
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/lessphp/lessc.inc.php';
|
||||||
|
require APPLICATION_BASE_PATH . '/vendor/simpledom/simple_html_dom.php';
|
||||||
|
|
||||||
|
use Assetic\Asset\AssetCollection;
|
||||||
|
use Assetic\Asset\FileAsset;
|
||||||
|
use Assetic\Asset\GlobAsset;
|
||||||
|
use Assetic\Filter;
|
||||||
|
|
||||||
|
// Application defaults
|
||||||
|
$config = (object) array(
|
||||||
|
"source" => "",
|
||||||
|
"template" => "modern",
|
||||||
|
"refresh" => false,
|
||||||
|
"pdf" => false
|
||||||
|
);
|
||||||
|
|
||||||
|
// Command line arguments to populate the config
|
||||||
|
$opts = array(
|
||||||
|
"s:" => "source:", // source
|
||||||
|
"t:" => "template:", // template
|
||||||
|
"r" => "refresh", // refresh
|
||||||
|
"p" => "pdf" // pdf output
|
||||||
|
);
|
||||||
|
|
||||||
|
// Fetch the options from the command line arguments
|
||||||
|
$options = getopt(implode("", array_keys($opts)), array_values($opts));
|
||||||
|
|
||||||
|
foreach ($opts as $short => $long) {
|
||||||
|
$isBool = (substr($short, -1, 1) !== ":");
|
||||||
|
$short = trim($short, ":");
|
||||||
|
$long = trim($long, ":");
|
||||||
|
|
||||||
|
if (isset($options[$short])) {
|
||||||
|
$config->$long = $isBool ? true : $options[$short];
|
||||||
|
}
|
||||||
|
else if (isset($options[$long])) {
|
||||||
|
$config->$long = $isBool ? true : $options[$long];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($config->source)) {
|
||||||
|
exit("Please specify a source document: bin/resume.php -s resume/resume.pdf\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
$basename = pathinfo($config->source, PATHINFO_FILENAME);
|
||||||
|
$template_path = realpath(__DIR__ . '/../templates/' . $config->template);
|
||||||
|
$pdf_source = './output/' . $basename . '-pdf.html';
|
||||||
|
$output = './output/' . $basename . '.html';
|
||||||
|
$pdf_output = './output/' . $basename . '.pdf';
|
||||||
|
|
||||||
|
if (!file_exists($config->source)) {
|
||||||
|
exit("Please specify a valid source file.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!file_exists($template_path)) {
|
||||||
|
// TODO: List templates
|
||||||
|
exit("Please specify a valid template.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// We build these into a single string so that we can deploy this resume as a
|
||||||
|
// single file.
|
||||||
|
$css = new AssetCollection(
|
||||||
|
array(new GlobAsset($template_path . '/css/*.css')),
|
||||||
|
array(new Filter\LessphpFilter())
|
||||||
|
);
|
||||||
|
$style = $css->dump();
|
||||||
|
|
||||||
|
$template = file_get_contents($template_path . '/index.html');
|
||||||
|
$resume = file_get_contents($config->source);
|
||||||
|
|
||||||
|
// Process with Markdown, and then use SmartyPants to clean up punctuation.
|
||||||
|
$resume = SmartyPants(Markdown($resume));
|
||||||
|
|
||||||
|
// We'll construct the title for the html document from the h1 and h2 tags
|
||||||
|
$html = str_get_html($resume);
|
||||||
|
$title = sprintf(
|
||||||
|
'%s | %s',
|
||||||
|
$html->find('h1', 0)->innertext,
|
||||||
|
$html->find('h2', 0)->innertext
|
||||||
|
);
|
||||||
|
|
||||||
|
// We'll now render the Markdown into an html file with Mustache Templates
|
||||||
|
$m = new Mustache;
|
||||||
|
$rendered = $m->render(
|
||||||
|
$template,
|
||||||
|
array(
|
||||||
|
'title' => $title,
|
||||||
|
'style' => $style,
|
||||||
|
'resume' => $resume,
|
||||||
|
'reload' => $refresh_dev
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Save the fully rendered html to the final destination
|
||||||
|
file_put_contents(
|
||||||
|
$output,
|
||||||
|
$rendered
|
||||||
|
);
|
||||||
|
echo "Wrote html to $output\n";
|
||||||
|
|
||||||
|
// If the user wants to make a pdf file, we'll use wkhtmltopdf to convert
|
||||||
|
// the html document into a nice looking pdf.
|
||||||
|
if ($config->pdf) {
|
||||||
|
|
||||||
|
// The pdf needs some extra css rules, and so we'll add them here
|
||||||
|
// to our html document
|
||||||
|
$pdf_classed = str_replace('body class=""', 'body class="pdf"', $rendered);
|
||||||
|
|
||||||
|
// Save the new pdf-ready html to a temp destination
|
||||||
|
file_put_contents($pdf_source, $pdf_classed );
|
||||||
|
|
||||||
|
// Process the document with wkhtmltopdf
|
||||||
|
exec('wkhtmltopdf ' . $pdf_source .' ' . $pdf_output);
|
||||||
|
|
||||||
|
// Unlink the temporary file
|
||||||
|
unlink($pdf_source);
|
||||||
|
echo "Wrote pdf to $pdf_output\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End of file resume.php */
|
133
build/build.php
133
build/build.php
|
@ -1,133 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
define('APPLICATION_BASE_PATH', realpath(__DIR__ . '/..'));
|
|
||||||
|
|
||||||
spl_autoload_register(function ($className) {
|
|
||||||
$namespaces = explode('\\', $className);
|
|
||||||
if (count($namespaces) > 1) {
|
|
||||||
$classPath
|
|
||||||
= APPLICATION_BASE_PATH
|
|
||||||
. '/vendor/'
|
|
||||||
. implode('/', $namespaces)
|
|
||||||
. '.php';
|
|
||||||
if (file_exists($classPath)) {
|
|
||||||
require_once($classPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/Mustache/Mustache.php';
|
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/smartypants/smartypants.php';
|
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/markdown-extra/markdown.php';
|
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/lessphp/lessc.inc.php';
|
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/simpledom/simple_html_dom.php';
|
|
||||||
|
|
||||||
use Assetic\Asset\AssetCollection;
|
|
||||||
use Assetic\Asset\FileAsset;
|
|
||||||
use Assetic\Asset\GlobAsset;
|
|
||||||
use Assetic\Filter;
|
|
||||||
|
|
||||||
// Setup the command line options
|
|
||||||
$shortopts
|
|
||||||
= "s:" // source
|
|
||||||
. "r" // refresh
|
|
||||||
. "p"; // pdf output
|
|
||||||
|
|
||||||
$longopts = array(
|
|
||||||
"source:",
|
|
||||||
"refresh",
|
|
||||||
"pdf"
|
|
||||||
);
|
|
||||||
|
|
||||||
$options = getopt($shortopts, $longopts);
|
|
||||||
|
|
||||||
// Combine the options to their shorter names
|
|
||||||
if (empty($options['s']) && !empty($options['source'])) {
|
|
||||||
$options['s'] = $options['source'];
|
|
||||||
}
|
|
||||||
$refresh_dev = isset($options['r']) || isset($options['refresh']);
|
|
||||||
|
|
||||||
if (!isset($options['s'])) {
|
|
||||||
exit("Please specify a source document: build.php -s resume/resume.pdf\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
$basename = pathinfo($options['s'], PATHINFO_FILENAME);
|
|
||||||
$source = './' . $options['s'];
|
|
||||||
$pdf_source = './output/' . $basename . '-pdf.html';
|
|
||||||
$output = './output/' . $basename . '.html';
|
|
||||||
$pdf_output = './output/' . $basename . '.pdf';
|
|
||||||
|
|
||||||
$css = new AssetCollection(
|
|
||||||
array(
|
|
||||||
new GlobAsset(APPLICATION_BASE_PATH . '/assets/css/*.css')
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
new Filter\LessphpFilter(),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$style = $css->dump();
|
|
||||||
|
|
||||||
$template = file_get_contents(APPLICATION_BASE_PATH . '/assets/templates/default.html');
|
|
||||||
$resume = file_get_contents($source);
|
|
||||||
|
|
||||||
// Process with Markdown, and then use SmartyPants to clean up punctuation.
|
|
||||||
$resume = SmartyPants(Markdown($resume));
|
|
||||||
|
|
||||||
// We'll construct the title for the html document from the h1 and h2 tags
|
|
||||||
$html = str_get_html($resume);
|
|
||||||
$title = sprintf(
|
|
||||||
'%s | %s',
|
|
||||||
$html->find('h1', 0)->innertext,
|
|
||||||
$html->find('h2', 0)->innertext
|
|
||||||
);
|
|
||||||
|
|
||||||
// We'll now render the Markdown into an html file with Mustache Templates
|
|
||||||
$m = new Mustache;
|
|
||||||
$rendered = $m->render(
|
|
||||||
$template,
|
|
||||||
array(
|
|
||||||
'title' => $title,
|
|
||||||
'style' => $style,
|
|
||||||
'resume' => $resume,
|
|
||||||
'reload' => $refresh_dev
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Save the fully rendered html to the final destination
|
|
||||||
file_put_contents(
|
|
||||||
$output,
|
|
||||||
$rendered
|
|
||||||
);
|
|
||||||
echo "Wrote html to $output\n";
|
|
||||||
|
|
||||||
// If the user wants to make a pdf file, we'll use wkhtmltopdf to convert
|
|
||||||
// the html document into a nice looking pdf.
|
|
||||||
if (isset($options['pdf'])) {
|
|
||||||
|
|
||||||
// The pdf needs some extra css rules, and so we'll add them here
|
|
||||||
// to our html document
|
|
||||||
$pdf_classed = str_replace(
|
|
||||||
'body class=""',
|
|
||||||
'body class="pdf"',
|
|
||||||
$rendered
|
|
||||||
);
|
|
||||||
|
|
||||||
// Save the new pdf-ready html to a temp destination
|
|
||||||
file_put_contents(
|
|
||||||
$pdf_source,
|
|
||||||
$pdf_classed
|
|
||||||
);
|
|
||||||
|
|
||||||
// Process the document with wkhtmltopdf
|
|
||||||
exec(
|
|
||||||
'wkhtmltopdf '
|
|
||||||
. $pdf_source .' '
|
|
||||||
. $pdf_output
|
|
||||||
);
|
|
||||||
|
|
||||||
// Unlink the temporary file
|
|
||||||
unlink($pdf_source);
|
|
||||||
echo "Wrote pdf to $pdf_output\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* End of file build.php */
|
|
|
@ -0,0 +1,136 @@
|
||||||
|
/*---------------------------------------------------
|
||||||
|
LESS Elements 0.6
|
||||||
|
---------------------------------------------------
|
||||||
|
A set of useful LESS mixins by Dmitry Fadeyev
|
||||||
|
Special thanks for mixin suggestions to:
|
||||||
|
Kris Van Herzeele,
|
||||||
|
Benoit Adam,
|
||||||
|
Portenart Emile-Victor,
|
||||||
|
Ryan Faerman
|
||||||
|
|
||||||
|
More info at: http://lesselements.com
|
||||||
|
-----------------------------------------------------*/
|
||||||
|
|
||||||
|
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
||||||
|
background: @color;
|
||||||
|
background: -webkit-gradient(linear,
|
||||||
|
left bottom,
|
||||||
|
left top,
|
||||||
|
color-stop(0, @start),
|
||||||
|
color-stop(1, @stop));
|
||||||
|
background: -ms-linear-gradient(bottom,
|
||||||
|
@start,
|
||||||
|
@stop);
|
||||||
|
background: -moz-linear-gradient(center bottom,
|
||||||
|
@start 0%,
|
||||||
|
@stop 100%);
|
||||||
|
}
|
||||||
|
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
|
||||||
|
background: @color;
|
||||||
|
background: -webkit-gradient(linear,
|
||||||
|
left bottom,
|
||||||
|
left top,
|
||||||
|
color-stop(0, rgb(@start,@start,@start)),
|
||||||
|
color-stop(1, rgb(@stop,@stop,@stop)));
|
||||||
|
background: -ms-linear-gradient(bottom,
|
||||||
|
rgb(@start,@start,@start) 0%,
|
||||||
|
rgb(@start,@start,@start) 100%);
|
||||||
|
background: -moz-linear-gradient(center bottom,
|
||||||
|
rgb(@start,@start,@start) 0%,
|
||||||
|
rgb(@stop,@stop,@stop) 100%);
|
||||||
|
}
|
||||||
|
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
|
||||||
|
border-top: solid 1px @top-color;
|
||||||
|
border-left: solid 1px @left-color;
|
||||||
|
border-right: solid 1px @right-color;
|
||||||
|
border-bottom: solid 1px @bottom-color;
|
||||||
|
}
|
||||||
|
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
|
||||||
|
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
}
|
||||||
|
.rounded(@radius: 2px) {
|
||||||
|
-webkit-border-radius: @radius;
|
||||||
|
-moz-border-radius: @radius;
|
||||||
|
border-radius: @radius;
|
||||||
|
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.border-radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
|
||||||
|
-webkit-border-top-right-radius: @topright;
|
||||||
|
-webkit-border-bottom-right-radius: @bottomright;
|
||||||
|
-webkit-border-bottom-left-radius: @bottomleft;
|
||||||
|
-webkit-border-top-left-radius: @topleft;
|
||||||
|
-moz-border-radius-topright: @topright;
|
||||||
|
-moz-border-radius-bottomright: @bottomright;
|
||||||
|
-moz-border-radius-bottomleft: @bottomleft;
|
||||||
|
-moz-border-radius-topleft: @topleft;
|
||||||
|
border-top-right-radius: @topright;
|
||||||
|
border-bottom-right-radius: @bottomright;
|
||||||
|
border-bottom-left-radius: @bottomleft;
|
||||||
|
border-top-left-radius: @topleft;
|
||||||
|
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.opacity(@opacity: 0.5) {
|
||||||
|
-moz-opacity: @opacity;
|
||||||
|
-khtml-opacity: @opacity;
|
||||||
|
-webkit-opacity: @opacity;
|
||||||
|
opacity: @opacity;
|
||||||
|
}
|
||||||
|
.transition-duration(@duration: 0.2s) {
|
||||||
|
-moz-transition-duration: @duration;
|
||||||
|
-webkit-transition-duration: @duration;
|
||||||
|
transition-duration: @duration;
|
||||||
|
}
|
||||||
|
.rotation(@deg:5deg){
|
||||||
|
-webkit-transform: rotate(@deg);
|
||||||
|
-moz-transform: rotate(@deg);
|
||||||
|
transform: rotate(@deg);
|
||||||
|
}
|
||||||
|
.scale(@ratio:1.5){
|
||||||
|
-webkit-transform:scale(@ratio);
|
||||||
|
-moz-transform:scale(@ratio);
|
||||||
|
transform:scale(@ratio);
|
||||||
|
}
|
||||||
|
.transition(@duration:0.2s, @ease:ease-out) {
|
||||||
|
-webkit-transition: all @duration @ease;
|
||||||
|
-moz-transition: all @duration @ease;
|
||||||
|
transition: all @duration @ease;
|
||||||
|
}
|
||||||
|
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
|
||||||
|
-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
}
|
||||||
|
.box-shadow(@arguments) {
|
||||||
|
-webkit-box-shadow: @arguments;
|
||||||
|
-moz-box-shadow: @arguments;
|
||||||
|
box-shadow: @arguments;
|
||||||
|
}
|
||||||
|
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
|
||||||
|
-moz-column-width: @colwidth;
|
||||||
|
-moz-column-count: @colcount;
|
||||||
|
-moz-column-gap: @colgap;
|
||||||
|
-moz-column-rule-color: @columnRuleColor;
|
||||||
|
-moz-column-rule-style: @columnRuleStyle;
|
||||||
|
-moz-column-rule-width: @columnRuleWidth;
|
||||||
|
-webkit-column-width: @colwidth;
|
||||||
|
-webkit-column-count: @colcount;
|
||||||
|
-webkit-column-gap: @colgap;
|
||||||
|
-webkit-column-rule-color: @columnRuleColor;
|
||||||
|
-webkit-column-rule-style: @columnRuleStyle;
|
||||||
|
-webkit-column-rule-width: @columnRuleWidth;
|
||||||
|
column-width: @colwidth;
|
||||||
|
column-count: @colcount;
|
||||||
|
column-gap: @colgap;
|
||||||
|
column-rule-color: @columnRuleColor;
|
||||||
|
column-rule-style: @columnRuleStyle;
|
||||||
|
column-rule-width: @columnRuleWidth;
|
||||||
|
}
|
||||||
|
.translate(@x:0, @y:0) {
|
||||||
|
-moz-transform: translate(@x, @y);
|
||||||
|
-webkit-transform: translate(@x, @y);
|
||||||
|
-o-transform: translate(@x, @y);
|
||||||
|
-ms-transform: translate(@x, @y);
|
||||||
|
transform: translate(@x, @y);
|
||||||
|
}
|
|
@ -0,0 +1,502 @@
|
||||||
|
/*! normalize.css 2012-02-07T12:37 UTC - http://github.com/necolas/normalize.css */
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
HTML5 display definitions
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects block display not defined in IE6/7/8/9 & FF3
|
||||||
|
*/
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects inline-block display not defined in IE6/7/8/9 & FF3
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
*display: inline;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents modern browsers from displaying 'audio' without controls
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
|
||||||
|
* Known issue: no IE6 support
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Base
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
|
||||||
|
* http://clagnut.com/blog/348/#c790
|
||||||
|
* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
|
||||||
|
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses font-family inconsistency between 'textarea' and other form elements.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html,
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins handled incorrectly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Links
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses outline displayed oddly in Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability when focused and also mouse hovered in all browsers
|
||||||
|
* people.opera.com/patrickl/experiments/keyboard/test
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:hover,
|
||||||
|
a:active {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Typography
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses font sizes and margins set differently in IE6/7
|
||||||
|
* Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin: 0.83em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.17em;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 1em;
|
||||||
|
margin: 1.33em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 0.83em;
|
||||||
|
margin: 1.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-size: 0.75em;
|
||||||
|
margin: 2.33em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE7/8/9, S5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses style set to 'bolder' in FF3+, S4/5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin: 1em 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in S5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE6/7/8/9
|
||||||
|
*/
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
p,
|
||||||
|
pre {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects font family set oddly in IE6, S4/5, Chrome
|
||||||
|
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
_font-family: 'courier new', monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability of pre-formatted text in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses CSS quotes not supported in IE6/7
|
||||||
|
* 2. Addresses quote property not supported in S4
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 1 */
|
||||||
|
|
||||||
|
q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 2 */
|
||||||
|
|
||||||
|
q:before,
|
||||||
|
q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents sub and sup affecting line-height in all browsers
|
||||||
|
* gist.github.com/413930
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Lists
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
dl,
|
||||||
|
menu,
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0 0 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses paddings set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
menu,
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
padding: 0 0 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects list images handled incorrectly in IE7
|
||||||
|
*/
|
||||||
|
|
||||||
|
nav ul,
|
||||||
|
nav ol {
|
||||||
|
list-style: none;
|
||||||
|
list-style-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
|
||||||
|
* 2. Improves image quality when scaled in IE7
|
||||||
|
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
-ms-interpolation-mode: bicubic; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects overflow displayed oddly in IE9
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Figures
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margin not present in IE6/7/8/9, S5, O11
|
||||||
|
*/
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects margin displayed oddly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define consistent border, margin, and padding
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
margin: 0 2px;
|
||||||
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects color not being inherited in IE6/7/8/9
|
||||||
|
* 2. Corrects text not wrapping in FF3
|
||||||
|
* 3. Corrects alignment displayed oddly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
padding: 0;
|
||||||
|
white-space: normal; /* 2 */
|
||||||
|
*margin-left: -7px; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects font size not being inherited in all browsers
|
||||||
|
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
|
||||||
|
* 3. Improves appearance and consistency in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
margin: 0; /* 2 */
|
||||||
|
vertical-align: baseline; /* 3 */
|
||||||
|
*vertical-align: middle; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
line-height: normal; /* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Improves usability and consistency of cursor style between image-type 'input' and others
|
||||||
|
* 2. Corrects inability to style clickable 'input' types in iOS
|
||||||
|
* 3. Removes inner spacing in IE7 without affecting normal text inputs
|
||||||
|
* Known issue: inner spacing remains in IE6
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input[type="button"],
|
||||||
|
input[type="reset"],
|
||||||
|
input[type="submit"] {
|
||||||
|
cursor: pointer; /* 1 */
|
||||||
|
-webkit-appearance: button; /* 2 */
|
||||||
|
*overflow: visible; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-set default cursor for disabled elements
|
||||||
|
*/
|
||||||
|
|
||||||
|
button[disabled],
|
||||||
|
input[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses box sizing set to content-box in IE8/9
|
||||||
|
* 2. Removes excess padding in IE8/9
|
||||||
|
* 3. Removes excess padding in IE7
|
||||||
|
Known issue: excess padding remains in IE6
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="checkbox"],
|
||||||
|
input[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
*height: 13px; /* 3 */
|
||||||
|
*width: 13px; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses appearance set to searchfield in S5, Chrome
|
||||||
|
* 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box; /* 2 */
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and search cancel button in S5, Chrome on OS X
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"]::-webkit-search-decoration,
|
||||||
|
input[type="search"]::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and border in FF3+
|
||||||
|
* www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
input::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes default vertical scrollbar in IE6/7/8/9
|
||||||
|
* 2. Improves readability and alignment in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto; /* 1 */
|
||||||
|
vertical-align: top; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Tables
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove most spacing between table cells
|
||||||
|
*/
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
body.pdf {
|
||||||
|
color: black;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
border-width: 8px 0 2px 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.resume {
|
||||||
|
position:relative;
|
||||||
|
padding: 40px 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href$='.pdf'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
letter-spacing: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 48px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
letter-spacing: 0;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
float: left;
|
||||||
|
width: 16%;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
h3+p {
|
||||||
|
float: left;
|
||||||
|
width: 84%;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
top: 40px;
|
||||||
|
right: 50px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li {
|
||||||
|
width: 28%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
ul dl {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.3em 0 0;
|
||||||
|
dt {
|
||||||
|
font-size: 122%;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 .75em;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
padding: 0 4em 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
float: left;
|
||||||
|
width: 84%;
|
||||||
|
margin: .7em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
width: 33%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
ol li:nth-child(3n) {
|
||||||
|
width: 34%;
|
||||||
|
}
|
||||||
|
ol li:nth-child(1), ol li:nth-child(2), ol li:nth-child(3) {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin: .7em 0 0;
|
||||||
|
dt {
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
}
|
||||||
|
strong {
|
||||||
|
float: right;
|
||||||
|
margin-top: -2em;
|
||||||
|
}
|
||||||
|
em {
|
||||||
|
font-size: 130%;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,184 @@
|
||||||
|
.clearfix {
|
||||||
|
zoom: 1;
|
||||||
|
&:after {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
content: ".";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Hoefler Text', Times New Roman, Times, serif;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
h1, h2, h3, h4, ul dl dt {
|
||||||
|
font-family: Futura, "Century Gothic", AppleGothic, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
background: whiteSmoke;
|
||||||
|
border: solid #666;
|
||||||
|
border-width: 8px 0 2px 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.resume {
|
||||||
|
position:relative;
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #990003;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href$='.pdf'] {
|
||||||
|
display: inline-block;
|
||||||
|
background: #666;
|
||||||
|
color: white;
|
||||||
|
padding: 6px 12px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
line-height: 1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
padding: 0;
|
||||||
|
margin: 18px auto;
|
||||||
|
width: 100%;
|
||||||
|
clear: both;
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid #CCC;
|
||||||
|
font-size: 1px;
|
||||||
|
line-height: 0;
|
||||||
|
overflow: visible;
|
||||||
|
page-break-after: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 36px;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 18px;
|
||||||
|
font-style: italic;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 .5em;
|
||||||
|
font-size: 150%;
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3+p {
|
||||||
|
margin: .6em 0 16px;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
font-size: 104%;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
ul li {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul dl {
|
||||||
|
margin: .3em 0 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
dt {
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
margin: 0 0 1em;
|
||||||
|
padding: 0 2em 0 0;
|
||||||
|
font-size: .8em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0 .75em;
|
||||||
|
width: 84%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
margin: 0 0 0 1em;
|
||||||
|
padding: 0;
|
||||||
|
border-top: 1px solid #CCCCCC;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
list-style: none;
|
||||||
|
line-height: 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
ol li:nth-child(1) {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
display: inline-block;
|
||||||
|
width: 75%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
dt {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 140%;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
margin: 0 0 1.5em;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 80%;
|
||||||
|
line-height: 1.4em;
|
||||||
|
}
|
||||||
|
strong {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
em {
|
||||||
|
display: block;
|
||||||
|
font-size: 110%;
|
||||||
|
margin: .15em 0 .5em;
|
||||||
|
font-style: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer + p {
|
||||||
|
width: 100%;
|
||||||
|
font-size: 11px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
|
@ -0,0 +1,159 @@
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Mobile layout
|
||||||
|
240–479 px
|
||||||
|
Zoomed out below 320 px
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 15em) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Wide mobile layout
|
||||||
|
480-767 px
|
||||||
|
Zoomed in above 480 px
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 30em) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Tablet layout
|
||||||
|
600-911 px
|
||||||
|
Zoomed in above 600 px
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 37.5em) {
|
||||||
|
body {
|
||||||
|
padding: 2em 0;
|
||||||
|
}
|
||||||
|
blockquote {
|
||||||
|
top: 10px;
|
||||||
|
right: 50px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
h1 { /* Open up the top section height so we don't collapse on the blockquote */
|
||||||
|
margin-top: .5em;
|
||||||
|
}
|
||||||
|
ol {
|
||||||
|
margin: 0 0 0 1em;
|
||||||
|
}
|
||||||
|
ol li {
|
||||||
|
width: 50%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
ol li:nth-child(1), ol li:nth-child(2) {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Widescreen layout
|
||||||
|
912-1887 px
|
||||||
|
Zoomed in above 912 px
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 57em) {
|
||||||
|
.container {
|
||||||
|
width: 912px;
|
||||||
|
}
|
||||||
|
.resume {
|
||||||
|
position:relative;
|
||||||
|
padding: 40px 50px;
|
||||||
|
}
|
||||||
|
blockquote {
|
||||||
|
top: 40px;
|
||||||
|
right: 50px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 48px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-style: italic;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
float: left;
|
||||||
|
width: 16%;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3+p {
|
||||||
|
float: left;
|
||||||
|
width: 84%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li {
|
||||||
|
width: 28%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
ul dl {
|
||||||
|
dt {
|
||||||
|
font-size: 122%;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-bottom: .75em;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
padding: 0 4em 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
float: left;
|
||||||
|
width: 84%;
|
||||||
|
margin: .6em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
width: 33%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
ol li:nth-child(3n) {
|
||||||
|
width: 34%;
|
||||||
|
}
|
||||||
|
ol li:nth-child(1), ol li:nth-child(2), ol li:nth-child(3) {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin: .5em 0 0;
|
||||||
|
dt {
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
}
|
||||||
|
strong {
|
||||||
|
float: right;
|
||||||
|
margin-top: -2em;
|
||||||
|
}
|
||||||
|
em {
|
||||||
|
font-size: 130%;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Huge-screen layout
|
||||||
|
1888-2520 px
|
||||||
|
Zoomed in above 1920 px
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 118em) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
{{#reload}}
|
||||||
|
<meta http-equiv="refresh" content="2">
|
||||||
|
{{/reload}}
|
||||||
|
|
||||||
|
<title>{{title}}</title>
|
||||||
|
<style type="text/css">
|
||||||
|
{{{style}}}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="">
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="resume">
|
||||||
|
{{{resume}}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,136 @@
|
||||||
|
/*---------------------------------------------------
|
||||||
|
LESS Elements 0.6
|
||||||
|
---------------------------------------------------
|
||||||
|
A set of useful LESS mixins by Dmitry Fadeyev
|
||||||
|
Special thanks for mixin suggestions to:
|
||||||
|
Kris Van Herzeele,
|
||||||
|
Benoit Adam,
|
||||||
|
Portenart Emile-Victor,
|
||||||
|
Ryan Faerman
|
||||||
|
|
||||||
|
More info at: http://lesselements.com
|
||||||
|
-----------------------------------------------------*/
|
||||||
|
|
||||||
|
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
||||||
|
background: @color;
|
||||||
|
background: -webkit-gradient(linear,
|
||||||
|
left bottom,
|
||||||
|
left top,
|
||||||
|
color-stop(0, @start),
|
||||||
|
color-stop(1, @stop));
|
||||||
|
background: -ms-linear-gradient(bottom,
|
||||||
|
@start,
|
||||||
|
@stop);
|
||||||
|
background: -moz-linear-gradient(center bottom,
|
||||||
|
@start 0%,
|
||||||
|
@stop 100%);
|
||||||
|
}
|
||||||
|
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
|
||||||
|
background: @color;
|
||||||
|
background: -webkit-gradient(linear,
|
||||||
|
left bottom,
|
||||||
|
left top,
|
||||||
|
color-stop(0, rgb(@start,@start,@start)),
|
||||||
|
color-stop(1, rgb(@stop,@stop,@stop)));
|
||||||
|
background: -ms-linear-gradient(bottom,
|
||||||
|
rgb(@start,@start,@start) 0%,
|
||||||
|
rgb(@start,@start,@start) 100%);
|
||||||
|
background: -moz-linear-gradient(center bottom,
|
||||||
|
rgb(@start,@start,@start) 0%,
|
||||||
|
rgb(@stop,@stop,@stop) 100%);
|
||||||
|
}
|
||||||
|
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
|
||||||
|
border-top: solid 1px @top-color;
|
||||||
|
border-left: solid 1px @left-color;
|
||||||
|
border-right: solid 1px @right-color;
|
||||||
|
border-bottom: solid 1px @bottom-color;
|
||||||
|
}
|
||||||
|
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
|
||||||
|
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||||
|
}
|
||||||
|
.rounded(@radius: 2px) {
|
||||||
|
-webkit-border-radius: @radius;
|
||||||
|
-moz-border-radius: @radius;
|
||||||
|
border-radius: @radius;
|
||||||
|
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.border-radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
|
||||||
|
-webkit-border-top-right-radius: @topright;
|
||||||
|
-webkit-border-bottom-right-radius: @bottomright;
|
||||||
|
-webkit-border-bottom-left-radius: @bottomleft;
|
||||||
|
-webkit-border-top-left-radius: @topleft;
|
||||||
|
-moz-border-radius-topright: @topright;
|
||||||
|
-moz-border-radius-bottomright: @bottomright;
|
||||||
|
-moz-border-radius-bottomleft: @bottomleft;
|
||||||
|
-moz-border-radius-topleft: @topleft;
|
||||||
|
border-top-right-radius: @topright;
|
||||||
|
border-bottom-right-radius: @bottomright;
|
||||||
|
border-bottom-left-radius: @bottomleft;
|
||||||
|
border-top-left-radius: @topleft;
|
||||||
|
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
|
||||||
|
}
|
||||||
|
.opacity(@opacity: 0.5) {
|
||||||
|
-moz-opacity: @opacity;
|
||||||
|
-khtml-opacity: @opacity;
|
||||||
|
-webkit-opacity: @opacity;
|
||||||
|
opacity: @opacity;
|
||||||
|
}
|
||||||
|
.transition-duration(@duration: 0.2s) {
|
||||||
|
-moz-transition-duration: @duration;
|
||||||
|
-webkit-transition-duration: @duration;
|
||||||
|
transition-duration: @duration;
|
||||||
|
}
|
||||||
|
.rotation(@deg:5deg){
|
||||||
|
-webkit-transform: rotate(@deg);
|
||||||
|
-moz-transform: rotate(@deg);
|
||||||
|
transform: rotate(@deg);
|
||||||
|
}
|
||||||
|
.scale(@ratio:1.5){
|
||||||
|
-webkit-transform:scale(@ratio);
|
||||||
|
-moz-transform:scale(@ratio);
|
||||||
|
transform:scale(@ratio);
|
||||||
|
}
|
||||||
|
.transition(@duration:0.2s, @ease:ease-out) {
|
||||||
|
-webkit-transition: all @duration @ease;
|
||||||
|
-moz-transition: all @duration @ease;
|
||||||
|
transition: all @duration @ease;
|
||||||
|
}
|
||||||
|
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
|
||||||
|
-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||||
|
}
|
||||||
|
.box-shadow(@arguments) {
|
||||||
|
-webkit-box-shadow: @arguments;
|
||||||
|
-moz-box-shadow: @arguments;
|
||||||
|
box-shadow: @arguments;
|
||||||
|
}
|
||||||
|
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
|
||||||
|
-moz-column-width: @colwidth;
|
||||||
|
-moz-column-count: @colcount;
|
||||||
|
-moz-column-gap: @colgap;
|
||||||
|
-moz-column-rule-color: @columnRuleColor;
|
||||||
|
-moz-column-rule-style: @columnRuleStyle;
|
||||||
|
-moz-column-rule-width: @columnRuleWidth;
|
||||||
|
-webkit-column-width: @colwidth;
|
||||||
|
-webkit-column-count: @colcount;
|
||||||
|
-webkit-column-gap: @colgap;
|
||||||
|
-webkit-column-rule-color: @columnRuleColor;
|
||||||
|
-webkit-column-rule-style: @columnRuleStyle;
|
||||||
|
-webkit-column-rule-width: @columnRuleWidth;
|
||||||
|
column-width: @colwidth;
|
||||||
|
column-count: @colcount;
|
||||||
|
column-gap: @colgap;
|
||||||
|
column-rule-color: @columnRuleColor;
|
||||||
|
column-rule-style: @columnRuleStyle;
|
||||||
|
column-rule-width: @columnRuleWidth;
|
||||||
|
}
|
||||||
|
.translate(@x:0, @y:0) {
|
||||||
|
-moz-transform: translate(@x, @y);
|
||||||
|
-webkit-transform: translate(@x, @y);
|
||||||
|
-o-transform: translate(@x, @y);
|
||||||
|
-ms-transform: translate(@x, @y);
|
||||||
|
transform: translate(@x, @y);
|
||||||
|
}
|
|
@ -0,0 +1,502 @@
|
||||||
|
/*! normalize.css 2012-02-07T12:37 UTC - http://github.com/necolas/normalize.css */
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
HTML5 display definitions
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects block display not defined in IE6/7/8/9 & FF3
|
||||||
|
*/
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects inline-block display not defined in IE6/7/8/9 & FF3
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
*display: inline;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents modern browsers from displaying 'audio' without controls
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
|
||||||
|
* Known issue: no IE6 support
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Base
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
|
||||||
|
* http://clagnut.com/blog/348/#c790
|
||||||
|
* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
|
||||||
|
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses font-family inconsistency between 'textarea' and other form elements.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html,
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins handled incorrectly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Links
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses outline displayed oddly in Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability when focused and also mouse hovered in all browsers
|
||||||
|
* people.opera.com/patrickl/experiments/keyboard/test
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:hover,
|
||||||
|
a:active {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Typography
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses font sizes and margins set differently in IE6/7
|
||||||
|
* Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin: 0.83em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.17em;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 1em;
|
||||||
|
margin: 1.33em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 0.83em;
|
||||||
|
margin: 1.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-size: 0.75em;
|
||||||
|
margin: 2.33em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE7/8/9, S5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses style set to 'bolder' in FF3+, S4/5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin: 1em 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in S5, Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE6/7/8/9
|
||||||
|
*/
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
p,
|
||||||
|
pre {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects font family set oddly in IE6, S4/5, Chrome
|
||||||
|
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
_font-family: 'courier new', monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability of pre-formatted text in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses CSS quotes not supported in IE6/7
|
||||||
|
* 2. Addresses quote property not supported in S4
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 1 */
|
||||||
|
|
||||||
|
q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 2 */
|
||||||
|
|
||||||
|
q:before,
|
||||||
|
q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 75%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents sub and sup affecting line-height in all browsers
|
||||||
|
* gist.github.com/413930
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Lists
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margins set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
dl,
|
||||||
|
menu,
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0 0 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses paddings set differently in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
menu,
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
padding: 0 0 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects list images handled incorrectly in IE7
|
||||||
|
*/
|
||||||
|
|
||||||
|
nav ul,
|
||||||
|
nav ol {
|
||||||
|
list-style: none;
|
||||||
|
list-style-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
|
||||||
|
* 2. Improves image quality when scaled in IE7
|
||||||
|
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
-ms-interpolation-mode: bicubic; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects overflow displayed oddly in IE9
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Figures
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margin not present in IE6/7/8/9, S5, O11
|
||||||
|
*/
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects margin displayed oddly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
form {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define consistent border, margin, and padding
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
margin: 0 2px;
|
||||||
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects color not being inherited in IE6/7/8/9
|
||||||
|
* 2. Corrects text not wrapping in FF3
|
||||||
|
* 3. Corrects alignment displayed oddly in IE6/7
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
padding: 0;
|
||||||
|
white-space: normal; /* 2 */
|
||||||
|
*margin-left: -7px; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects font size not being inherited in all browsers
|
||||||
|
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
|
||||||
|
* 3. Improves appearance and consistency in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
margin: 0; /* 2 */
|
||||||
|
vertical-align: baseline; /* 3 */
|
||||||
|
*vertical-align: middle; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
line-height: normal; /* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Improves usability and consistency of cursor style between image-type 'input' and others
|
||||||
|
* 2. Corrects inability to style clickable 'input' types in iOS
|
||||||
|
* 3. Removes inner spacing in IE7 without affecting normal text inputs
|
||||||
|
* Known issue: inner spacing remains in IE6
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input[type="button"],
|
||||||
|
input[type="reset"],
|
||||||
|
input[type="submit"] {
|
||||||
|
cursor: pointer; /* 1 */
|
||||||
|
-webkit-appearance: button; /* 2 */
|
||||||
|
*overflow: visible; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-set default cursor for disabled elements
|
||||||
|
*/
|
||||||
|
|
||||||
|
button[disabled],
|
||||||
|
input[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses box sizing set to content-box in IE8/9
|
||||||
|
* 2. Removes excess padding in IE8/9
|
||||||
|
* 3. Removes excess padding in IE7
|
||||||
|
Known issue: excess padding remains in IE6
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="checkbox"],
|
||||||
|
input[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
*height: 13px; /* 3 */
|
||||||
|
*width: 13px; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses appearance set to searchfield in S5, Chrome
|
||||||
|
* 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box; /* 2 */
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and search cancel button in S5, Chrome on OS X
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"]::-webkit-search-decoration,
|
||||||
|
input[type="search"]::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and border in FF3+
|
||||||
|
* www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
input::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes default vertical scrollbar in IE6/7/8/9
|
||||||
|
* 2. Improves readability and alignment in all browsers
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto; /* 1 */
|
||||||
|
vertical-align: top; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================================
|
||||||
|
Tables
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove most spacing between table cells
|
||||||
|
*/
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
body.pdf {
|
||||||
|
color: black;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
.clearfix {
|
||||||
|
zoom: 1;
|
||||||
|
&:after {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
height: 0;
|
||||||
|
clear: both;
|
||||||
|
content: ".";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: #222;
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Mobile layout
|
||||||
|
240–479 px
|
||||||
|
Zoomed out below 320 px
|
||||||
|
*/
|
||||||
|
@media screen and (min-width: 15em) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Wide mobile layout
|
||||||
|
480-767 px
|
||||||
|
Zoomed in above 480 px
|
||||||
|
*/
|
||||||
|
@media screen and (min-width: 30em) {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Tablet layout
|
||||||
|
600-911 px
|
||||||
|
Zoomed in above 600 px
|
||||||
|
*/
|
||||||
|
@media screen and (min-width: 37.5em) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Widescreen layout
|
||||||
|
912-1887 px
|
||||||
|
Zoomed in above 912 px
|
||||||
|
*/
|
||||||
|
@media screen and (min-width: 57em) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Huge-screen layout
|
||||||
|
1888-2520 px
|
||||||
|
Zoomed in above 1920 px
|
||||||
|
*/
|
||||||
|
@media screen and (min-width: 118em) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
{{#reload}}
|
||||||
|
<meta http-equiv="refresh" content="2">
|
||||||
|
{{/reload}}
|
||||||
|
|
||||||
|
<title>{{title}}</title>
|
||||||
|
<style type="text/css">
|
||||||
|
{{{style}}}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="">
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="resume">
|
||||||
|
{{{resume}}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
spl_autoload_register(function ($className) {
|
||||||
|
$namespaces = explode('\\', $className);
|
||||||
|
if (count($namespaces) > 1) {
|
||||||
|
$classPath
|
||||||
|
= APPLICATION_BASE_PATH
|
||||||
|
. '/vendor/'
|
||||||
|
. implode('/', $namespaces)
|
||||||
|
. '.php';
|
||||||
|
if (file_exists($classPath)) {
|
||||||
|
require_once($classPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/* End of file autoload.php */
|
Loading…
Reference in New Issue