/* ------------------------------------------------------------------------------ */
/* annschecter.com */
/* Last updated: Jan 9, 2024 */
/* ------------------------------------------------------------------------------ */

/* ------------------------------------------------------------------------------ */
/* TABLE OFF CONTENT
  1. GLOBAL CSS
  2. TYPOGRAPHY
  3. FONTAWESOME 4.6.3 
  4. UTILITY CLASS
  5. GRIDS SYSTEM 6
  6. BUTTON
  7. UI
*/

/* ------------------------------------------------------------------------------ */
/* 1. GLOBAL CSS */
/* ------------------------------------------------------------------------------ */

/* NOTE: Set box-sizing globally to handle padding and border widths to pushing into the actual width (support in IE8 up) */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  font-size: 100%; /* Set font size to default browser font-size (typically 16px) */
}

body {
  position: relative;
  cursor: default;
  color: #323240;
  /*font-family: Helvetica Neue,Helvetica,Arial,sans-serif;*/
  font-family: 'Inter', Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 17px; font-size: 1.0625rem;
  font-weight: normal;
  font-style: normal;
  /*line-height: 150%;  Note: Set to $base-line-height to take on browser default of 150% */
  line-height: 1.75;
  padding: 0;
  margin: 0;
  background-color: #fff;
}

.font-default {
  font-family: 'Inter', Helvetica Neue, Helvetica, Arial, sans-serif;
}

.font-header {
  font-family: 'Zilla Slab';
}

/* ------------------------------------------------------------------------------ */
/* 2. TYPOGRAPHY */
/* ------------------------------------------------------------------------------ */

/* Typography resets
-------------------------------------------------------- */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

/* Default header styles
-------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  color: #303050;
  text-rendering: optimizeLegibility;  
  font-family: 'Zilla Slab';
}

h1, h2, h3 {
  line-height: 1.2;
  margin-bottom: 25px;
}

h4, h5, h6 {
  line-height: 1.3;
  margin-bottom: 20px;
}

/* Header styles for small screen */
h1 { font-size: 40px; font-size: 2.5rem; font-weight: 400; }
h2 { font-size: 34px; font-size: 2.125rem; font-weight: 400; }
h3 { font-size: 28px; font-size: 1.75rem; font-weight: 400; }
h4 { font-size: 25px; font-size: 1.5625rem; font-weight: 500; }
h5 { font-size: 21px; font-size: 1.4375rem; font-weight: 500; }
h6 { font-size: 20px; font-size: 1.25rem; font-weight: 600; }

/* Header styles for default screen */
@media only screen and (min-width: 40.063em) {
  h1 { font-size: 45px; font-size: 2.8125rem; font-weight: 400; }
  h2 { font-size: 40px; font-size: 2.5rem; font-weight: 400; }
  h3 { font-size: 32px; font-size: 2rem; font-weight: 400; }
  h4 { font-size: 27px; font-size: 1.6875rem; font-weight: 500; }
  h5 { font-size: 23px; font-size: 1.4375rem; font-weight: 500; }
  h6 { font-size: 20px; font-size: 1.25rem; font-weight: 600;}
}

p + h1 { margin-top: 45px; }
p + h2 { margin-top: 45px; }
p + h3 { margin-top: 45px; }

p.last {
  margin-bottom: 0;
}


/* Default Link Styles
-------------------------------------------------------- */
a {
  color: #323240;
  text-decoration: none;
  line-height: inherit;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  outline: none;
  padding-bottom: 1px;
  border-bottom: 1px solid #ccc;
}

a:hover,
a:focus,
a:active {
  color: #4300bf;
  cursor: pointer;
  cursor: hand;
  border-bottom: 1px solid #4300bf;
}

a.no-border {
  border-bottom: none;
}

a.no-border:hover,
a.no-border:focus,
a.no-border:active {
  border-bottom: none;
}


/* Text Highlights
-------------------------------------------------------- */
::selection {
  color: #f4f4f4;
  background: #333; /* WebKit/Blink Browsers */
}
::-moz-selection {
  color: #f4f4f4;
  background: #333; /* Gecko Browsers */
}

/* Image
-------------------------------------------------------- */
/* NOTE: Grid Defaults to get images to work properly */
img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: none;
  -ms-interpolation-mode: bicubic; /* Fix resizing images dimensions issue in IE */
}

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object {
  max-width: none !important;
}

/* Default paragraph styles
-------------------------------------------------------- */
p {
  margin-bottom: 30px; margin-bottom: 1.875rem;
  text-rendering: optimizeLegibility;
}

p.lead {
  font-size: 1.21875rem; /* 19.5px */
  line-height: 1.5;
}

/* Default Horizontal Rule styles
-------------------------------------------------------- */
hr {
  clear: both;
  border-top: solid #e9e9e9;
  border-width: 1px 0 0;
  margin: 40px 0;
  height: 0
}

hr.hr--clear {
  border-top-color: transparent
}

hr.hr--small {
  width: 100px;
  margin: 25px auto
}

hr.hr--medium {
  width: 200px;
  margin: 25px auto
}

hr.dark {
  border-color: #222
}

hr.thick {
  border-width: 2px 0 0 0
}

hr.hr--gutter-small {
  margin: 15px 0
}

hr.hr--gutter-large {
  margin: 50px 0
}

hr.hr--gutter-xlarge {
  margin: 100px 0
}

/* Helpful Typography Defaults
-------------------------------------------------------- */
em, i {
  font-style: italic;
  line-height: inherit;
}

strong, b {
  font-weight: bold;
  line-height: inherit;
}

small, .small {
  display: inline-block;
  font-size: 75%;
  line-height: 1.4;
}

code {
  color: #222;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-size: 13px; font-size: 0.8125rem;
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #ccc;
  background-color: #eee;
}

kbd, .keystroke {
  color: #222222;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  border: 1px solid #dddddd;
  background-color: #ededed;
  border-radius: 3px;
}

/* Lists
-------------------------------------------------------- */
ul, ol, dl {
  font-family: inherit;
  list-style-position: outside;
  margin-bottom: 1.25rem;
}

ul {
  margin-left: 45px;
}

ul li, ol li {
  line-height: 1.6;
  margin-bottom: 8px;
}

ul li p {
  line-height: 1.6;
}

/* No margin-bottom list*/
ul.no-margin-bottom {
  margin-bottom: 0;
}

/* No margin-left list*/
ul.margin-left-20 {
  margin-left: 20px;
}

/* No bullet list*/
ul.no-bullet {
  margin-left: 0;
}



ul.no-bullet li ul,
ul.no-bullet li ol {
  list-style: none;
  margin-left: 1.25rem;
  margin-bottom: 0;
}

/* Inline-list creates a horizontal list.*/
.inline-list {
  overflow: hidden;
  list-style: none;
  padding: 0;
  margin: 0;
}

.inline-list > li {
  display: block;
  float: left;
  list-style: none;
  margin-left: 25px;
  margin-bottom: 0;
}

.inline-list > li > * {
  display: block;
}

.inline-list li:first-child {
  margin-left: 0;
}

ul.list-underline {
  margin: 0px 0 30px 0;
}
ul.list-underline li {
  padding-bottom: 3px;
  margin-top: 0px;
  margin-bottom: 8px;
  border-bottom: solid 1px #ddd;
}
/* Unordered Lists
-------------------------------------------------------- */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit;
}

ul.square {
  list-style-type: square;
  margin-left: 1.1rem;
}

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem;
}

ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem;
}

ul.no-bullet {
  list-style: none;
}

/* Ordered Lists
-------------------------------------------------------- */
ol {
  margin-left: 1.4rem;
}

ol li ul,
ol li ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

/* Definition Lists
-------------------------------------------------------- */
dl dt {
  font-weight: bold;
  margin-bottom: 0.3rem;
}

dl dd {
  margin-bottom: 0.75rem;
}

/* Abbreviations
-------------------------------------------------------- */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222222;
  border-bottom: 1px dotted #dddddd;
  cursor: help;
}

abbr {
  text-transform: none;
}

/* Blockquotes
-------------------------------------------------------- */
blockquote {
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  margin: 0 0 1.25rem;
  border-left: 1px solid #dddddd;
}

blockquote cite {
  display: block;
  color: #555555;
  /*font-size: 0.8125rem; */
}

blockquote cite:before {
  content: "\2014 \0020";
}

blockquote cite a,
blockquote cite a:visited {
  color: #555555;
}

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f;
}


