/* ------------------------------------------------------------- Sass CSS3 Mixins! The Cross-Browser CSS3 Sass Library By: Matthieu Aussaguel, http://www.mynameismatthieu.com, @matthieu_tweets
 List of CSS3 Sass Mixins File to be @imported and @included as you need
 The purpose of this library is to facilitate the use of CSS3 on different browsers avoiding HARD TO READ and NEVER ENDING css files
 note: All CSS3 Properties are being supported by Safari 5 more info: http://www.findmebyip.com/litmus/#css3-properties
 Mixins available: -   css3-prefix             - arguments: Property, Value -   background-gradient     - arguments: Start Color: #3C3C3C, End Color: #999999 -   background-horizontal   - arguments: Start Color: #3C3C3C, End Color: #999999 -   background-radial       - arguments: Start Color: #FFFFFF, Start position: 0%, End Color: #000000, End position: 100% -   background-size         - arguments: Width: 100%, Height: 100% -   background-opacity      - arguments: Color: #000, Opacity: .85 -   border-radius           - arguments: Radius: 5px -   border-radius-separate  - arguments: Top Left: 5px, Top Right: 5px, Bottom Left: 5px, Bottom Right: 5px -   box                     - arguments: Orientation: horizontal, Pack: center, Align: center -   box-rgba                - arguments: R: 60, G: 3, B: 12, Opacity: 0.23, Color: #3C3C3C -   box-shadow              - arguments: X: 2px, Y: 2px, Blur: 5px, Color: rgba(0,0,0,.4) -   box-sizing              - arguments: Type: border-box -   columns                 - arguments: Count: 3, Gap: 10 -   double-borders          - arguments: Color One: #3C3C3C, Color Two: #999999, Radius: 0 -   flex                    - arguments: Value: 1 -   flip                    - arguments: ScaleX: -1 -   font-face               - arguments: Font Family: myFont, Eot File Src: myFont.eot, Woff File Src: myFont.woff, Ttf File Src: myFont.ttf -   opacity                 - arguments: Opacity: 0.5 -   outline radius          - arguments: Radius: 5px -   resize                  - arguments: Direction: both -   rotate                  - arguments: Degree: 0, M11: 0, M12: 0, M21: 0, M22: 0 CSS Matrix Rotation Calculator http://www.boogdesign.com/examples/transforms/matrix-calculator.html -   text-shadow             - arguments: X: 2px, Y: 2px, Blur: 5px, Color: rgba(0,0,0,.4) -   transform               - arguments: Parameters: null -   transform-style         - arguments: Style: preserve-3d -   transition              - Default arguments: What: all, Length: 1s, Easing: ease-in-out -                            - Examples: @include transition (all 2s ease-in-out); -                                        @include transition (opacity 1s ease-in 2s, width 2s ease-out); -   triple-borders          - arguments: Color One: #3C3C3C, Color Two: #999999, Color Three: #000000, Radius: 0 -   keyframes               - arguments: Animation name - content:   Animation css -   animation               - arguments: name duration timing-function delay iteration-count direction fill-mode play-state (http://www.w3schools.com/cssref/css3_pr_animation.asp)

------------------------------------------------------------- */
/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

