@charset "UTF-8";
/*!
* Pixyll - A simple, beautiful Jekyll theme that's mobile first.
* @author John Otander <johnotander@gmail.com> (http://johnotander.com/)
* @link https://github.com/johnotander/pixyll
* @license MIT
*/
/*!

  BASSCSS

  Next-level CSS toolkit - basscss.com

  Made with love by Jxnblk - ©2014 Brent Jackson
  MIT License http://opensource.org/licenses/MIT

*/
/* Basscss Base Buttons */
button,
.button {
  font-family: "Lato", "Helvetica Neue", Helvetica, sans-serif;
  font-size: inherit;
  font-weight: normal;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  box-sizing: border-box;
  line-height: 1.125rem;
  padding: 0.5rem 1rem;
  margin: 0;
  height: auto;
  border: 1px solid transparent;
  vertical-align: middle;
  -webkit-appearance: none; }

::-moz-focus-inner {
  border: 0;
  padding: 0; }

.button:hover {
  text-decoration: none;
  border: 1px solid transparent; }

/* Basscss Base Forms */
input,
select,
textarea,
fieldset {
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 0.5rem; }

input[type=text],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week] {
  box-sizing: border-box;
  height: 2.25rem;
  padding: 0.5rem 0.5rem;
  vertical-align: middle;
  -webkit-appearance: none; }

select {
  box-sizing: border-box;
  line-height: 1.75;
  padding: 0.5rem 0.5rem; }

select:not([multiple]) {
  height: 2.25rem;
  vertical-align: middle; }

textarea {
  box-sizing: border-box;
  line-height: 1.75;
  padding: 0.5rem 0.5rem; }

.fieldset-reset {
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  border: 0; }

.fieldset-reset legend {
  padding: 0; }

body,
button {
  margin: 0; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%; }

img {
  max-width: 100%; }

svg {
  max-height: 100%; }

/* Basscss Base Typography */
body {
  font-family: "Merriweather", "PT Serif", Georgia, "Times New Roman", serif;
  line-height: 1.5;
  font-size: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Lato", "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 900;
  line-height: 1.25;
  margin-top: 1em;
  margin-bottom: .5em; }

p,
dl,
ol,
ul {
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 1rem; }

ol,
ul {
  padding-left: 2rem; }

pre,
code,
samp {
  font-family: "Source Code Pro", Consolas, monospace;
  font-size: inherit; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow-x: scroll; }

hr {
  margin-top: 2rem;
  margin-bottom: 2rem; }

blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: 0;
  padding-left: 1rem;
  padding-right: 1rem; }

blockquote,
blockquote p {
  font-size: 1.25rem;
  font-style: italic; }

h1,
.h1 {
  font-size: 2rem; }

h2,
.h2 {
  font-size: 1.5rem; }

h3,
.h3 {
  font-size: 1.25rem; }

h4,
.h4 {
  font-size: 1rem; }

h5,
.h5 {
  font-size: 0.875rem; }

h6,
.h6 {
  font-size: 0.75rem; }

.list-reset {
  list-style: none;
  padding-left: 0; }

.button-blue {
  color: white;
  background-color: #0076df;
  border-radius: 3px;
  transition-duration: .1s;
  transition-timing-function: ease-out;
  transition-property: box-shadow, background-color; }

.button-blue:hover {
  opacity: .875; }

.button-blue:active,
.button-blue.is-active {
  box-shadow: inset 0 0 0 32px rgba(0, 0, 0, 0.125), inset 0 2px 3px 0 rgba(0, 0, 0, 0.25); }

.button-blue:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5), 0 0 1px 4px rgba(0, 118, 223, 0.5); }

.button-blue:disabled,
.button-blue.is-disabled {
  opacity: .5; }

.highlight {
  -webkit-text-size-adjust: none; }

.highlight .c,
.highlight .cs,
.highlight .cm,
.highlight .cp,
.highlight .c1 {
  color: #777;
  font-style: italic; }