/* TYPOGRAPHY: Print styles
-------------------------------------------------------- */
/*
 * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
 * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
*/
.print-only {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
    /* h5bp.com/t */
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .hide-on-print {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  .show-for-print {
    display: inherit !important;
  }
}


/* ------------------------------------------------------------------------------ */
/* 3. FONTAWESOME 4.6.3 */
/* ------------------------------------------------------------------------------ */

/* Default Style
-------------------------------------------------------- */
@font-face {
    font-family: 'FontAwesome';
    src: url('/fonts/fontawesome-webfont.eot?v=4.4.0');
    src: url('/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
.fa-2x {
  font-size: 2.25em
}
.fa-3x {
  font-size: 3em
}
/* List Icons Style
-------------------------------------------------------- */
.fa-ul {
  padding-left: 0;
  margin-left: 0px;
  list-style-type: none
}
.fa-ul > li {
  position: relative;
  margin-bottom: 12px;
  margin-left: 8px
}
.fa-li {
  position: absolute;
  left: -38px;
  width: 40px;
  top: -1px;
  text-align: center;
  font-size: 23px
}
/* Icon Value
-------------------------------------------------------- */
.fa-twitter:before {
  content: "\f099"
}
.fa-linkedin:before {
  content: "\f0e1"
}
.fa-envelope-o:before {
  content: "\f003"
}
.fa-long-arrow-left:before {
  content: "\f177"
}
.fa-long-arrow-right:before {
  content: "\f178"
}


/* ------------------------------------------------------------------------------ */
/* 4. UTILITY CLASS */
/* ------------------------------------------------------------------------------ */
/* Colors
-------------------------------------------------------- */
.color-grey {
  color: #85879a;
}

.bg-grey-1 {
  background-color: #f9fafa;
}

/* Text 
-------------------------------------------------------- */
.text-justify {
  text-align: justify !important;
}

.text-12 {
  font-size: 12px;
  line-height: 1.2;
}

.text-14 {
  font-size: 14px;
  line-height: 1.5;
}

.text-15 {
  font-size: 15px;
}

.text-16 {
  font-size: 16px;
}

.text-17 {
  font-size: 17px;
}

.text-italic {
  font-style: italic;
}

.all-caps {
  text-transform: uppercase;
}

.weight-300 {
  font-weight: 300;
}

.weight-400 {
  font-weight: 400;
}

.weight-500 {
  font-weight: 500;
}

.weight-600 {
  font-weight: 600;
}

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

.weight-bold {
  font-weight: bold;
}

/* Highlight
-------------------------------------------------------- */  
.highlight-circle {
  margin-left: -30px;
}

.highlight-circle >:first-child { 
  margin-left: 28px;
}

.highlight-circle:before {
  z-index: -1;
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  margin-top: 3px;
  border-radius: 50%;
  background: #eee;  
  border: 1px solid #4300bf;
}

.highlight-circle.circle-right:before {
  margin-left: 8px;
}


/* Headline 
-------------------------------------------------------- */  

/* Headline with animated sonar 
------------------------- */ 
/* Headline sonar - prevent scrollbars to appear when waves go out of bound */
.h-sonar-wrapper {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding-top: 30px; 
  padding-left: 30px;
  margin-left: -70px;
}

.h-sonar-wrapper h2 { 
  margin-left: 37px;
}

/* Headline sonar - the circle */
.h-sonar-emitter {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 9999px;
  background-color: hsl(9, 100%, 80%);
}

/* Headline sonar - the 'wave', same shape and size as its parent */
.h-sonar-wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background-color: hsl(9, 100%, 80%);
  opacity: 0;
  z-index: -1;
  pointer-events: none;
}

/* Headline sonar - animation / NOTE: add browser prefixes where needed. */
.h-sonar-wave {
  animation: sonarWave 2s linear infinite;
}

@keyframes sonarWave {
  from {
    opacity: 0.4;
  }
  to {
    transform: scale(3);
    opacity: 0;
  }
}

/* Headline sonar - color */
.h-sonar-wrapper.h-sonar-purple .h-sonar-emitter,
.h-sonar-wrapper.h-sonar-purple .h-sonar-wave {
  background-color: hsl(240, 100%, 90%);
}



/* Headline with short underline 
------------------------- */ 
.h-underline-short::after {
  content: "";
  display: block;
  width: 32px;
  padding-top: 5px;
  border-bottom: 3px solid #ff6861;
}

.h-underline-short.text-center::after {
  margin: 0 auto;
}

/* Link
-------------------------------------------------------- */
a.link-box {
  display: block; 
  border: 1px solid #eeeef6;
  border-bottom: 2px solid #eee;
  margin-bottom: 30px; 
  background-color: #fafafc;  
  
}

a.link-box .link-box-text {
  font-size: 14px;
  line-height: 1.5;
  padding: 30px 20px 20px 20px;  
}

a.link-box .link-box-des {
  margin-bottom: 20px; 
}

a.link-box .link-box-involment {
  color: #4300bf;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 5px;
}

a.link-box:hover {
  color: #333;
  border: 1px solid #4300bf;
  border-bottom: 2px solid #4300bf;
  background-color: #fff;
}

a.link-box:hover .link-box-header,
a.link-box:hover .link-box-date {
  color: #4300bf; 
}

@media only screen and (min-width: 1023px) and (max-width: 1160px) {
  .link-box-header {
    font-size: 18px; 
  }
}

@media only screen and (min-width: 1024px) {
  a.link-box {
    min-height: 480px;
    min-height: 460px; /* Hide project date */
  }

  a.link-box.home {
    min-height: 430px;
    min-height: 450px; /* Hide project date */
  }

  a.link-box .link-box-des {
    min-height: 100px; 
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  a.link-box {
    min-height: 515px; 
    min-height: 495px; /* Hide project date */
  }
  a.link-box .link-box-des {
    min-height: 75px; 
  }
}

/* Hide project date */
.link-box-date {
  display: none;
}
/* Image
-------------------------------------------------------- */
.img-max-w-250 {
  max-width: 250px;
  width: 100%;
}

.img-max-w-300 {
  max-width: 300px;
  width: 100%;
}

.img-max-w-350 {
  max-width: 350px;
  width: 100%;
}

.img-max-w-400 {
  max-width: 400px;
  width: 100%;
}

.max-width-250 {
  max-width: 250px;
}

.img-max-h-70 {
  max-height: 70px;
}

.img-max-h-130 {
  max-height: 130px;
}


/* Image zoom
-------------------------------------------------------- */
img[data-action="zoom"] {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
}
.zoom-img,
.zoom-img-wrap {
  position: relative;
  z-index: 666;
  -webkit-transition: all 300ms;
       -o-transition: all 300ms;
          transition: all 300ms;
}
img.zoom-img {
  cursor: pointer;
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
}
.zoom-overlay {
  z-index: 420;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  filter: "alpha(opacity=0)";
  opacity: 0;
  -webkit-transition:      opacity 300ms;
       -o-transition:      opacity 300ms;
          transition:      opacity 300ms;
}
.zoom-overlay-open .zoom-overlay {
  filter: "alpha(opacity=100)";
  opacity: 1;
}
.zoom-overlay-open,
.zoom-overlay-transitioning {
  cursor: default;
}

/* logo link 
-------------------------------------------------------- */

/* logo image hover
---------------------------- */
.logo-link a {
  border: none;
}

.logo-link img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  opacity: 0.7;
}

.logo-link img:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  cursor: pointer;
  cursor: hand;
  opacity: 1;
}

.logo-link img.no-link:hover {
  cursor: default;
}

/* logo expand list
---------------------------- */

#id-logo-link-expand {
  overflow: hidden;
  transition: height 300ms; 
}

/* arrow icon
---------------------------- */
i.logo-link-arrow {
  display: inline-block; 
  width: 9px;
  height: 9px;
  border: 2px solid;
  border-bottom: 0;
  border-left: 0;
  border-radius: 1px;
  text-indent: -624.9375rem;
  margin-left: 10px;
  margin-right: 10px;
}

i.logo-link-arrow-down {
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
  top: 18px;
}

i.logo-link-arrow-up {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 22px;
}

/* Float
-------------------------------------------------------- */
.left {
  float: left !important;
}

.right {
  float: right !important;
}

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

.clearfix:after {
  clear: both;
}

/* Display 
-------------------------------------------------------- */
.hide {
  display: none;
}

.inline-block {
  display: inline-block;
}

.block {
  display: block;
}

/* Antialiased
-------------------------------------------------------- */
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


/* Padding, margin, border
-------------------------------------------------------- */
.padding-50 {
  padding: 50px;
}

.padding-t-50 {
  padding-top: 50px;
}

.padding-t-60 {
  padding-top: 60px;
}

.padding-t-80 {
  padding-top: 80px;
}

.padding-b-20 {
  padding-bottom: 20px;
}

.padding-b-50 {
  padding-bottom: 50px;
}