/** Basic styling */
body { font-family: "Source Serif Pro", serif; font-size: 1.2rem; line-height: 1.5; font-weight: normal; color: rgba(0, 0, 0, 0.8); background-color: #fdfdfd; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }

p { letter-spacing: .01rem; }

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { margin-bottom: 15px; }

/** Images */
img { max-width: 100%; vertical-align: middle; }

/** Figures */
figure > img { display: block; }

figcaption { font-size: 1.05rem; }

/** Lists */
ul, ol { margin-left: 30px; }

li > ul, li > ol { margin-bottom: 0; }

/** Headings */
h1, h2, h3, h4, h5, h6 { font-family: "Roboto", sans-serif; font-weight: 300; }

/** Links */
a { color: rgba(0, 0, 0, 0.8); text-decoration: underline; }
a:hover { color: rgba(0, 0, 0, 0.8); }

/** Blockquotes */
blockquote { color: #828282; border-left: 4px solid #e8e8e8; padding-left: 15px; letter-spacing: -1px; font-style: italic; }
blockquote > :last-child { margin-bottom: 0; }

/** Code formatting */
pre, code { font-size: 15px; border: 1px solid #e8e8e8; border-radius: 3px; background-color: #eef; }

code { padding: 1px 5px; }

pre { padding: 8px 12px; overflow-x: scroll; }
pre > code { border: 0; padding-right: 0; padding-left: 0; }

/** Wrapper */
.wrapper { margin-right: auto; margin-left: auto; max-width: -webkit-calc(800px - (30px)); max-width: calc(800px - (30px)); padding-right: 15px; padding-left: 15px; }
@media screen and (min-width: 768px) { .wrapper { max-width: -webkit-calc(800px - (30px * 2)); max-width: calc(800px - (30px * 2)); padding-right: 30px; padding-left: 30px; } }

/** Clearfix */
.wrapper:after, .footer-col-wrapper:after, .prev-next:after { content: ""; display: table; clear: both; }

/** Icons */
.icon > svg { display: inline-block; width: 16px; height: 16px; vertical-align: middle; }
.icon > svg path { fill: #828282; }

.text-center { text-align: center; }

/** Site header */
.site-header { height: 8rem; position: relative; text-align: right; }
.site-header .wrapper { position: relative; height: 100%; }
.site-header .wrapper > div { height: 100%; position: relative; background-image: url(../images/vw_1200_color.svg); background-position: 0px 50%; background-repeat: no-repeat; background-size: 40%; }
.site-header h1 { position: absolute; right: 0; bottom: 0; margin: 0; }
@media screen and (max-width: 991px) { .site-header h1 { font-size: 2rem; } }
.site-header h3 { color: #828282; font-size: 1.2rem; position: absolute; right: 0; bottom: -35px; margin: 0; }
@media screen and (max-width: 991px) { .site-header h3 { font-size: 1rem; } }

header.post { height: 350px; position: relative; }
@media screen and (max-width: 991px) { header.post { height: 200px; } }
header.post .picture, header.post .gradient { position: absolute; height: 100%; width: 100%; z-index: -1; }
header.post .picture { background-size: cover; background-position: center; }
header.post .gradient { background: rgba(51, 51, 51, 0.6); }
header.post .wrapper { position: relative; height: 100%; display: table; padding: 0; }
header.post .wrapper > div { display: table-cell; vertical-align: middle; color: #ffffff; text-align: center; }
header.post .post-meta { color: #ffffff; font-family: "Roboto", sans-serif; font-size: 1.2rem; }
header.post .back { position: fixed; z-index: 500; top: 20px; right: 20px; width: 44px; height: 44px; overflow: hidden; text-indent: 100%; white-space: nowrap; cursor: pointer; border-radius: 99px; background-color: rgba(255, 255, 255, 0.5); background-image: url(../images/vw_1200_color.svg); background-size: contain; background-repeat: no-repeat; background-position: center; }
header.post .back:hover { background-color: rgba(210, 210, 210, 0.5); }

/** Site footer */
.prev-next, .disqus, .site-footer { border-top: 1px solid #e8e8e8; padding: 30px 0; }

.footer-heading { font-size: 18px; margin-bottom: 15px; }

.contact-list, .social-media screen and-list { list-style: none; margin-left: 0; }

.footer-col-wrapper { font-size: 15px; color: #828282; margin-left: -15px; }

.footer-col { float: left; margin-bottom: 15px; padding-left: 15px; }

.footer-col-1 { width: -webkit-calc(35% - (30px / 2)); width: calc(35% - (30px / 2)); }

.footer-col-2 { width: -webkit-calc(20% - (30px / 2)); width: calc(20% - (30px / 2)); }

.footer-col-3 { width: -webkit-calc(45% - (30px / 2)); width: calc(45% - (30px / 2)); }

@media screen and (max-width: 991px) { .footer-col-1, .footer-col-2 { width: -webkit-calc(50% - (30px / 2)); width: calc(50% - (30px / 2)); }
  .footer-col-3 { width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }
/** Page content */
.page-content { background-color: #f2f2f2; padding-top: 4.5rem; }

.page-heading { font-size: 20px; }

.post-list { margin-left: 0; list-style: none; -webkit-font-smoothing: antialiased; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; align-items: stretch; }
.post-list > li { margin-bottom: 30px; padding: 0 10px; width: 50%; }
.post-list > li:nth-child(1) { width: 100%; }
@media screen and (max-width: 991px) { .post-list > li { width: 100%; } }
.post-list > li > a { display: block; width: 100%; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); text-decoration: none; }
.post-list > li > a:hover { box-shadow: 0 4px 10px 1px rgba(0, 0, 0, 0.2); transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
.post-list > li > a .post-meta, .post-list > li > a h2 { padding: 10px; font-weight: normal; font-size: 1.3rem; margin-bottom: 0; }
.post-list > li > a > div { padding-top: 50%; background-size: cover; background-position: center; }
.post-list > li > a > div.desaturate { opacity: 0.8; -moz-filter: contrast(1.5) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale"); -o-filter: contrast(1.5) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale"); -webkit-filter: contrast(1.5) grayscale(100%); filter: gray; filter: contrast(1.5) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale"); -webkit-transition-property: all, left, top, width; -webkit-transition-duration: .5s, .1s, .1s, .1s; -webkit-transition-timing-function: cubic-bezier(0.33, 0, 0.2, 1); -webkit-transition-delay: 0; -moz-transition-property: all, left, top, width; -moz-transition-duration: .5s, .1s, .1s, .1s; -moz-transition-timing-function: cubic-bezier(0.33, 0, 0.2, 1); -moz-transition-delay: 0; -ms-transition-property: all, left, top, width; -ms-transition-duration: .5s, .1s, .1s, .1s; -ms-transition-timing-function: cubic-bezier(0.33, 0, 0.2, 1); -ms-transition-delay: 0; -o-transition-property: all, left, top, width; -o-transition-duration: .5s, .1s, .1s, .1s; -o-transition-timing-function: cubic-bezier(0.33, 0, 0.2, 1); -o-transition-delay: 0; transition-property: all, left, top, width; transition-duration: .5s, .1s, .1s, .1s; transition-timing-function: cubic-bezier(0.33, 0, 0.2, 1); }
.post-list > li:hover .desaturate { filter: none; -webkit-filter: none; }

.prev-next > div { width: 50%; }
.prev-next > div > a { display: block; width: 100%; text-decoration: none; position: relative; }
.prev-next > div > a::before, .prev-next > div > a::after { /* arrow icon in CSS - for element with nested unordered lists */ content: ''; position: absolute; top: 50%; margin-top: -1px; display: inline-block; height: 2px; width: 10px; background: grey; -webkit-transition: left 0.3s, color 0.3s, right 0.3s; -khtml-transition: left 0.3s, color 0.3s, right 0.3s; -moz-transition: left 0.3s, color 0.3s, right 0.3s; -ms-transition: left 0.3s, color 0.3s, right 0.3s; -o-transition: left 0.3s, color 0.3s, right 0.3s; transition: left 0.3s, color 0.3s, right 0.3s; }
.prev-next > div > a::before { -webkit-transform: rotate(45deg); -khtml-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.prev-next > div > a::after { -webkit-transform: rotate(-45deg); -khtml-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
.prev-next .next { float: right; text-align: right; }
.prev-next .next > a { padding-right: 40px; }
.prev-next .next > a::before, .prev-next .next > a::after { /* arrow goes on the right side - children navigation */ right: 20px; -webkit-transform-origin: 9px 50%; -khtml-transform-origin: 9px 50%; -moz-transform-origin: 9px 50%; -ms-transform-origin: 9px 50%; -o-transform-origin: 9px 50%; transform-origin: 9px 50%; }
.prev-next .next > a:hover::before, .prev-next .next > a:hover::after { right: 10px; }
.prev-next .prev { float: left; }
.prev-next .prev > a { padding-left: 40px; }
.prev-next .prev > a::before, .prev-next .prev > a::after { /* arrow goes on the right side - children navigation */ left: 20px; -webkit-transform-origin: 1px 50%; -khtml-transform-origin: 1px 50%; -moz-transform-origin: 1px 50%; -ms-transform-origin: 1px 50%; -o-transform-origin: 1px 50%; transform-origin: 1px 50%; }
.prev-next .prev > a:hover { opacity: .5; }
.prev-next .prev > a:hover::before, .prev-next .prev > a:hover::after { left: 10px; }
.prev-next h2 { padding: 10px; font-weight: normal; font-size: 1.3rem; margin-bottom: 0; }

.post-meta { font-size: 1.05rem; color: #828282; }

.post-link { display: block; font-size: 24px; }

/** Posts */
.post-header { margin-bottom: 30px; }

.post-title { font-size: 36px; letter-spacing: -1px; line-height: 1; }
@media screen and (max-width: 991px) { .post-title { font-size: 28px; } }

.post-content { margin-bottom: 30px; }
.post-content h2 { font-size: 28px; }
@media screen and (max-width: 991px) { .post-content h2 { font-size: 22px; } }
.post-content h3 { font-size: 26px; }
@media screen and (max-width: 991px) { .post-content h3 { font-size: 20px; } }

.disqus { background-color: #f2f2f2; }

/** Syntax highlighting styles */
.highlight { background: #fff; }
.highlight .c { color: #998; font-style: italic; }
.highlight .err { color: #a61717; background-color: #e3d2d2; }
.highlight .k { font-weight: bold; }
.highlight .o { font-weight: bold; }
.highlight .cm { color: #998; font-style: italic; }
.highlight .cp { color: #999; font-weight: bold; }
.highlight .c1 { color: #998; font-style: italic; }
.highlight .cs { color: #999; font-weight: bold; font-style: italic; }
.highlight .gd { color: #000; background-color: #fdd; }
.highlight .gd .x { color: #000; background-color: #faa; }
.highlight .ge { font-style: italic; }
.highlight .gr { color: #a00; }
.highlight .gh { color: #999; }
.highlight .gi { color: #000; background-color: #dfd; }
.highlight .gi .x { color: #000; background-color: #afa; }
.highlight .go { color: #888; }
.highlight .gp { color: #555; }
.highlight .gs { font-weight: bold; }
.highlight .gu { color: #aaa; }
.highlight .gt { color: #a00; }
.highlight .kc { font-weight: bold; }
.highlight .kd { font-weight: bold; }
.highlight .kp { font-weight: bold; }
.highlight .kr { font-weight: bold; }
.highlight .kt { color: #458; font-weight: bold; }
.highlight .m { color: #099; }
.highlight .s { color: #d14; }
.highlight .na { color: #008080; }
.highlight .nb { color: #0086B3; }
.highlight .nc { color: #458; font-weight: bold; }
.highlight .no { color: #008080; }
.highlight .ni { color: #800080; }
.highlight .ne { color: #900; font-weight: bold; }
.highlight .nf { color: #900; font-weight: bold; }
.highlight .nn { color: #555; }
.highlight .nt { color: #000080; }
.highlight .nv { color: #008080; }
.highlight .ow { font-weight: bold; }
.highlight .w { color: #bbb; }
.highlight .mf { color: #099; }
.highlight .mh { color: #099; }
.highlight .mi { color: #099; }
.highlight .mo { color: #099; }
.highlight .sb { color: #d14; }
.highlight .sc { color: #d14; }
.highlight .sd { color: #d14; }
.highlight .s2 { color: #d14; }
.highlight .se { color: #d14; }
.highlight .sh { color: #d14; }
.highlight .si { color: #d14; }
.highlight .sx { color: #d14; }
.highlight .sr { color: #009926; }
.highlight .s1 { color: #d14; }
.highlight .ss { color: #990073; }
.highlight .bp { color: #999; }
.highlight .vc { color: #008080; }
.highlight .vg { color: #008080; }
.highlight .vi { color: #008080; }
.highlight .il { color: #099; }

.post-content img { border: 1px solid #e8e8e8; background-color: white; margin: 2px; box-shadow: #828282 0 0 4px; }
.post-content img:hover { box-shadow: #828282 0 0 10px; }
@media only screen and (max-width: 767px) { .post-content img.thumbnail { width: 135px; } }
@media only screen and (min-width: 768px) { .post-content img { margin: 4px; } }

.lightbox { font-family: 'Source Sans Pro', sans-serif; }
.lightbox .lb-data .lb-caption { font-size: 1rem; }