.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kr,
.highlight .kt,
.highlight .kp {
  color: #00369f; }

.highlight .na,
.highlight .nb,
.highlight .nc,
.highlight .no,
.highlight .nd,
.highlight .ni,
.highlight .ne,
.highlight .nf,
.highlight .nl,
.highlight .nn,
.highlight .nx {
  color: #333; }

.highlight .mi,
.highlight .il {
  color: #009f06; }

.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s2,
.highlight .s3,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .ss,
.highlight .s1 {
  color: #f95020; }

.hljs-title,
.hljs-id,
.scss .hljs-preprocessor {
  color: #f95020;
  font-weight: bold; }

.highlight .k {
  font-weight: normal; }

.highlight .nc,
.highlight .no {
  color: #00369f; }

.highlight .o {
  color: #00369f;
  font-weight: normal; }

.highlight .nb {
  color: #009f06; }

.highlight .sr {
  color: #009f06; }

.highlight .ss {
  color: #f92080; }

.hljs-built_in {
  color: #00369f; }

.hljs-preprocessor,
.hljs-pragma,
.hljs-pi,
.hljs-doctype,
.hljs-shebang,
.hljs-cdata {
  color: #777;
  font-weight: bold; }

.hljs-deletion {
  background: #ffdddd; }

.hljs-addition {
  background: #ddffdd; }

.diff .hljs-change {
  background: #00369f; }

.hljs-chunk {
  color: #ccc; }

/* Basscss Color Base */
body {
  color: #333;
  background-color: white; }

a {
  color: #0076df;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

pre,
code {
  background-color: #eee;
  border-radius: 3px; }

hr {
  border: 0;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #ccc; }

/* Basscss Colors */
.dark-gray {
  color: #333; }

.white {
  color: white; }

.blue {
  color: #0076df; }

.mid-gray {
  color: #777; }

.light-gray {
  color: #ccc; }

.lighter-gray {
  color: #eee; }

.red {
  color: #f95020; }

.green {
  color: #00cf26; }

.yellow {
  color: #efcc00; }

.orange {
  color: #ffcc22; }

.bg-dark-gray {
  background-color: #333; }

.bg-white {
  background-color: white; }

.bg-blue {
  background-color: #0076df; }

.bg-mid-gray {
  background-color: #777; }

.bg-light-gray {
  background-color: #ccc; }

.bg-lighter-gray {
  background-color: #eee; }

.bg-red {
  background-color: #f95020; }

.bg-green {
  background-color: #00cf26; }

.bg-yellow {
  background-color: #efcc00; }

.bg-orange {
  background-color: #ffcc22; }

.bg-darken-1 {
  background-color: rgba(0, 0, 0, 0.0625); }

.bg-darken-2 {
  background-color: rgba(0, 0, 0, 0.125); }

.bg-darken-3 {
  background-color: rgba(0, 0, 0, 0.25); }

.bg-darken-4 {
  background-color: rgba(0, 0, 0, 0.5); }

/* Basscss Utility Headings */
.h00 {
  font-size: 4rem; }

.h0 {
  font-size: 3rem; }

@media (min-width: 52em) {
  .h00-responsive {
    font-size: 8vw; }

  .h0-responsive {
    font-size: 6vw; }

  .h1-responsive {
    font-size: 4vw; } }
@media (min-width: 96em) {
  .h00-responsive {
    font-size: 7.68rem; }

  .h0-responsive {
    font-size: 5.76rem; }

  .h1-responsive {
    font-size: 3.84rem; } }
/* Basscss Utility Typography */
.bold {
  font-weight: bold; }

.regular {
  font-weight: normal; }

.italic, .post-footer {
  font-style: italic; }

.caps {
  text-transform: uppercase;
  letter-spacing: .2em; }

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

.center {
  text-align: center; }

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

.justify {
  text-align: justify; }

.nowrap {
  white-space: nowrap; }

/* Basscss Utility White Space */
.m0 {
  margin: 0; }

.mt0 {
  margin-top: 0; }

.mr0 {
  margin-right: 0; }

.mb0 {
  margin-bottom: 0; }

.ml0 {
  margin-left: 0; }

.m1 {
  margin: 0.5rem; }

.mt1 {
  margin-top: 0.5rem; }

.mr1 {
  margin-right: 0.5rem; }

.mb1 {
  margin-bottom: 0.5rem; }

.ml1 {
  margin-left: 0.5rem; }

.m2 {
  margin: 1rem; }

.mt2 {
  margin-top: 1rem; }

.mr2 {
  margin-right: 1rem; }

.mb2 {
  margin-bottom: 1rem; }

.ml2 {
  margin-left: 1rem; }

.m3 {
  margin: 2rem; }

.mt3 {
  margin-top: 2rem; }

.mr3 {
  margin-right: 2rem; }

.mb3 {
  margin-bottom: 2rem; }

.ml3 {
  margin-left: 2rem; }

.m4 {
  margin: 4rem; }

.mt4 {
  margin-top: 4rem; }

.mr4 {
  margin-right: 4rem; }

.mb4 {
  margin-bottom: 4rem; }

.ml4 {
  margin-left: 4rem; }

.mxn1 {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.mxn2 {
  margin-left: -1rem;
  margin-right: -1rem; }

.mxn3 {
  margin-left: -2rem;
  margin-right: -2rem; }

.mxn4 {
  margin-left: -4rem;
  margin-right: -4rem; }

.mx-auto {
  margin-left: auto;
  margin-right: auto; }

.p1 {
  padding: 0.5rem; }

.py1 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.px1 {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

.p2 {
  padding: 1rem; }

.py2 {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.px2 {
  padding-left: 1rem;
  padding-right: 1rem; }

.p3 {
  padding: 2rem; }

.py3 {
  padding-top: 2rem;
  padding-bottom: 2rem; }

.px3 {
  padding-left: 2rem;
  padding-right: 2rem; }

.p4 {
  padding: 4rem; }

.py4 {
  padding-top: 4rem;
  padding-bottom: 4rem; }

.px4 {
  padding-left: 4rem;
  padding-right: 4rem; }

/*!

Pixyll

A simple, beautiful theme for Jekyll that emphasizes content rather than
aesthetic fluff.

Built upon BASSCSS (http://jxnblk.github.io/basscss).

Crafted with <3 by John Otander (@4lpine) - ©2015 John Otander
MIT License http://opensource.org/licenses/MIT

*/
html, body {
  height: auto;
  min-height: 100%; }

img {
  max-width: 100%; }

em img {
  max-width: 100%;
  margin-left: 0; }

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

a {
  color: #0076df;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 13%, rgba(0, 118, 223, 0.8) 13%, rgba(0, 118, 223, 0.8) 18%, rgba(0, 0, 0, 0) 17%);
  text-shadow: white 1px 0px 0px, white -1px 0px 0px; }

a:hover,
a:focus,
a:active {
  border: 0;
  color: #000a13;
  text-decoration: none;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0) 13%, rgba(0, 10, 19, 0.8) 13%, rgba(0, 10, 19, 0.8) 17%, rgba(0, 0, 0, 0) 17%);
  text-shadow: white 1px 0px 0px, white -1px 0px 0px; }

a.imagelink, a.imagelink:hover, a.imagelinka:focus, a.imagelinka:active {
  background: none; }

button,
.button {
  text-shadow: none;
  background-image: none; }

.button:hover,
.button:focus,
.button:active {
  color: white;
  text-shadow: none;
  background-image: none; }

.anchorjs-link {
  text-shadow: none;
  background-image: none; }

.anchorjs-link:hover,
.anchorjs-link:focus,
.anchorjs-link:active {
  border: 0;
  color: #000a13;
  text-shadow: none;
  background-image: none; }

.left {
  float: left; }

.right {
  float: right; }

.clearfix:before, .clearfix:after {
  content: ' ';
  display: table; }

.clearfix:after {
  clear: both; }

pre,
pre code {
  background-color: transparent;
  border-radius: 0; }

pre,
code {
  font-family: "Source Code Pro", Consolas, monospace; }

code {
  color: #7a7a7a; }

pre {
  padding: 1.125em;
  line-height: 1.11;
  overflow-x: scroll;
  margin-bottom: 0.88em;
  background-color: #fafafa; }

.highlight .p {
  font-size: 1.125rem;
  line-height: 1; }

pre {
  counter-reset: line-numbering;
  white-space: pre;
  overflow-x: auto;
  word-break: inherit;
  word-wrap: inherit; }

pre a {
  background-image: none; }

pre a::before {
  content: counter(line-numbering);
  counter-increment: line-numbering;
  padding-right: 1em;
  /* space after numbers */
  width: 25px;
  text-align: right;
  opacity: 0.7;
  display: inline-block;
  color: #ccc;
  margin-right: 16px;
  font-size: 13px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

pre a:first-of-type::before {
  padding-top: 10px; }

pre a:last-of-type::before {
  padding-bottom: 10px; }

pre a:only-of-type::before {
  padding: 10px; }

input,
select,
textarea,
fieldset {
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 0.5rem; }

input[type=text],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week] {
  box-sizing: border-box;
  height: 2.25rem;
  padding: 0.5rem 0.5rem;
  vertical-align: middle;
  -webkit-appearance: none; }

select {
  box-sizing: border-box;
  line-height: 1.75;
  padding: 0.5rem 0.5rem; }

select:not([multiple]) {
  height: 2.25rem;
  vertical-align: middle; }

textarea {
  box-sizing: border-box;
  line-height: 1.75;
  padding: 0.5rem 0.5rem; }

.form-stacked input,
.form-stacked textarea,
.form-stacked select {
  width: 100%; }

.field-light {
  background-color: white;
  transition: box-shadow .2s ease;
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
  border-radius: 3px; }

.field-light:focus {
  outline: none;
  border-color: #0076df;
  box-shadow: 0 0 2px rgba(0, 118, 223, 0.5); }

.field-light:disabled {
  color: #777;
  background-color: rgba(0, 0, 0, 0.125); }

.field-light:-moz-read-only:not(select) {
  background-color: rgba(0, 0, 0, 0.125); }

.field-light:read-only:not(select) {
  background-color: rgba(0, 0, 0, 0.125); }

.field-light:invalid {
  border-color: #f95020; }

.field-light.is-success {
  border-color: #00cf26; }

.field-light.is-warning {
  border-color: #efcc00; }

.field-light.is-error {
  border-color: #f95020; }

.radio-light,
.checkbox-light {
  transition: box-shadow .2s ease; }

.radio-light {
  border-radius: 50%; }

.radio-light:focus,
.checkbox-light:focus {
  outline: none;
  box-shadow: 0 0 2px rgba(0, 118, 223, 0.5); }

html {
  font-size: 16px; }

abbr {
  border-bottom: 1px black dotted;
  cursor: help; }

p {
  color: #333;
  line-height: 1.5; }

small,
.small {
  font-size: 0.707rem; }

sup {
  position: relative;
  vertical-align: middle;
  top: -0.9ex; }

.site-header {
  padding-top: 0.5rem;
  padding-bottom: 1rem; }

.site-header a {
  color: #333;
  font-size: 1.25rem;
  font-weight: 300;
  background-image: none; }

.site-header .site-title {
  font-size: 1.5rem; }

.site-nav {
  margin-top: 1rem; }

.site-header nav a {
  color: #666; }

.site-header nav a:hover,
.site-header nav a:focus,
.site-header nav a:active {
  color: #444;
  opacity: 1;
  border-bottom: 2px solid #444; }

.site-nav a + a {
  margin-left: 1em; }

.site-header a:hover,
.posts .post a:hover .post-meta,
.posts .post a:hover .post-title,
.posts .post a:hover .post-summary {
  opacity: 0.88; }

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

.site-header .site-nav {
  text-align: center; }

/*
  Table styles copied from Bootstrap
  Copyright (c) 2013 Twitter, Inc
*/
table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1.5rem;
  font-size: 1.125rem; }
  table > thead > tr > th,
  table > thead > tr > td,
  table > tbody > tr > th,
  table > tbody > tr > td,
  table > tfoot > tr > th,
  table > tfoot > tr > td {
    padding: 12px;
    line-height: 1.2;
    vertical-align: top;
    border-top: 1px solid #333; }
  table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #333; }
  table > caption + thead > tr:first-child > th,
  table > caption + thead > tr:first-child > td,
  table > colgroup + thead > tr:first-child > th,
  table > colgroup + thead > tr:first-child > td,
  table > thead:first-child > tr:first-child > th,
  table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  table > tbody + tbody {
    border-top: 2px solid #333; }

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2014 Daniel Eden
*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px) translate3d(0, 0, 0);
    transform: translateY(-20px) translate3d(0, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) translate3d(0, 0, 0);
    transform: translateY(0) translate3d(0, 0, 0); } }
.fade-in-down {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

.site-wrap {
  flex: 1 0 auto; }

footer {
  background-color: #fafafa;
  border-top: thin solid #f3f3f3;
  color: #7a7a7a;
  font-size: 0.75rem;
  font-weight: 300;
  padding: 2rem;
  text-align: center; }

footer .social-icons a {
  color: #333;
  font-size: 1.25rem;
  font-weight: 300;
  background-image: none; }

.social-icons-left, .social-icons-right {
  text-align: center;
  float: none; }

.social-icons {
  font-size: 1.25rem;
  padding: 0.5em 0 0 0;
  width: 100%; }

.social-icons a.fa {
  cursor: pointer;
  opacity: 0.8;
  padding: 0.2em; }

.social-icons a.fa:hover {
  opacity: 1; }

.social-icons iframe[title=Flattr] {
  position: relative;
  top: 0.1em; }

footer .social-icons-left, footer .social-icons-right {
  text-align: center; }

blockquote {
  border-left: 5px solid #7a7a7a;
  font-style: italic;
  margin-left: 0.5rem;
  padding: 0.5rem; }

blockquote footer {
  background-color: #fff;
  border-color: transparent;
  color: #7a7a7a;
  font-size: .85rem;
  font-style: normal;
  text-align: left;
  padding: 0; }

figure {
  margin: 0 0 0 0;
  text-align: center; }

figure figcaption {
  margin-bottom: 2rem;
  padding: 1rem;
  padding-top: 0.5rem;
  color: #7a7a7a;
  font-size: .85rem;
  border-bottom: 1px solid #7a7a7a;
  text-align: left; }

video {
  width: 100%    !important;
  height: auto   !important; }

.posts {
  margin: 0; }

.posts .post {
  margin-bottom: 0.75em;
  border-bottom: thin solid #f3f3f3; }

.posts .post:last-child {
  border-bottom: none;
  margin-bottom: .375em;
  padding-bottom: 0; }

.post-link .post-title {
  margin-top: 0;
  font-weight: 600;
  color: #333; }

.post-footer {
  margin-top: .75rem;
  text-align: center; }

.post-footer .avatar {
  margin: 2rem 0;
  width: 100px;
  border-radius: 50%; }

.meta,
.post-meta,
.share-page {
  width: auto;
  font-weight: 300;
  margin: 0;
  padding: .25em 0;
  color: #7a7a7a;
  font-style: italic; }

.related-post-title {
  border-bottom: thin solid #f3f3f3; }

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

.share-page a {
  background-image: none; }

@media screen and (min-width: 32em) {
  html {
    font-size: 16px; }

  h1,
  .h1 {
    font-size: 2rem; }

  .site-header {
    text-align: left; }

  .site-nav {
    margin-top: 0; }

  .site-header a {
    font-size: 1rem; }

  .site-header .site-title {
    font-size: 1.25rem;
    float: left; }

  .site-header .site-nav {
    float: right;
    margin-top: .25rem; }

  blockquote {
    margin-left: 2rem;
    padding: 2rem; }

  .social-icons-left {
    text-align: left; }

  .social-icons-right {
    text-align: right; } }
@media screen and (min-width: 48em) {
  html {
    font-size: 18px; }

  img.imgmw600 {
    max-width: 30rem; }

  img.imgmw400 {
    max-width: 20rem; } }
@media screen and (min-width: 64em) {
  html {
    font-size: 20px; } }
@media screen and (min-width: 78em) {
  em img {
    max-width: 56rem;
    margin-left: -7em; } }
.gist,
.gist .highlight .p {
  font-size: .75rem; }

.gist .lines {
  width: 100%; }

.gist table > tbody > tr > td {
  border-top: 0px; }

.measure {
  margin: 0 auto;
  max-width: 42rem; }

.pagination {
  font-size: 1rem;
  font-family: 'Lato', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 300;
  text-align: center; }

.pagination a, .pagination .disabled {
  transition: all 0.2s ease-in-out;
  background: #fafafa;
  border-radius: 0.1875em;
  border: 1px solid #f3f3f3;
  color: #333333;
  padding: 1em 1.5em; }

.pagination .disabled, .pagination .pagination-meta {
  opacity: 0.5; }

.pagination .pagination-meta {
  overflow: hidden; }

.pagination a:hover, .pagination a:focus {
  background: white;
  color: #477dca; }

.pagination a:active {
  background: #f7f7f7; }

.pagination .button {
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 1px; }

.button-disabled {
  opacity: 0.55;
  background-color: #999; }

.button-disabled:hover,
.button-disabled:active,
.button-disabled:focus {
  cursor: not-allowed;
  background-color: #999; }
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
  .pswp * {
    box-sizing: border-box; }
  .pswp img {
    max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1), -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
	
	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none; }
  .pswp__button:focus, .pswp__button:hover {
    opacity: 1; }
  .pswp__button:active {
    outline: none;
    opacity: 0.9; }
  .pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(default-skin.svg); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }

.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }
  .pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }
    .pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }
    .pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }
    .pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }
  .pswp__share-modal--fade-in .pswp__share-tooltip {
    -webkit-transform: translateY(0);
            transform: translateY(0); }

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }

a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }
  a.pswp__share--facebook:hover:before {
    border-bottom-color: #3E5C9A; }

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }

a.pswp__share--download:hover {
  background: #DDD; }

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }

/*
	
	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }
  .pswp__caption small {
    font-size: 11px;
    color: #BBB; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }

.pswp__caption--empty {
  display: none; }

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }
  .pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(preloader.gif) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    -webkit-animation: clockwise 500ms linear infinite;
            animation: clockwise 500ms linear infinite; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
            animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }

.pswp--css_animation .pswp__preloader__cut {
  /* 
			The idea of animating inner circle is based on Polymer ("material") loading indicator 
			 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
		*/
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }

.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }

@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  50% {
    -webkit-transform: rotate(-140deg);
            transform: rotate(-140deg); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

/*
	
	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }
/* sprockets requires */