.padding-b-60 {
  padding-bottom: 60px;
}

.padding-b-80 {
  padding-bottom: 80px;
}

.padding-l-50 {
  padding-left: 50px;
}

.padding-r-50 {
  padding-right: 50px;
}

.margin-20 {
  margin: 20px;
}
.margin-top-10 {
  margin-top: 10px;
}

.margin-top-20 {
  margin-top: 20px;
}

.margin-top-40 {
  margin-top: 40px;
}

.margin-bottom-0 {
  margin-bottom: 0;
}

.margin-bottom-10 {
  margin-bottom: 10px;
}

.margin-bottom {
  margin-bottom: 15px;
}

.margin-bottom-20 {
  margin-bottom: 20px;
}

.margin-bottom-25 {
  margin-bottom: 25px;
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.margin-bottom-40 {
  margin-bottom: 40px;
}

.margin-bottom-50 {
  margin-bottom: 50px;
}

.margin-bottom-80 {
  margin-bottom: 80px;
}

.margin-right-20 {
  margin-right: 20px;
}

.margin-right-30 {
  margin-right: 30px;
}

.border-grey {
  border: 1px solid #eee;
}

.bordertest {
  border: 1px solid red;
}


/* Space
-------------------------------------------------------- */
.white-space {
    display: block;
    width: 100%;
}

.white-space.space-5 {
    padding: 5px 0;
}

.white-space.space-10 {
    padding: 10px 0;
}

.white-space.space-15 {
    padding: 15px 0;
}

.white-space.space-20 {
    padding: 20px 0;
}

.white-space.space-25 {
    padding: 25px 0;
}

.white-space.space-30 {
    padding: 30px 0;
}

.white-space.space-40 {
    padding: 40px 0;
}

.white-space.space-50 {
    padding: 50px 0;
}

.white-space.space-60 {
    padding: 60px 0;
}

.white-space.space-80 {
    padding: 80px 0;
}

/* Widht
-------------------------------------------------------- */
.min-width-400 {
  min-width: 200px;
}

/* ------------------------------------------------------------------------------ */
/* 5. GRIDS SYSTEM 6 */
/* ------------------------------------------------------------------------------ */
.grid,
.grid--rev,
.grid--full,
.grid-uniform,
.demo-gallery {
  *zoom:1;
  list-style: none;
  margin: 0;
  padding:0;
  margin-left:-50px; /* [grid gutter] */
}
.grid:after,
.grid--rev:after,
.grid--full:after,
.grid-uniform:after,
.demo-gallery:after {
  content: '';
  display:table;
  clear:both
}
.grid__item.clear {
  clear:both
}
.grid__item,
.demo-gallery__item {
  box-sizing: border-box;
  float: left;
  min-height: 1px;
  padding-left: 50px; /* [grid gutter] */
  vertical-align: top;
  width:100%;
}

/* Grid | revirse
-------------------------------------------------------- */
.grid--rev {
  direction: rtl;
  text-align: left
}
.grid--rev>.grid__item {
  direction: ltr;
  text-align: left;
  float: right
}
/* Grid | full
-------------------------------------------------------- */
.grid--full {
  margin-left: 0
}
.grid--full>.grid__item {
  padding-left:0
}

/* Grid | table
-------------------------------------------------------- */
.grid--table {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-left: 0
}
.grid--table>.grid__item {
  float: none;
  display: table-cell;
  vertical-align: middle;
  min-height: 1px;
  padding-left: 0;
}

/* Grid - layout
-------------------------------------------------------- */
.one-whole      { width: 100% }
.one-half       { width: 50% }
.one-third      { width: 33.333% }
.two-thirds     { width: 66.666% }
.one-quarter    { width: 25% }
.two-quarters   { width: 50% }
.three-quarters { width: 75% }
.one-fifth      { width: 20% }
.two-fifths     { width: 40% }
.three-fifths   { width: 60% }
.four-fifths    { width: 80% }
.one-sixth      { width: 16.666% }
.two-sixths     { width: 33.333% }
.three-sixths   { width: 50% }
.four-sixths    { width: 66.666% }
.five-sixths    { width: 83.333% }
.one-eighth     { width: 12.5% }
.two-eighths    { width: 25% }
.three-eighths  { width: 37.5% }
.four-eighths   { width: 50% }
.five-eighths   { width: 62.5% }
.six-eighths    { width: 75% }
.seven-eighths  { width: 87.5% }
.one-tenth      { width: 10% }
.two-tenths     { width: 20% }
.three-tenths   { width: 30% }
.four-tenths    { width: 40% }
.five-tenths    { width: 50% }
.six-tenths     { width: 60% }
.seven-tenths   { width: 70% }
.eight-tenths   { width: 80% }
.nine-tenths    { width: 90% }
.one-twelfth    { width: 8.333% }
.two-twelfths   { width: 16.666% }
.three-twelfths { width: 25% }
.four-twelfths  { width: 33.333% }
.five-twelfths  { width: 41.666% }
.six-twelfths   { width: 50% }
.seven-twelfths { width: 58.333% }
.eight-twelfths { width: 66.666% }
.nine-twelfths  { width: 75% }
.ten-twelfths   { width: 83.333% }
.eleven-twelfths{ width: 91.666% }
.show           { display: block !important }
.hide           { display: none }
.text-left      { text-align: left !important }
.text-right     { text-align: right !important }
.text-center    { text-align: center !important }
.left           { float: left !important }
.right          { float: right !important }

@media only screen and (max-width: 480px) {
  .small--one-whole       { width: 100% }
  .small--one-half        { width: 50% }
  .small--one-third       { width: 33.333% }
  .small--two-thirds      { width: 66.666% }
  .small--one-quarter     { width: 25% }
  .small--two-quarters    { width: 50% }
  .small--three-quarters  { width: 75% }
  .small--one-fifth       { width: 20% }
  .small--two-fifths      { width: 40% }
  .small--three-fifths    { width: 60% }
  .small--four-fifths     { width: 80% }
  .small--one-sixth       { width: 16.666% }
  .small--two-sixths      { width: 33.333% }
  .small--three-sixths    { width: 50% }
  .small--four-sixths     { width: 66.666% }
  .small--five-sixths     { width: 83.333% }
  .small--one-eighth      { width: 12.5% }
  .small--two-eighths     { width: 25% }
  .small--three-eighths   { width: 37.5% }
  .small--four-eighths    { width: 50% }
  .small--five-eighths    { width: 62.5% }
  .small--six-eighths     { width: 75% }
  .small--seven-eighths   { width: 87.5% }
  .small--one-tenth       { width: 10% }
  .small--two-tenths      { width: 20% }
  .small--three-tenths    { width: 30% }
  .small--four-tenths     { width: 40% }
  .small--five-tenths     { width: 50% }
  .small--six-tenths      { width: 60% }
  .small--seven-tenths    { width: 70% }
  .small--eight-tenths    { width: 80% }
  .small--nine-tenths     { width: 90% }
  .small--one-twelfth     { width: 8.333% }
  .small--two-twelfths    { width: 16.666% }
  .small--three-twelfths  { width: 25% }
  .small--four-twelfths   { width: 33.333% }
  .small--five-twelfths   { width: 41.666% }
  .small--six-twelfths    { width: 50% }
  .small--seven-twelfths  { width: 58.333% }
  .small--eight-twelfths  { width: 66.666% }
  .small--nine-twelfths   { width: 75% }
  .small--ten-twelfths    { width: 83.333% }
  .small--eleven-twelfths { width: 91.666% }
  .small--show            { display: block !important }
  .small--hide            { display: none !important }
  .small--text-left       { text-align: left !important }
  .small--text-right      { text-align: right !important }
  .small--text-center     { text-align: center !important }
  .small--left            { float: left !important }
  .small--right           { float: right !important }

  .grid-uniform .small--one-half:nth-child(2n+1),
  .grid-uniform .small--one-third:nth-child(3n+1),
  .grid-uniform .small--one-quarter:nth-child(4n+1),
  .grid-uniform .small--one-fifth:nth-child(5n+1),
  .grid-uniform .small--one-sixth:nth-child(6n+1),
  .grid-uniform .small--two-sixths:nth-child(3n+1),
  .grid-uniform .small--three-sixths:nth-child(2n+1),
  .grid-uniform .small--two-eighths:nth-child(4n+1),
  .grid-uniform .small--four-eighths:nth-child(2n+1),
  .grid-uniform .small--five-tenths:nth-child(2n+1),
  .grid-uniform .small--one-twelfth:nth-child(12n+1),
  .grid-uniform .small--two-twelfths:nth-child(6n+1),
  .grid-uniform .small--three-twelfths:nth-child(4n+1),
  .grid-uniform .small--four-twelfths:nth-child(3n+1),
  .grid-uniform .small--six-twelfths:nth-child(2n+1) { clear:both }
}

@media only screen and (min-width: 481px) and (max-width: 768px) {
  .medium--one-whole      { width: 100% }
  .medium--one-half       { width: 50% }
  .medium--one-third      { width: 33.333% }
  .medium--two-thirds     { width: 66.666% }
  .medium--one-quarter    { width: 25% }
  .medium--two-quarters   { width: 50% }
  .medium--three-quarters { width: 75% }
  .medium--one-fifth      { width: 20% }
  .medium--two-fifths     { width: 40% }
  .medium--three-fifths   { width: 60% }
  .medium--four-fifths    { width: 80% }
  .medium--one-sixth      { width: 16.666% }
  .medium--two-sixths     { width: 33.333% }
  .medium--three-sixths   { width: 50% }
  .medium--four-sixths    { width: 66.666% }
  .medium--five-sixths    { width: 83.333% }
  .medium--one-eighth     { width: 12.5% }
  .medium--two-eighths    { width: 25% }
  .medium--three-eighths  { width: 37.5% }
  .medium--four-eighths   { width: 50% }
  .medium--five-eighths   { width: 62.5% }
  .medium--six-eighths    { width: 75% }
  .medium--seven-eighths  { width: 87.5% }
  .medium--one-tenth      { width: 10% }
  .medium--two-tenths     { width: 20% }
  .medium--three-tenths   { width: 30% }
  .medium--four-tenths    { width: 40% }
  .medium--five-tenths    { width: 50% }
  .medium--six-tenths     { width: 60% }
  .medium--seven-tenths   { width: 70% }
  .medium--eight-tenths   { width: 80% }
  .medium--nine-tenths    { width: 90% }
  .medium--one-twelfth    { width: 8.333% }
  .medium--two-twelfths   { width: 16.666% }
  .medium--three-twelfths { width: 25% }
  .medium--four-twelfths  { width: 33.333% }
  .medium--five-twelfths  { width: 41.666% }
  .medium--six-twelfths   { width: 50% }
  .medium--seven-twelfths { width: 58.333% }
  .medium--eight-twelfths { width: 66.666% }
  .medium--nine-twelfths  { width: 75% }
  .medium--ten-twelfths   { width: 83.333% }
  .medium--eleven-twelfths{ width: 91.666% }
  .medium--show           { display: block !important }
  .medium--hide           { display: none !important }
  .medium--text-left      { text-align: left !important }
  .medium--text-right     { text-align: right !important }
  .medium--text-center    { text-align: center !important }
  .medium--left           { float: left !important }
  .medium--right          { float: right !important }

  .grid-uniform .medium--one-half:nth-child(2n+1),
  .grid-uniform .medium--one-third:nth-child(3n+1),
  .grid-uniform .medium--one-quarter:nth-child(4n+1),
  .grid-uniform .medium--one-fifth:nth-child(5n+1),
  .grid-uniform .medium--one-sixth:nth-child(6n+1),
  .grid-uniform .medium--two-sixths:nth-child(3n+1),
  .grid-uniform .medium--three-sixths:nth-child(2n+1),
  .grid-uniform .medium--two-eighths:nth-child(4n+1),
  .grid-uniform .medium--four-eighths:nth-child(2n+1),
  .grid-uniform .medium--five-tenths:nth-child(2n+1),
  .grid-uniform .medium--one-twelfth:nth-child(12n+1),
  .grid-uniform .medium--two-twelfths:nth-child(6n+1),
  .grid-uniform .medium--three-twelfths:nth-child(4n+1),
  .grid-uniform .medium--four-twelfths:nth-child(3n+1),
  .grid-uniform .medium--six-twelfths:nth-child(2n+1) { clear:both }
}

@media only screen and (max-width: 768px) {
  .medium-down--one-whole       { width: 100% }
  .medium-down--one-half        { width: 50% }
  .medium-down--one-third       { width: 33.333% }
  .medium-down--two-thirds      { width: 66.666% }
  .medium-down--one-quarter     { width: 25% }
  .medium-down--two-quarters    { width: 50% }
  .medium-down--three-quarters  { width: 75% }
  .medium-down--one-fifth       { width: 20% }
  .medium-down--two-fifths      { width: 40% }
  .medium-down--three-fifths    { width: 60% }
  .medium-down--four-fifths     { width: 80% }
  .medium-down--one-sixth       { width: 16.666% }
  .medium-down--two-sixths      { width: 33.333% }
  .medium-down--three-sixths    { width: 50% }
  .medium-down--four-sixths     { width: 66.666% }
  .medium-down--five-sixths     { width: 83.333% }
  .medium-down--one-eighth      { width: 12.5% }
  .medium-down--two-eighths     { width: 25% }
  .medium-down--three-eighths   { width: 37.5% }
  .medium-down--four-eighths    { width: 50% }
  .medium-down--five-eighths    { width: 62.5% }
  .medium-down--six-eighths     { width: 75% }
  .medium-down--seven-eighths   { width: 87.5% }
  .medium-down--one-tenth       { width: 10% }
  .medium-down--two-tenths      { width: 20% }
  .medium-down--three-tenths    { width: 30% }
  .medium-down--four-tenths     { width: 40% }
  .medium-down--five-tenths     { width: 50% }
  .medium-down--six-tenths      { width: 60% }
  .medium-down--seven-tenths    { width: 70% }
  .medium-down--eight-tenths    { width: 80% }
  .medium-down--nine-tenths     { width: 90% }
  .medium-down--one-twelfth     { width: 8.333% }
  .medium-down--two-twelfths    { width: 16.666% }
  .medium-down--three-twelfths  { width: 25% }
  .medium-down--four-twelfths   { width: 33.333%}
  .medium-down--five-twelfths   { width: 41.666% }
  .medium-down--six-twelfths    { width: 50% }
  .medium-down--seven-twelfths  { width: 58.333% }
  .medium-down--eight-twelfths  { width: 66.666% }
  .medium-down--nine-twelfths   { width: 75% }
  .medium-down--ten-twelfths    { width: 83.333% }
  .medium-down--eleven-twelfths { width: 91.666% }
  .medium-down--show            { display: block !important }
  .medium-down--hide            { display: none !important }
  .medium-down--text-left       { text-align: left !important }
  .medium-down--text-right      { text-align: right !important }
  .medium-down--text-center     { text-align: center !important }
  .medium-down--left            { float: left !important }
  .medium-down--right           { float: right !important }

  .grid-uniform .medium-down--one-half:nth-child(2n+1),
  .grid-uniform .medium-down--one-third:nth-child(3n+1),
  .grid-uniform .medium-down--one-quarter:nth-child(4n+1),
  .grid-uniform .medium-down--one-fifth:nth-child(5n+1),
  .grid-uniform .medium-down--one-sixth:nth-child(6n+1),
  .grid-uniform .medium-down--two-sixths:nth-child(3n+1),
  .grid-uniform .medium-down--three-sixths:nth-child(2n+1),
  .grid-uniform .medium-down--two-eighths:nth-child(4n+1),
  .grid-uniform .medium-down--four-eighths:nth-child(2n+1),
  .grid-uniform .medium-down--five-tenths:nth-child(2n+1),
  .grid-uniform .medium-down--one-twelfth:nth-child(12n+1),
  .grid-uniform .medium-down--two-twelfths:nth-child(6n+1),
  .grid-uniform .medium-down--three-twelfths:nth-child(4n+1),
  .grid-uniform .medium-down--four-twelfths:nth-child(3n+1),
  .grid-uniform .medium-down--six-twelfths:nth-child(2n+1) { clear:both }
}

@media only screen and (min-width: 769px) {
  .large--one-whole       { width: 100% }
  .large--one-half        { width: 50%}
  .large--one-third       { width: 33.333% }
  .large--two-thirds      { width: 66.666% }
  .large--one-quarter     { width: 25% }
  .large--two-quarters    { width: 50% }
  .large--three-quarters  { width: 75% }
  .large--one-fifth       { width: 20% }
  .large--two-fifths      { width: 40% }
  .large--three-fifths    { width: 60% }
  .large--four-fifths     { width: 80% }
  .large--one-sixth       { width: 16.666% }
  .large--two-sixths      { width: 33.333% }
  .large--three-sixths    { width: 50% }
  .large--four-sixths     { width: 66.666% }
  .large--five-sixths     { width: 83.333% }
  .large--one-eighth      { width: 12.5% }
  .large--two-eighths     { width: 25% }
  .large--three-eighths   { width: 37.5% }
  .large--four-eighths    { width: 50% }
  .large--five-eighths    { width: 62.5% }
  .large--six-eighths     { width: 75% }
  .large--seven-eighths   { width: 87.5% }
  .large--one-tenth       { width: 10% }
  .large--two-tenths      { width: 20% }
  .large--three-tenths    { width: 30% }
  .large--four-tenths     { width: 40% }
  .large--five-tenths     { width: 50% }
  .large--six-tenths      { width: 60% }
  .large--seven-tenths    { width: 70% }
  .large--eight-tenths    { width: 80% }
  .large--nine-tenths     { width: 90% }
  .large--one-twelfth     { width: 8.333% }
  .large--two-twelfths    { width: 16.666% }
  .large--three-twelfths  { width: 25% }
  .large--four-twelfths   { width: 33.333% }
  .large--five-twelfths   { width: 41.666% }
  .large--six-twelfths    { width: 50% }
  .large--seven-twelfths  { width: 58.333% }
  .large--eight-twelfths  { width: 66.666% }
  .large--nine-twelfths   { width: 75% }
  .large--ten-twelfths    { width: 83.333% }
  .large--eleven-twelfths { width: 91.666% }
  .large--show            { display: block !important }
  .large--hide            { display: none !important }
  .large--text-left       { text-align: left !important }
  .large--text-right      { text-align: right !important }
  .large--text-center     { text-align: center !important }
  .large--left            { float: left !important }
  .large--right           { float: right !important }

  .grid-uniform .large--one-half:nth-child(2n+1),
  .grid-uniform .large--one-third:nth-child(3n+1),
  .grid-uniform .large--one-quarter:nth-child(4n+1),
  .grid-uniform .large--one-fifth:nth-child(5n+1),
  .grid-uniform .large--one-sixth:nth-child(6n+1),
  .grid-uniform .large--two-sixths:nth-child(3n+1),
  .grid-uniform .large--three-sixths:nth-child(2n+1),
  .grid-uniform .large--two-eighths:nth-child(4n+1),
  .grid-uniform .large--four-eighths:nth-child(2n+1),
  .grid-uniform .large--five-tenths:nth-child(2n+1),
  .grid-uniform .large--one-twelfth:nth-child(12n+1),
  .grid-uniform .large--two-twelfths:nth-child(6n+1),
  .grid-uniform .large--three-twelfths:nth-child(4n+1),
  .grid-uniform .large--four-twelfths:nth-child(3n+1),
  .grid-uniform .large--six-twelfths:nth-child(2n+1) { clear:both }
}

@media only screen and (min-width: 1024px) {
  .xlarge--one-whole       { width: 100% }
  .xlarge--one-half        { width: 50% }
  .xlarge--one-third       { width: 33.333% }
  .xlarge--two-thirds      { width: 66.666% }
  .xlarge--one-quarter     { width: 25% }
  .xlarge--two-quarters    { width: 50% }
  .xlarge--three-quarters  { width: 75% }
  .xlarge--one-fifth       { width: 20% }
  .xlarge--two-fifths      { width: 40% }
  .xlarge--three-fifths    { width: 60% }
  .xlarge--four-fifths     { width: 80% }
  .xlarge--one-sixth       { width: 16.666% }
  .xlarge--two-sixths      { width: 33.333% }
  .xlarge--three-sixths    { width: 50% }
  .xlarge--four-sixths     { width: 66.666% }
  .xlarge--five-sixths     { width: 83.333% }
  .xlarge--one-eighth      { width: 12.5% }
  .xlarge--two-eighths     { width: 25% }
  .xlarge--three-eighths   { width: 37.5% }
  .xlarge--four-eighths    { width: 50% }
  .xlarge--five-eighths    { width: 62.5% }
  .xlarge--six-eighths     { width: 75% }
  .xlarge--seven-eighths   { width: 87.5% }
  .xlarge--one-tenth       { width: 10% }
  .xlarge--two-tenths      { width: 20% }
  .xlarge--three-tenths    { width: 30% }
  .xlarge--four-tenths     { width: 40% }
  .xlarge--five-tenths     { width: 50% }
  .xlarge--six-tenths      { width: 60% }
  .xlarge--seven-tenths    { width: 70% }
  .xlarge--eight-tenths    { width: 80% }
  .xlarge--nine-tenths     { width: 90% }
  .xlarge--one-twelfth     { width: 8.333% }
  .xlarge--two-twelfths    { width: 16.666% }
  .xlarge--three-twelfths  { width: 25% }
  .xlarge--four-twelfths   { width: 33.333% }
  .xlarge--five-twelfths   { width: 41.666% }
  .xlarge--six-twelfths    { width: 50% }
  .xlarge--seven-twelfths  { width: 58.333% }
  .xlarge--eight-twelfths  { width: 66.666% }
  .xlarge--nine-twelfths   { width: 75% }
  .xlarge--ten-twelfths    { width: 83.333% }
  .xlarge--eleven-twelfths { width: 91.666% }
  .xlarge--show            { display: block !important }
  .xlarge--hide            { display: none !important }
  .xlarge--text-left       { text-align: left !important }
  .xlarge--text-right      { text-align: right !important }
  .xlarge--text-center     { text-align: center !important }
  .xlarge--left            { float: left !important }
  .xlarge--right           { float: right !important }

  .grid-uniform .xlarge--one-half:nth-child(2n+1),
  .grid-uniform .xlarge--one-third:nth-child(3n+1),
  .grid-uniform .xlarge--one-quarter:nth-child(4n+1),
  .grid-uniform .xlarge--one-fifth:nth-child(5n+1),
  .grid-uniform .xlarge--one-sixth:nth-child(6n+1),
  .grid-uniform .xlarge--two-sixths:nth-child(3n+1),
  .grid-uniform .xlarge--three-sixths:nth-child(2n+1),
  .grid-uniform .xlarge--two-eighths:nth-child(4n+1),
  .grid-uniform .xlarge--four-eighths:nth-child(2n+1),
  .grid-uniform .xlarge--five-tenths:nth-child(2n+1),
  .grid-uniform .xlarge--one-twelfth:nth-child(12n+1),
  .grid-uniform .xlarge--two-twelfths:nth-child(6n+1),
  .grid-uniform .xlarge--three-twelfths:nth-child(4n+1),
  .grid-uniform .xlarge--four-twelfths:nth-child(3n+1),
  .grid-uniform .xlarge--six-twelfths:nth-child(2n+1) { clear:both }
}

[class*="push--"]         { position: relative }
.push--one-whole          { left: 100% }
.push--one-half           { left: 50% }
.push--one-third          { left: 33.333% }
.push--two-thirds         { left: 66.666% }
.push--one-quarter        { left: 25% }
.push--two-quarters       { left: 50% }
.push--three-quarters     { left: 75% }
.push--one-fifth          { left: 20% }
.push--two-fifths         { left: 40% }
.push--three-fifths       { left: 60% }
.push--four-fifths        { left: 80% }
.push--one-sixth          { left: 16.666% }
.push--two-sixths         { left: 33.333% }
.push--three-sixths       { left: 50% }
.push--four-sixths        { left: 66.666% }
.push--five-sixths        { left: 83.333% }
.push--one-eighth         { left: 12.5% }
.push--two-eighths        { left: 25% }
.push--three-eighths      { left: 37.5% }
.push--four-eighths       { left: 50% }
.push--five-eighths       { left: 62.5% }
.push--six-eighths        { left: 75% }
.push--seven-eighths      { left: 87.5% }
.push--one-tenth          { left: 10% }
.push--two-tenths         { left: 20% }
.push--three-tenths       { left: 30% }
.push--four-tenths        { left: 40% }
.push--five-tenths        { left: 50% }
.push--six-tenths         { left: 60% }
.push--seven-tenths       { left: 70% }
.push--eight-tenths       { left: 80% }
.push--nine-tenths        { left: 90% }
.push--one-twelfth        { left: 8.333% }
.push--two-twelfths       { left: 16.666% }
.push--three-twelfths     { left: 25% }
.push--four-twelfths      { left: 33.333% }
.push--five-twelfths      { left: 41.666% }
.push--six-twelfths       { left: 50% }
.push--seven-twelfths     { left: 58.333% }
.push--eight-twelfths     { left: 66.666% }
.push--nine-twelfths      { left: 75% }
.push--ten-twelfths       { left: 83.333% }
.push--eleven-twelfths    { left: 91.666% }

@media only screen and (min-width: 481px) and (max-width: 768px) {
  .push--medium--one-whole      { left: 100% }
  .push--medium--one-half       { left: 50% }
  .push--medium--one-third      { left: 33.333% }
  .push--medium--two-thirds     { left: 66.666% }
  .push--medium--one-quarter    { left: 25% }
  .push--medium--two-quarters   { left: 50% }
  .push--medium--three-quarters { left: 75% }
  .push--medium--one-fifth      { left: 20% }
  .push--medium--two-fifths     { left: 40% }
  .push--medium--three-fifths   { left: 60% }
  .push--medium--four-fifths    { left: 80% }
  .push--medium--one-sixth      { left: 16.666% }
  .push--medium--two-sixths     { left: 33.333% }
  .push--medium--three-sixths   { left: 50% }
  .push--medium--four-sixths    { left: 66.666% }
  .push--medium--five-sixths    { left: 83.333% }
  .push--medium--one-eighth     { left: 12.5% }
  .push--medium--two-eighths    { left: 25% }
  .push--medium--three-eighths  { left: 37.5% }
  .push--medium--four-eighths   { left: 50% }
  .push--medium--five-eighths   { left: 62.5% }
  .push--medium--six-eighths    { left: 75% }
  .push--medium--seven-eighths  { left: 87.5% }
  .push--medium--one-tenth      { left: 10% }
  .push--medium--two-tenths     { left: 20% }
  .push--medium--three-tenths   { left: 30% }
  .push--medium--four-tenths    { left: 40% }
  .push--medium--five-tenths    { left: 50% }
  .push--medium--six-tenths     { left: 60% }
  .push--medium--seven-tenths   { left: 70% }
  .push--medium--eight-tenths   { left: 80% }
  .push--medium--nine-tenths    { left: 90% }
  .push--medium--one-twelfth    { left: 8.333% }
  .push--medium--two-twelfths   { left: 16.666% }
  .push--medium--three-twelfths { left: 25% }
  .push--medium--four-twelfths  { left: 33.333% }
  .push--medium--five-twelfths  { left: 41.666% }
  .push--medium--six-twelfths   { left: 50% }
  .push--medium--seven-twelfths { left: 58.333% }
  .push--medium--eight-twelfths { left: 66.666% }
  .push--medium--nine-twelfths  { left: 75% }
  .push--medium--ten-twelfths   { left: 83.333% }
  .push--medium--eleven-twelfths{ left: 91.666% }
}

@media only screen and (max-width: 768px) {
  .push--medium-down--one-whole       { left: 100% }
  .push--medium-down--one-half        { left: 50% }
  .push--medium-down--one-third       { left: 33.333% }
  .push--medium-down--two-thirds      { left: 66.666% }
  .push--medium-down--one-quarter     { left: 25% }
  .push--medium-down--two-quarters    { left: 50% }
  .push--medium-down--three-quarters  { left: 75% }
  .push--medium-down--one-fifth       { left: 20% }
  .push--medium-down--two-fifths      { left: 40% }
  .push--medium-down--three-fifths    { left: 60% }
  .push--medium-down--four-fifths     { left: 80% }
  .push--medium-down--one-sixth       { left: 16.666% }
  .push--medium-down--two-sixths      { left: 33.333% }
  .push--medium-down--three-sixths    { left: 50% }
  .push--medium-down--four-sixths     { left: 66.666% }
  .push--medium-down--five-sixths     { left: 83.333% }
  .push--medium-down--one-eighth      { left: 12.5% }
  .push--medium-down--two-eighths     { left: 25% }
  .push--medium-down--three-eighths   { left: 37.5% }
  .push--medium-down--four-eighths    { left: 50% }
  .push--medium-down--five-eighths    { left: 62.5% }
  .push--medium-down--six-eighths     { left: 75% }
  .push--medium-down--seven-eighths   { left: 87.5% }
  .push--medium-down--one-tenth       { left: 10% }
  .push--medium-down--two-tenths      { left: 20% }
  .push--medium-down--three-tenths    { left: 30% }
  .push--medium-down--four-tenths     { left: 40% }
  .push--medium-down--five-tenths     { left: 50% }
  .push--medium-down--six-tenths      { left: 60% }
  .push--medium-down--seven-tenths    { left: 70% }
  .push--medium-down--eight-tenths    { left: 80% }
  .push--medium-down--nine-tenths     { left: 90% }
  .push--medium-down--one-twelfth     { left: 8.333% }
  .push--medium-down--two-twelfths    { left: 16.666% }
  .push--medium-down--three-twelfths  { left: 25% }
  .push--medium-down--four-twelfths   { left: 33.333% }
  .push--medium-down--five-twelfths   { left: 41.666% }
  .push--medium-down--six-twelfths    { left: 50% }
  .push--medium-down--seven-twelfths  { left: 58.333% }
  .push--medium-down--eight-twelfths  { left: 66.666% }
  .push--medium-down--nine-twelfths   { left: 75% }
  .push--medium-down--ten-twelfths    { left: 83.333% }
  .push--medium-down--eleven-twelfths { left: 91.666% }
}

@media only screen and (min-width: 769px) {
  .push--large--one-whole       { left: 100% }
  .push--large--one-half        { left: 50% }
  .push--large--one-third       { left: 33.333% }
  .push--large--two-thirds      { left: 66.666% }
  .push--large--one-quarter     { left: 25% }
  .push--large--two-quarters    { left: 50% }
  .push--large--three-quarters  { left: 75% }
  .push--large--one-fifth       { left: 20% }
  .push--large--two-fifths      { left: 40% }
  .push--large--three-fifths    { left: 60% }
  .push--large--four-fifths     { left: 80% }
  .push--large--one-sixth       { left: 16.666% }
  .push--large--two-sixths      { left: 33.333% }
  .push--large--three-sixths    { left: 50% }
  .push--large--four-sixths     { left: 66.666% }
  .push--large--five-sixths     { left: 83.333% }
  .push--large--one-eighth      { left: 12.5% }
  .push--large--two-eighths     { left: 25% }
  .push--large--three-eighths   { left: 37.5% }
  .push--large--four-eighths    { left: 50% }
  .push--large--five-eighths    { left: 62.5% }
  .push--large--six-eighths     { left: 75% }
  .push--large--seven-eighths   { left: 87.5% }
  .push--large--one-tenth       { left: 10% }
  .push--large--two-tenths      { left: 20% }
  .push--large--three-tenths    { left: 30% }
  .push--large--four-tenths     { left: 40% }
  .push--large--five-tenths     { left: 50% }
  .push--large--six-tenths      { left: 60% }
  .push--large--seven-tenths    { left: 70% }
  .push--large--eight-tenths    { left: 80% }
  .push--large--nine-tenths     { left: 90% }
  .push--large--one-twelfth     { left: 8.333% }
  .push--large--two-twelfths    { left: 16.666% }
  .push--large--three-twelfths  { left: 25% }
  .push--large--four-twelfths   { left: 33.333% }
  .push--large--five-twelfths   { left: 41.666% }
  .push--large--six-twelfths    { left: 50% }
  .push--large--seven-twelfths  { left: 58.333% }
  .push--large--eight-twelfths  { left: 66.666% }
  .push--large--nine-twelfths   { left: 75% }
  .push--large--ten-twelfths    { left: 83.333% }
  .push--large--eleven-twelfths { left: 91.666% }
}

@media only screen and (min-width: 1024px) {
  .push--xlarge--one-whole       { left: 100% }
  .push--xlarge--one-half        { left: 50% }
  .push--xlarge--one-third       { left: 33.333% }
  .push--xlarge--two-thirds      { left: 66.666% }
  .push--xlarge--one-quarter     { left: 25% }
  .push--xlarge--two-quarters    { left: 50% }
  .push--xlarge--three-quarters  { left: 75% }
  .push--xlarge--one-fifth       { left: 20% }
  .push--xlarge--two-fifths      { left: 40% }
  .push--xlarge--three-fifths    { left: 60% }
  .push--xlarge--four-fifths     { left: 80% }
  .push--xlarge--one-sixth       { left: 16.666% }
  .push--xlarge--two-sixths      { left: 33.333% }
  .push--xlarge--three-sixths    { left: 50% }
  .push--xlarge--four-sixths     { left: 66.666% }
  .push--xlarge--five-sixths     { left: 83.333% }
  .push--xlarge--one-eighth      { left: 12.5% }
  .push--xlarge--two-eighths     { left: 25% }
  .push--xlarge--three-eighths   { left: 37.5% }
  .push--xlarge--four-eighths    { left: 50% }
  .push--xlarge--five-eighths    { left: 62.5% }
  .push--xlarge--six-eighths     { left: 75% }
  .push--xlarge--seven-eighths   { left: 87.5% }
  .push--xlarge--one-tenth       { left: 10% }
  .push--xlarge--two-tenths      { left: 20% }
  .push--xlarge--three-tenths    { left: 30% }
  .push--xlarge--four-tenths     { left: 40% }
  .push--xlarge--five-tenths     { left: 50% }
  .push--xlarge--six-tenths      { left: 60% }
  .push--xlarge--seven-tenths    { left: 70% }
  .push--xlarge--eight-tenths    { left: 80% }
  .push--xlarge--nine-tenths     { left: 90% }
  .push--xlarge--one-twelfth     { left: 8.333% }
  .push--xlarge--two-twelfths    { left: 16.666% }
  .push--xlarge--three-twelfths  { left: 25% }
  .push--xlarge--four-twelfths   { left: 33.333% }
  .push--xlarge--five-twelfths   { left: 41.666% }
  .push--xlarge--six-twelfths    { left: 50% }
  .push--xlarge--seven-twelfths  { left: 58.333% }
  .push--xlarge--eight-twelfths  { left: 66.666% }
  .push--xlarge--nine-twelfths   { left: 75% }
  .push--xlarge--ten-twelfths    { left: 83.333% }
  .push--xlarge--eleven-twelfths { left: 91.666% }
}

/* Content wrap
-------------------------------------------------------- */
.wrapper {
  *zoom: 1;
  max-width: 1180px; /* CHANGE site width here */
  margin: 0 auto;
  padding: 0 25px; /* [grid gutter / 2] */
}
.wrapper:after {
  content: '';
  display: table;
  clear:both
}
@media screen and (min-width: 480px) {
  .wrapper {
    padding: 0 50px /* [grid gutter] */
  }
}
.content-wrap {
  padding: 40px 0;
  margin-bottom: 80px;
}

.wrapper-1210 {
  max-width: 1210px;
}

.wrapper-1366 {
  max-width: 1416px;
}

/* ------------------------------------------------------------------------------ */
/* 6. BUTTON */
/* ------------------------------------------------------------------------------ */
/* BUTTON: Default Button
-------------------------------------------------------- */
button, .button {
  cursor: pointer;
  display: inline-block;
  position: relative;
  color: #323240;
  font-size: 15px;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
  text-align: center;
  padding: 12px 25px 12px 25px;
  margin: 0 0 1.25rem;
  border: 2px solid #323240;
  background-color: transparent;
  -webkit-appearance: none;
  transition: all .5s ease;
}

button:hover, button:focus, .button:hover, .button:focus {
  color: #4300bf;
  border: 2px solid #4300bf; 
  background-color: transparent;
}

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

button:active{
  transform: scale(0.96);
}

.button .icon-pdf {
  display: inline-block;
  width: 25px;
  margin-left: 10px;
}



/* Button - line to border on hover
-------------------------------------------------------- */
button.btn-line-to-border {
  position: relative;
  overflow: hidden;
  background: transparent;
  padding: 15px 45px;
  border: none;
  font-size: 14px;
  color: #020202;
  font-weight: 500;
  cursor: pointer;
  z-index: 1;
}

button.btn-line-to-border:hover {
  color: #4300bf;
}

button.btn-line-to-border:hover i.logo-link-arrow{
  border-color: #4300bf;
}

button.btn-line-to-border:active{
  transform: scale(0.98);
}

button.btn-line-to-border::before{
  content: '';
  position: absolute;
  inset: -3px 50px;
  background: #42455a;
  transition: inset 350ms ease;
  z-index: -2;
}

button.btn-line-to-border:hover::before{
  inset: -20px 0px;
  background: #4300bf;
}

button.btn-line-to-border::after{
  content: '';
  position: absolute;
  inset: 2px;
  background: white;
  z-index: -1;
}

.btn-line-to-border-text {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  width: 80px;
  text-align: right;
}
  
/* ------------------------------------------------------------------------------ */
/* 7. UI */
/* ------------------------------------------------------------------------------ */
/* Footer
-------------------------------------------------------- */
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  font-size: 20px;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 40px;
  background-color: #f4f4f4;
  z-index: 5;
}

footer a {
  color: #323240;
  margin-right: 10px;
  border-bottom: none;
}

footer a:hover,
footer a:focus,
footer a:active {
  color: #4300bf;
  border-bottom: none;
}

footer a:last-child {
  margin-right: 0;
}

/* Navigation
-------------------------------------------------------- */
nav {
  z-index: 99;
  top: 0;
  width: 100%;
  height: 90px; /* larger screen: nav height */
  padding: 25px;
  border-bottom: 1px solid #eee;
  background-color: #fff; /* nav background color */
  -webkit-transition:height 0.3s ease-out, background-color 0.3s ease-out, border-bottom-color 0.3s ease-out;
	transition:height 0.3s ease-out, background-color 0.3s ease-out, border-bottom-color 0.3s ease-out;
}

.logo {
  float: left;   
}
.logo-img {
  max-height: 35px;   
}
.logo a {
  padding-bottom: 0;
  border-bottom: none;
}

.sticky-nav-logo a {
  border-bottom: none;
}

.sticky-nav-logo {
  display: none;
}

ul.menu {
  float: right;
  overflow: hidden;
  list-style: none;
  padding: 0;
  margin: 15px 0 0 0;
}

ul.menu > li {
  display: block;
  float: left;
  line-height: 1;
  list-style: none;
  margin-left: 25px;
  margin-bottom: 0;
}

ul.menu > li > * {
  display: block;
}

ul.menu li:first-child {
  margin-left: 0;
}

ul.menu li a {
  color: #323240;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-bottom: none;
  text-decoration: none;
  overflow: hidden; /* for underline hover effect */
  position: relative; /* for underline hover effect */
  display: inline-block; /* for underline hover effect */
  padding-bottom: 7px; /* for underline hover effect */
}

ul.menu li a:hover,
ul.menu li a:focus,
ul.menu li a:active {
  color: #4300bf; 
}

ul.menu li a:hover:after,
ul.menu li a:focus:after,
ul.menu li a:active:after {
  width: 100%; 
}

ul.menu li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  transform: translateX(-50%);
  height: 1px;
  background: #4300bf; /* funderline hover color */
  transition: 0.35s;
}


/* Sticky nav
----------------------------- */
.sticky-nav {
  z-index: 100;
  height: 70px;
  padding: 20px 25px;
  background-color: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.sticky-nav ul {
  margin-top: 8px;
}

.sticky-nav .logo {
  display: none;
}

.sticky-nav .sticky-nav-logo {
  display: inline-block;
  float: left;
}

.sticky-nav .toggle-icon {
  top: 22px;
}

/* Hamburger menu
-------------------------------------------------------- */
/* Icon
----------------------------- */
.toggle-icon {
  z-index: 100;
  display: inline-block;
  position: fixed;
  top: 35px;
  right: 25px;
  height: 27px;
  width: 35px;
  cursor: pointer;
  -webkit-transition: opacity .25s ease;
  transition: opacity .25s ease;

  opacity: 0.7;
}

@media screen and (min-width: 1025px) {
  .toggle-icon {
    display: none /* larger screen: hide hamburger menu */
  }
}

.toggle-icon:hover {
  opacity: 1; 
}

.toggle-icon span {
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 100%;
  cursor: pointer;
  border: none;
  background: #020202;
  -webkit-transition: all .35s ease;
}

.toggle-icon:hover span {
  background: #4300bf;
}

.toggle-icon span:nth-of-type(2) {
  top: 11px;
}

.toggle-icon span:nth-of-type(3) {
  top: 22px;
}

.toggle-icon.active .top {
  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
          transform: translateY(11px) translateX(0) rotate(45deg);
  background: #fff;
}

.toggle-icon.active .middle {
  opacity: 0;
  background: #fff;
}

.toggle-icon.active .bottom {
  -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
          transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #fff;
}


/* Overlay menu
----------------------------- */
.overlay {
  -webkit-transition: none;
  transition: none;
}

@media screen and (max-width: 1024px) {
  .overlay {
    position: fixed;
    background: #130b28;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  }

  .overlay.open {
    opacity: .9;
    height: 100%;
    visibility: visible; 
  }

  .overlay.open li {
    -webkit-animation: fadeInRight 0.5s ease forwards;
            animation: fadeInRight 0.5s ease forwards;
    -webkit-animation-delay: 0.35s;
            animation-delay: 0.35s; 
  }
  .overlay.open li:nth-of-type(2) {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
  .overlay.open li:nth-of-type(3) {
    -webkit-animation-delay: 0.45s;
            animation-delay: 0.45s;
  }
  .overlay.open li:nth-of-type(4) {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
  }

  .overlay.open .menu-wrap {
    text-align: center;
    display: table;
    height: 100%;
    margin: 0 auto;
  }

  .overlay.open ul.menu {
    float: none;
    display: table-cell;
    position: relative;
    height: 100%;
    padding: 0;
    margin: 0 auto;
    vertical-align: middle; 
  }

  .overlay.open ul.menu > li {
    float: none;
    display: block;
    position: relative;
    margin-left: 0;
    opacity: 0;
  }

  /* fix link transform issue when close hamberger menu */
  .overlay ul.menu li a { 
    display: none;
  }

  .overlay.open ul.menu li a {
    font-size: 26px;
    padding: 40px 0 15px 0;
    display: block;
    position: relative;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
  }

  .overlay ul li a:hover:after, 
  .overlay ul li a:focus:after, 
  .overlay ul li a:active:after {
    width: 100%;

  }

  .overlay ul li a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    transform: translateX(-50%);
    height: 2px;
    background: #FFF;
    transition: 0.35s;
  }

  @-webkit-keyframes fadeInRight {
    0% {
      opacity: 0;
      left: 20%;
    }
    100% {
      opacity: 1;
      left: 0;
    }
  }

  @keyframes fadeInRight {
    0% {
      opacity: 0;
      left: 20%;
    }
    100% {
      opacity: 1;
      left: 0;
    }
  }
}

/* Breadcrumb menu
-------------------------------------------------------- */
.breadcrumb {
  color: #48485c;
  font-size: 12px;
  list-style: outside none;
  padding: 0;
  margin: 20px 0 0 0;
}

.breadcrumb li.breadcrumb-item {
  display: inline-block;  
}

.breadcrumb li.breadcrumb-item:after {
  content: "\00a0\00a0/\00a0";
  position: relative;
  left: 0;
}

.breadcrumb li.breadcrumb-item.active:after {
  content: none;
}

.breadcrumb-item.active {
  color: #4300bf; 
}


/* Home
-------------------------------------------------------- */
.section_hero {
  padding: 80px 0;
}

.section_headline {
  padding: 80px 20px 80px 0;
}

.section_headline_img {
  padding: 85px 0 60px 0;
}

.section_headline.headline-breadcrumb {
  padding-top: 40px;
  padding-botton: 40px;
}

.section_headline_img.headline-breadcrumb {
  padding-top: 60px;
  padding-botton: 60px;
}

@media only screen and (max-width: 768px) {
  .section_headline_img  {
    padding: 0px 0 60px 0;
  }

  .section_headline_img.headline-breadcrumb {
    padding-top: 0px;
  }
}


ul.work-title {    
  list-style: none;
  margin-top: 0;
  margin-left: 0;
  margin-bottom: 0; 
}

ul.work-title li { 
  font-size: 14px; 
  line-height: 1.5;
  margin-bottom: 15px;
}

.box-img {
  text-align: center;
  background: #f8f8f8;
}

.box-placeholder {
  color: #999;
  font-size: 20px;
  text-align: center;
  height: 280px;  
  padding: 50px;
  background: #f8f8f8;
}


/* Section
-------------------------------------------------------- */
.section_project {
  padding-top: 80px;
  padding-bottom: 60px;
  background-color: #f9fafa; 
}


/* Work Filter
-------------------------------------------------------- */
/*
#info {
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  background:#fcf8e3;
  border:1px solid  #fbeed5;
  width:95%;
  max-width: 900px;
  margin:0 auto 40px auto;
  font-family:arial;
  font-size:12px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
}

#info .info-wrapper {
  padding:10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  }

#info a {
  color:#c09853;
  text-decoration:none;
}

#info p {
  margin:5px 0 0 0;
}
*/

#filters {
  margin: 20px 0 0 0;
  padding: 10px;
  list-style: none;
}

#filters li {
  float: left;
}

#filters li span {
  display: block;
  cursor: pointer;
  color: #444;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 3px 0;
  margin-right: 25px;
}

#filters li span.active {
  color: #444;
  border-bottom: 2px solid #444;
}

#portfoliolist .portfolio {
  width:25%;
  margin: 0;
  padding: 10px;
  display:none;
  float:left;
  overflow:hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
}

.portfolio-wrapper {
  overflow:hidden;
  position: relative !important;
  background-color: #fff;
  cursor:pointer;
}

.portfolio img {
  max-width:100%;
  position: relative;
}

.portfolio .label {
  position: absolute;
  width: 100%;
  height: 50px;
  bottom: -50px;
}

.portfolio .label-bg {
  background: #fff;
  width: 100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
}

.portfolio .label-text {
  z-index:500;
  position: relative;
  color:#444;
  line-height: 1;
  padding: 12px 15px;
}
.portfolio .text-title {
  display: block;
  color: #444;
  font-size: 13px;
  font-weight: normal;
  margin-bottom: 4px;
}

.portfolio .text-category {
  display:block;
  font-size: 9px;
  font-weight: normal;
  text-transform: uppercase;
}

/* work - detail page */
.portfolio-detail {
  position: fixed;
  width: 225px;
  font-size: 13px;
  line-height: 1.5;
}

@media all and (max-width: 1000px) {
  .portfolio-detail {
    position: relative;
    width: auto;
  }
}

.portfolio-detail-img img {
  border: 1px solid #e5e5e5;
}

.arrow-link-left-wrap {
  float: left;
  width: 35px;
  margin-left: -40px;
}

.arrow-link-right-wrap {
  float: right;
  width: 35px;
  margin-right: -40px;
}

.arrow-link, .arrow-link:visited {
  width: 30px;
  height: 30px;
  color: #444;
  position: fixed;
  background-color: #ccc;
  border-radius: 3px;
}

.arrow-link:hover {
  color: #fff;
  background-color: #ff862d;
}

.arrow-left {
  width: 17px;
  height: 17px;
  border-right: 5px solid;
  border-bottom: 5px solid;
  transform: rotate(135deg);
  margin-top: 6px;
  margin-left: 10px;
}

.arrow-right {
  width: 17px;
  height: 17px;
  border-right: 5px solid;
  border-bottom: 5px solid;
  transform: rotate(-45deg);
  margin-top: 6px;
  margin-left: 3px;
}


/*  #Mobile (Portrait) - Note: Design for a width of 320px */
@media only screen and (max-width: 767px) {
  #portfoliolist .portfolio {
    width:48%;
    margin:1%;
  }
}

/* #Clearing */
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }
.row:after,
.clearfix:after {
  clear: both; }
.row,
.clearfix {
  zoom: 1; }

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}


/* About
-------------------------------------------------------- */
.about-section img{
  border-radius: 8px;
}

@media only screen and (max-width: 1024px) {
  .about-section  {
    text-align: center;
    padding: 30px 20px 10px 20px;
    margin-bottom: 30px;
    background-color: #fff;
  }
}

/* Resume
-------------------------------------------------------- */
.resume h2 {
  margin-bottom: 8px;
}

.resume h6 {
  margin-bottom: 15px;
}

.profile h5 {
  font-weight: normal;
  line-height: 1.6;
}

.section {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: solid 1px #ddd;
}

@media all and (max-width: 480px) {
  .screen-3 {
    height: auto;
    padding-top: 80px;
    padding-bottom: 40px;
  }

  .resume h2, .resume h4 {
    /*font-weight: bold;*/
  }

  .resume h2, .resume h4 {
    text-align: center;
  }

  .resume .text-right {
    text-align: center !important;
  }

  .resume .right {
    float: none !important;
  }
}


/* Gallery layout
------------------------------------------------------------------------------ */
.header-section {
  letter-spacing: 1px;
}

.header-section .text-description {
  color: #888;
  font-size: 13px;
  font-style: italic;
  text-align: center;
}

.icon-arrow {
  font-size: 22px;
  font-weight: 200;
}

.icon-arrow a {
  color: #333;
}

.icon-arrow a:hover,
.icon-arrow a:focus,
.icon-arrow a:active {
  color: #777;
}

.demo-gallery figure {
  display: none;
}

.demo-gallery a {
  display: block;
}

.demo-gallery a img {
  margin-bottom: 30px;
}

/* PhotoSwipe
------------------------------------------------------------------------------ */
/*! 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;
  -ms-touch-action: none;
  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 * {
    -webkit-box-sizing: border-box;
            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 */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
          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;
  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 {
  -ms-touch-action: none;
  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;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
          transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

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

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  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 skin
-------------------------------------------------------- */
/*! 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;
  -webkit-transition: opacity 0.2s;
          transition: opacity 0.2s;
  -webkit-box-shadow: none;
          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("/images/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("/images/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;
  -webkit-transition: opacity 0.25s ease-out;
          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;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
      -ms-transform: translateY(6px);
          transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
          transition: 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);
        -ms-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: center;
  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;
  -webkit-transition: opacity 0.25s ease-out;
          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("/images/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 {
  -webkit-box-sizing: border-box;
          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;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
          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; }
