/*
Theme Name: Fluxus
Theme URI: http://themeforest.net/item/fluxus-portfolio-theme-for-photographers/3854385
Author: inTheme
Author URI: https://inthe.me/
Version: 1.8.2
Description: Fluxus is a magazine inspired portfolio theme.
License: GNU General Public License
License URI: licensing/README_License.txt
Text Domain: fluxus

-------------------------------------------------------------------------------
  NOTE:
  This file was generated using SCSS.
  Source code can be found in theme's scss/ folder.

  WARNING:
  Do not edit this file if you want to update Fluxus theme in future.
  Otherwise you will loose all your changes.
  To make any changes please add any new CSS rules to user.css
-------------------------------------------------------------------------------


TABLE OF CONTENTS
-------------------------------------------------------------------------------

1. LAYOUT
	2.1 Main rules
	2.2 Header
	2.3 Footer
2. CONTENT
3. COMPONENTS
4. WIDGETS
5. PAGES
6. SHORTCODES
7. MISCELLANEOUS



1. LAYOUT
-------------------------------------------------------------------------------
  1.1 Main rules

*/
.site {
  position: relative;
  margin: 0 16px;
  z-index: 1;
}
@media only screen and (max-width: 576px) {
  .site {
    margin-top: 16px;
  }
}

.site--has-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.site-content {
  position: relative;
  /**
   * position: relative; is required for .entry-navigation.
   * However it could be avoided quite easily if needed.
   */
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 100%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.site--has-sidebar .site-content {
  padding-left: 32px;
}

.fixed-width-container {
  max-width: 576px;
}

.fluid-width-container {
  max-width: 70%;
}

/**
 * Horizontal layout
 */
.horizontal-page .site {
  -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  opacity: 0;
}
.horizontal-page--loaded .site {
  opacity: 1;
}

.horizontal-content {
  height: 100%;
  white-space: nowrap;
}

.horizontal-content__item {
  display: inline-block;
  max-height: 100%;
  height: 100%;
  margin-right: 32px;
  vertical-align: top;
  white-space: normal;
}

.captioned-media {
  position: relative;
  padding-bottom: 48px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.captioned-media--project-types {
  padding-bottom: 72px;
}

.captioned-media__caption {
  position: absolute;
  color: #111116;
  font: normal 12px/22px "Muli", georgia, serif;
  max-height: 32px;
  bottom: -32px;
  padding: 11px 20px 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden;
  white-space: normal;
}
.project .captioned-media__caption {
  position: static;
  max-height: 48px;
}
.project.captioned-media--project-types .captioned-media__caption {
  max-height: 72px;
}
.captioned-media__caption:after {
  content: "";
  position: absolute;
  font-family: "icomoon" !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  top: 8px;
  right: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: none;
}

.captioned-media__caption--expanded {
  max-height: 60%;
  overflow-y: visible;
}
.captioned-media__caption--expanded:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.captioned-media__caption--multiline {
  cursor: pointer;
}
.captioned-media__caption--multiline:after {
  display: block;
}

/* These values will be overwritten by JS. Used to reduce flickering. */
.horizontal-page .site {
  top: 70px;
}

/**
 * Fluid sizes.
 */
.single-format-quote .post--featured-image .entry-header,
.page-template-template-full-width-php .entry-content,
.page-template-template-full-width-php .fluid-width-container,
.page-template-template-full-width-sidebar-php .entry-content,
.page-template-template-full-width-sidebar-php .fluid-width-container {
  max-width: 100%;
}

/**
 * ---------------------------------------------------------
 * 1.2 Header
 * ---------------------------------------------------------
 */
.site-header {
  -webkit-transition: padding 0.3s linear;
  transition: padding 0.3s linear;
  z-index: 2;
  width: 100%;
}
.horizontal-page .site-header {
  /* On horizontal page header is fixed */
  position: fixed;
  left: 0;
  top: 0;
}
html.admin-bar-showing.horizontal-page .site-header {
  /* push navigation down if WP admin toolbar is visible */
  top: 32px;
}
@media only screen and (max-width: 768px) {
  html.admin-bar-showing.horizontal-page .site-header {
    top: 46px;
  }
}

.site-header__inner {
  background-color: #fff;
  position: relative;
  border-top: 3px solid #111116;
  width: 100%;
  padding: 12px 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.logo-container {
  width: 272px;
  border-right: 1px solid #ebebeb;
  margin: 0 32px 0 0;
  padding: 16px 0;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.site-description {
  font-size: 13px;
  color: #bdbdbd;
  font-weight: 400;
  text-align: center;
  margin-top: 3px;
  margin-bottom: -5px;
}

.site-logo {
  display: block;
  line-height: 0;
  text-align: center;
}
.site-logo img {
  display: inline-block;
}

/**
 * Main navigation located in header.
 */
.site-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.site-navigation ul {
  list-style: none;
  margin: 0;
}
.site-navigation li {
  float: left;
  position: relative;
  margin: 0 1em 0 0;
}
.site-navigation a {
  position: relative;
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  color: #8a8a8a;
  text-transform: uppercase;
  border: 0 none;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.site-navigation .sub-menu {
  position: absolute;
  top: 28px;
  left: -11px;
  display: none;
  background-color: #fff;
  border-top: 1px solid #111116;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
  padding: 8px 0;
  z-index: 10000;
}
.site-navigation .sub-menu a {
  white-space: nowrap;
  padding: 8px 16px;
  font-size: 12px;
  display: block;
}
.site-navigation .sub-menu li {
  margin: 0 0 3px 0;
  display: block;
  width: 100%;
}
.site-navigation .sub-menu-right {
  right: 0;
  left: auto;
}
.site-navigation .has-children > a {
  padding-right: 22px;
}
.site-navigation .has-children > a:after {
  content: "";
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  line-height: 1em;
  font-size: 16px;
  position: absolute;
  top: 7px;
}
.site-navigation .has-children.active > a:after,
.site-navigation .has-children.current-menu-item > a:after,
.site-navigation .has-children.current-menu-ancestor > a:after {
  opacity: 1;
}
.site-navigation .has-children:hover > a:hover:after,
.site-navigation .sub-menu .has-children:hover > a:after {
  opacity: 1;
}
.site-navigation .sub-menu .has-children > a {
  padding-right: 25px;
}
.site-navigation .has-children .sub-menu .sub-menu {
  /* Third level submenu. */
  border-top-width: 2px;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
  left: 100%;
  right: auto;
  top: -8px;
  display: none;
}
.site-navigation .sub-menu .has-children > a:after {
  content: "";
  right: 8px;
  top: 5px;
}
.site-navigation .has-children:hover > .sub-menu {
  display: block;
}
.site-navigation .has-children .sub-menu-right .sub-menu {
  right: 100%;
  left: auto;
}
.site-navigation .sub-menu.sub-menu-right .has-children > a:after {
  right: auto;
  background-position: 0 -103px;
  left: 7px;
  top: 9px;
  height: 8px;
}
.site-navigation a:hover {
  color: #111116;
}
.site-navigation .active > a,
.site-navigation .current-menu-item > a,
.site-navigation .current-menu-ancestor > a,
.site-navigation .active .current-fluxus-project-type-ancestor > a,
.site-navigation .secondary-navigation .current-menu-parent > a {
  /* .active is necessary to avoid conflicts */
  background: #fff200;
  color: #111116;
}

.secondary-navigation li {
  margin: 0 0 0 1em;
}

.primary-navigation {
  margin-left: -8px;
  /* so text that letter aligns with content below */
}

/**
 * ---------------------------------------------------------
 * 1.3 Footer
 * ---------------------------------------------------------
 */
/* Used for sticky footer. */
#page-wrapper {
  min-height: 100%;
  min-width: 100%;
  margin: 0 auto -50px;
}

.site-footer,
.site-footer-push {
  height: 50px;
  clear: both;
}

.horizontal-page .site-footer-push {
  display: none;
}

.site-footer {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #8a8a8a;
  font-size: 12px;
  padding: 13px 15px 0;
  width: 100%;
}
.horizontal-page .site-footer {
  /* On horizontal page footer is fixed. */
  position: fixed;
  bottom: 0;
  height: 50px;
  background: #fff;
  /**
   * We need z-index: 1 so that Social Share
   * widget pops on top of main content.
   */
  z-index: 1;
}

/**
	* Normalize sharrre buttons vertical-align.
	*/
.sharrre .pinterest > a,
.sharrre .fb_iframe_widget span,
.sharrre .linkedin > span[style] {
  vertical-align: top !important;
}

.sharrre .twitter iframe {
  position: relative;
  top: -1px;
}

.sharrre .button {
  padding: 0;
}

.site-footer .social-networks {
  float: left;
}

.site-footer .social-networks .icon-social {
  margin-right: 10px;
  height: 22px;
  display: inline-block;
}

.site-footer .social-networks .icon-social:last-child {
  margin-right: 0;
}

.site-footer .social-networks .icon-social:before {
  font-size: 22px;
}

/**
 * Navigation Tip
 */
.nav-tip {
  float: right;
  line-height: 24px;
  display: none;
}

.nav-tip--visible {
  display: block;
}

.nav-tip .nav-tip__button {
  width: 23px;
  height: 23px;
  padding: 0;
  margin: 0 5px;
  background: none;
  border: 1px solid #eaeaea;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}

.nav-tip .nav-tip__button:before {
  margin-right: 0 !important;
}

.nav-tip .nav-tip__button:hover {
  border-color: #ccc;
  background: none;
}

.global-navigation-on-next .nav-tip .nav-tip__button--next {
  border-color: #aaa;
}

.global-navigation-on-prev .nav-tip .nav-tip__button--prev {
  border-color: #aaa;
}

.nav-tip .nav-tip__button:focus,
.nav-tip .nav-tip__button:active {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.nav-tip .nav-tip__button:before {
  font-size: 14px;
}

.nav-tip .nav-tip__button + .nav-tip__button {
  margin-left: 0;
}

.footer-links {
  line-height: 24px;
  float: right;
}
.footer-links > *,
.footer-links li {
  float: left;
  margin: 0 0 0 30px;
}
.footer-links a {
  color: #8a8a8a;
  font-size: 12px;
  line-height: 1.5;
  border-bottom: 1px solid #ebebeb;
  padding: 7px 0 1px;
  margin: -7px 0 0 0;
  display: inline-block;
}
.footer-links a:hover {
  color: #111116;
  border-bottom-color: #111116 !important;
}
.footer-links .credits:before,
.footer-links li:before {
  content: " ";
  display: block;
  position: absolute;
  width: 15px;
  height: 30px;
  background: url(./images/slash.png) no-repeat;
  margin: -3px 0 0 -20px;
}
.footer-links li {
  list-style: none;
}
.footer-links li:first-child {
  margin-left: 0;
}
.footer-links li:first-child:before {
  display: none;
}

.footer-navigation .sub-menu {
  display: none;
}

.footer-navigation li {
  position: relative;
}

.footer-navigation li.has-children > a {
  padding-left: 15px;
}

.footer-navigation li.has-children > a:before {
  content: "";
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  line-height: 1em;
  font-size: 16px;
  position: absolute;
  top: 3px;
  left: -3px;
}

.footer-navigation li.has-children .has-children > a:before {
  content: "";
  top: 11px;
  left: 5px;
}

.footer-navigation li .sub-menu {
  position: absolute;
  top: auto;
  bottom: 26px;
  left: auto;
  right: -17px;
  margin: 0;
  padding: 5px 0;
  background: #fff;
  border-top: 1px solid #111116;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.footer-navigation li .sub-menu li {
  margin: 0;
  float: none;
  display: block;
}

.footer-navigation li .sub-menu li:before {
  display: none;
}

.footer-navigation li .sub-menu a {
  padding: 10px 22px 10px;
  margin: 0;
  display: block;
  white-space: nowrap;
  border: 0;
  color: #8a8a8a;
}

.footer-navigation li .sub-menu li:hover > a {
  color: #111116;
}

.footer-navigation li:hover > a {
  border-bottom-color: transparent;
}

.footer-navigation li:hover > .sub-menu {
  display: block;
}

.footer-navigation li .sub-menu .sub-menu {
  left: 0;
  top: auto;
  bottom: auto;
  right: auto;
  -webkit-transform: translate(-100%, -105%);
  transform: translate(-100%, -105%);
}

/*-----------------------------------------------------------------------------
	2. CONTENT
-----------------------------------------------------------------------------*/
.entry-title a {
  text-decoration: none;
}
.entry-title a:hover {
  color: #8a8a8a;
}
.project-title__prefix + .entry-title {
  margin-top: 6px;
}
.single .entry-title {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-weight: 300;
  font-size: 34px;
  line-height: 1em;
  text-transform: none;
  text-indent: -2px;
  letter-spacing: normal;
}

.entry-summary {
  font: normal 14px/2em "Muli", georgia, serif;
}

.entry-content {
  font: normal 16px/2em "Muli", georgia, serif;
}
.entry-content a {
  text-decoration: none;
  border-bottom: 1px solid #ebebeb;
}
.entry-content a:hover {
  border-color: currentColor;
}
.entry-content a:focus {
  border-color: #8a8a8a;
  color: #8a8a8a;
}
.entry-content dl {
  margin-top: 0;
}
.entry-content li + li {
  margin-top: 11px;
}
.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ol,
.entry-content ol ul {
  margin: 8px 0 16px 16px;
}
.entry-content li ul,
.entry-content li ol {
  padding-left: 0;
  list-style-type: circle;
}
.entry-content p {
  line-height: 2em;
  /**
   * ^ line-height has to be here to allow inline font-size
   * setting via WP Blocks. Otherwise it results in incorrect line-height
   * inherited from smaller parent
   */
  /**
   * ^ Floated elements can be inside paragraphs so let's clear them.
   */
}
.entry-content p:after {
  content: " ";
  display: table;
  clear: both;
}
.entry-content h1 {
  font-size: 27px;
}
.entry-content h2 {
  font-size: 24px;
}
.entry-content h3 {
  font-size: 21px;
}
.entry-content h4 {
  font-size: 16px;
}
.entry-content h5 {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.entry-content h6 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.entry-content cite {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  color: #bdbdbd;
  letter-spacing: 0.04em;
}
.entry-content cite a {
  color: #bdbdbd;
  border-color: currentColor;
}
.entry-content cite a:hover {
  color: #111116;
}
.entry-content code {
  font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  background-color: #f3f4f5;
  padding: 2px 4px;
  border-radius: 2px;
  color: #111116;
  font-size: inherit;
}

.entry-content table,
.wp-block-table {
  margin-bottom: 16px;
  border-collapse: collapse;
  font-size: 13px;
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}
.entry-content table thead,
.wp-block-table thead {
  text-transform: uppercase;
}
.entry-content table thead td,
.entry-content table thead th,
.wp-block-table thead td,
.wp-block-table thead th {
  font-weight: 700;
}
.entry-content table td,
.entry-content table th,
.wp-block-table td,
.wp-block-table th {
  border: 1px solid #ebebeb;
  padding: 6px 15px;
}
.entry-content table tfoot,
.wp-block-table tfoot {
  color: #8a8a8a;
}

.wp-block-table table {
  margin-bottom: 0;
}

.text-light {
  color: #fff;
}

.standfirst {
  margin-bottom: 32px;
}
.standfirst p {
  margin-bottom: 32px;
}
.standfirst p:last-child {
  margin-bottom: 0;
}

.entry-meta {
  font-size: 13px;
  line-height: 1.5;
  color: #8a8a8a;
  font-weight: normal;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.entry-meta a:hover {
  color: #111116;
}
.entry-title + .entry-meta {
  margin-top: 8px;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.post-edit-link {
  font: normal 13px/1.6em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  display: inline-block;
}

.single .entry-content .post-edit-link,
.page .entry-content .post-edit-link {
  margin-bottom: 32px;
}

.wrap-size-full {
  overflow: hidden;
}

.wrap-size-full a {
  float: left;
  width: 75%;
  margin: 0 0 24px;
}

.wrap-size-full figcaption {
  border-top: 1px solid #eaeaea;
  float: left;
  font: 300 16px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  color: #aaa;
  width: 22%;
  margin: 0 0 0 2%;
  position: relative;
  padding: 7px 0 0 0;
}

/**
 * Media.
 */
.entry-content img,
.comment-content img,
.widget img {
  max-width: 100%;
  /* Fluid images for posts, comments, and widgets */
}

.entry-content img,
img[class*=align],
img[class*=wp-image-] {
  height: auto;
  /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}

.entry-content img,
img.size-full {
  max-width: 100%;
}

.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

.media-caption {
  color: #8a8a8a;
  font: 300 14px/1.45em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}
.media-caption a {
  -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  color: currentColor;
  text-decoration: none;
  border-bottom: 1px solid;
}
.media-caption a:hover {
  color: #111116;
  border-bottom-color: #111116;
}

/**
 * Sidebar.
 */
.sidebar {
  min-width: 272px;
  max-width: 272px;
  padding-right: 32px;
  border-right: 1px solid #ebebeb;
  word-wrap: break-word;
  text-align: right;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.sidebar .title {
  padding: 0 0 16px;
}

.project-title__prefix {
  font: normal 15px/1em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  letter-spacing: 0.01em;
}

.project-title__prefix--small {
  font-size: 14px;
}

.sidebar .viewport {
  height: 100%;
  overflow: hidden;
}

.sidebar .wysiwyg {
  text-align: right;
  float: right;
  color: #8a8a8a;
  font-size: 12px;
}

.sidebar .widget-password .post-password {
  margin-bottom: 16px;
}

/**
 * Portfolio project navigation.
 */
.horizontal-navigation {
  -webkit-box-shadow: inset 0 0 0 1px #eaeaea;
          box-shadow: inset 0 0 0 1px #eaeaea;
  min-width: 558px;
  max-width: 558px;
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.horizontal-navigation--portfolio {
  padding-left: 32px;
  padding-right: 32px;
  padding-bottom: 24px;
  /* -8px (bottom margin of last element) */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.horizontal-navigation--blog {
  padding-left: 32px;
  padding-right: 32px;
  min-width: auto;
  max-height: none;
  text-align: center;
}

.horizontal-navigation--portfolio {
  text-align: center;
}

.horizontal-navigation--vertical-blog {
  -webkit-box-shadow: none;
          box-shadow: none;
  text-align: left;
  padding: 0;
}
.horizontal-navigation--vertical-blog .current-page-number {
  display: none;
}
.horizontal-navigation--vertical-blog .flex-position {
  display: block;
}

/**
 * Appreciate & Share buttons.
 */
#sharrre-project,
.btn-appreciate {
  position: relative;
  color: #333;
  font-size: 13px;
  line-height: 16px;
  padding: 0 0 3px;
  border-bottom: 1px solid #eaeaea;
}

.btn-appreciate {
  margin-left: 26px;
}

#sharrre-project .box {
  cursor: pointer;
}

#sharrre-project:before,
.btn-appreciate:before {
  position: absolute;
  top: -3px;
  margin: 0 0 0 -33px;
  font-size: 26px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

#sharrre-project:before {
  margin-left: -54px;
  font-size: 28px;
  top: -5px;
}

.btn-appreciate:hover,
#sharrre-project:hover,
#sharrre-project:hover .box .share {
  color: #777;
  border-bottom-color: transparent;
}

.btn-appreciate:hover:before {
  color: #ec0039;
}

#sharrre-project:hover:before {
  color: #0059ec;
}

#sharrre-project .count-total,
.btn-appreciate .numbers {
  padding-left: 5px;
  color: #ec0039;
}

#sharrre-project .count-total {
  color: #0059ec;
}

.btn-appreciate.has-appreciated,
.btn-appreciate.has-appreciated:hover {
  color: #ec0039;
  font-weight: bold;
  border-bottom: 0 none;
  cursor: default;
}

.btn-appreciate.has-appreciated:before {
  color: #ec0039;
}

/**
 * Other Projects
 */
.other-projects {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -8px;
  margin-right: -8px;
}

.other-projects__item-col {
  min-width: 25%;
  max-width: 25%;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.other-projects__item {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  background-color: #eaeaea;
  margin-bottom: 16px;
}

.other-projects__item-overlay {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.other-projects__item--active .other-projects__item-overlay {
  opacity: 1;
  background: rgba(255, 242, 0, 0.7);
  color: #111116;
}

.other-projects__item:hover .other-projects__item-overlay {
  opacity: 1;
}

.other-projects__item-row {
  min-width: 100%;
  max-width: none;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/**
 * Generic WP generated paging.
 */
.paging {
  white-space: nowrap;
}

.page-numbers,
.post-page-numbers {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  line-height: 36px;
  min-width: 40px;
  border: 1px solid #ebebeb;
  color: #111116;
  font-weight: 300;
  padding: 0 14px;
  white-space: nowrap;
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}
.page-numbers:hover,
.post-page-numbers:hover {
  color: #111116;
  border-color: #ccc;
}
.page-numbers .icon-chevron-thin-right,
.page-numbers .icon-chevron-thin-left,
.post-page-numbers .icon-chevron-thin-right,
.post-page-numbers .icon-chevron-thin-left {
  position: relative;
  top: 1px;
  font-size: 11px;
}
.page-numbers.next:before, .page-numbers.prev:before,
.post-page-numbers.next:before,
.post-page-numbers.prev:before {
  content: "";
  position: absolute;
  left: 50%;
  font-family: "icomoon";
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.page-numbers.prev:before,
.post-page-numbers.prev:before {
  content: "";
}
.page-numbers + .page-numbers,
.page-numbers + .post-page-numbers,
.post-page-numbers + .page-numbers,
.post-page-numbers + .post-page-numbers {
  margin-left: 8px;
}

.page-numbers--label {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.paging .current,
.post-page-numbers.current {
  background: #fff200;
  color: #111116;
  border-color: #fff200;
  cursor: default;
}

.paging .next,
.paging .prev {
  white-space: nowrap;
}

/**-----------------------------------------------------------------------------
 * 3. COMPONENTS
 * -----------------------------------------------------------------------------
 **/
/**
 * Aligns children content in the vertical middle of
 * parent container.
 */
.vertical-middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.vertical-middle--centered {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.vertical-middle--contained {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.slash {
  background: url(./images/slash@2x.png) no-repeat;
  background-size: auto 100%;
  height: 30px;
  width: 15px;
  display: inline-block;
}
@media only screen and (max-width: 576px) {
  .slash {
    height: 21px;
  }
}

.slash-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/**
 * Share widget.
 */
.share-widget .button {
  background: none;
  padding: 0;
  display: block;
  margin-left: 0 !important;
  margin-bottom: 16px;
  cursor: default;
  text-align: left;
}
.share-widget .button:hover {
  border: 0 none;
  background: none !important;
}

.share-widget--footer {
  position: relative;
  border: 1px solid #ebebeb;
  line-height: 21px;
  float: left;
  display: none;
  margin-right: 16px;
}
.share-widget--footer:hover, .share-widget--footer.state-visible {
  border-color: #ccc;
}
.share-widget--footer:hover .share, .share-widget--footer.state-visible .share {
  color: #111116;
}
.share-widget--footer .share {
  position: relative;
  font-weight: normal;
  float: left;
  padding: 0 6px 0 7px;
  display: block;
  cursor: pointer;
}
.share-widget--footer .share:after {
  position: relative;
  font-family: "icomoon";
  content: "";
  top: 1px;
  left: 2px;
}
.share-widget--footer.state-visible .share:after {
  content: "";
}

.share-widget__close {
  position: absolute;
  top: -1px;
  right: 12px;
  display: block;
  color: #8a8a8a;
}
.share-widget__close:hover {
  color: #8a8a8a;
}
.share-widget__close:before {
  position: absolute;
  font-family: "icomoon";
  content: "";
  display: block;
  line-height: 1em;
  font-size: 14px;
}

.share-widget__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.share-widget__buttons .button {
  min-width: 110px;
  max-width: 110px;
  min-height: 21px;
  max-height: 21px;
}
.share-widget__buttons .button.facebook {
  margin-top: 1px;
}
.share-widget__buttons .button.linkedin {
  margin-top: -1px;
}

.share-widget__wrapper {
  position: absolute;
  background: #fff;
  border: 1px solid #ccc;
  padding: 16px 16px 0;
  bottom: 21px;
  left: -1px;
  min-width: 130px;
  display: none;
  z-index: 1000;
}
.state-visible .share-widget__wrapper {
  display: block;
}
.share-widget--project .share-widget__wrapper {
  left: auto;
  top: 200%;
  bottom: auto;
  width: 350px;
  right: -90px;
}

.share-widget__title {
  position: relative;
  display: block;
  padding: 0 20px 24px 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #8a8a8a;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 13px;
  line-height: 1;
}

/**
 * Share project button.
 */
.share-widget--project {
  margin: 0 0 0 80px;
}
.share-widget--project .box .share {
  line-height: 16px;
  font-weight: normal;
  color: #333;
}
.share-widget--project .arrow {
  position: absolute;
  top: -5px;
  right: 57px;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #ccc;
}

/**
 * We ensure aspect ratio using JS by creating an
 * image which fills space. Then we position real
 * media element in that created space.
 *
 * .aspect
 *   .asmect__media
 *   .aspect__placeholder.js-aspect__placeholder
 *
 */
.aspect {
  position: relative;
  max-height: 100%;
}

.aspect__media,
.aspect__media iframe,
.aspect__media video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.aspect__placeholder {
  display: block;
}
.aspect--fill-width .aspect__placeholder {
  max-width: 100%;
  height: auto;
}

/**
 * Lazy Load
 *
 * Usage: <img data-src="" class="lazyload" />
 */
.lazyload-component {
  max-height: 100%;
  height: inherit;
}

.lazyload,
.lazyload-component__image {
  display: block;
  opacity: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  transition: opacity 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  max-height: 100%;
}

.lazyloaded {
  opacity: 1;
}

/* 1 second delay to show loading only if it takes longer than 1 second */
.lazyload-component__loading {
  -webkit-transition: 0.5s opacity ease 0.8s;
  transition: 0.5s opacity ease 0.8s;
  opacity: 0;
}
.lazyload-component--loaded .lazyload-component__loading {
  -webkit-transition: 0.5s opacity ease;
  transition: 0.5s opacity ease;
  opacity: 0;
}

/* DOM structure has to be like this since lazysizes does not offer onLoadStarted event */
.lazyloading + .lazyload-component__loading {
  opacity: 1;
}

/**
 * Blog post previous/next navigation.
 */
.post-navigation {
  float: left;
  width: auto;
}

@media only screen and (max-width: 576px) {
  .post-navigation__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .post-navigation__buttons .page-numbers {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 50%;
    text-align: center;
  }
}
/**
 * Image with caption.
 */
.wp-caption,
.wp-block-image figcaption,
.wp-block-video figcaption,
.wp-block-audio figcaption {
  margin-bottom: 0;
  color: #8a8a8a;
  font: 300 14px/1.45em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}
.wp-caption a,
.wp-block-image figcaption a,
.wp-block-video figcaption a,
.wp-block-audio figcaption a {
  -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  color: currentColor;
  text-decoration: none;
  border-bottom: 1px solid;
}
.wp-caption a:hover,
.wp-block-image figcaption a:hover,
.wp-block-video figcaption a:hover,
.wp-block-audio figcaption a:hover {
  color: #111116;
  border-bottom-color: #111116;
}

.wp-caption {
  max-width: 100%;
  position: relative;
  margin-top: 5px;
}
.wp-caption.alignright .wp-caption-text {
  text-align: right;
}
.wp-caption.aligncenter .wp-caption-text {
  text-align: center;
}
.wp-caption.alignleft .wp-caption-text {
  text-align: left;
}
.wp-caption img {
  display: block;
}

/**
 * Alignment
 */
.alignleft,
.aligncenter,
.alignright {
  display: block;
  margin-bottom: 16px !important;
}

.alignleft {
  float: left;
  margin-right: 16px !important;
}

.alignright {
  float: right;
  margin-left: 16px !important;
}

.aligncenter {
  clear: both;
  margin: 0 auto !important;
}

.wp-block-gallery {
  margin-bottom: 32px;
}
p + .wp-block-gallery {
  margin-top: 32px;
}
.entry-content .wp-block-gallery {
  margin-left: 0;
}
.entry-content .wp-block-gallery.alignleft {
  margin-right: 32px;
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  padding: 8px;
  text-align: left;
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.wp-block-gallery .blocks-gallery-grid {
  margin-left: 0;
  margin-bottom: 0;
}
.wp-block-spacer {
  clear: both;
}

.wp-block-quote,
.entry-content blockquote {
  position: relative;
  margin: 0 0 32px;
  padding-top: 8px;
  padding-left: 76px;
  line-height: 1.4;
  min-height: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 0 none;
}
.wp-block-quote:before,
.entry-content blockquote:before {
  content: "“";
  width: 60px;
  height: 60px;
  background-color: #fff200;
  color: #111116;
  border-radius: 100%;
  display: block;
  font-size: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px 0 0 16px;
  font-family: "Muli", georgia, serif;
  line-height: 1;
  text-align: left;
  /* because blockquotes can be aligned right :| */
  position: absolute;
  top: 0;
  left: 0;
}
.wp-block-quote p,
.entry-content blockquote p {
  font-family: "Muli", georgia, serif;
  margin: 0;
  line-height: 1.4em;
}
.wp-block-quote cite,
.entry-content blockquote cite {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  color: #bdbdbd;
  letter-spacing: 0.04em;
  display: block;
}
.wp-block-quote cite a,
.entry-content blockquote cite a {
  color: #bdbdbd;
  border-color: currentColor;
}
.wp-block-quote cite a:hover,
.entry-content blockquote cite a:hover {
  color: #111116;
}
.wp-block-quote.is-style-large,
.entry-content blockquote.is-style-large {
  padding: 8px 0 0 76px;
  margin-bottom: 32px;
}
.wp-block-quote.is-style-large p,
.entry-content blockquote.is-style-large p {
  font-size: 22px;
  line-height: 1.6em;
  font-style: normal;
}
.wp-block-quote.is-style-large cite,
.entry-content blockquote.is-style-large cite {
  text-align: left;
  margin-top: 8px;
}
.featured-media .wp-block-quote,
.featured-media .entry-content blockquote {
  margin-bottom: 0;
}

.wp-block-quote--white,
.wp-block-quote--white cite {
  color: #fff !important;
}

.wp-block-quote--black,
.wp-block-quote--black cite {
  color: #111116 !important;
}

.wp-block-latest-comments__comment-meta {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 13px;
}

.wp-block-latest-comments__comment-author {
  font-weight: bold;
  font-style: normal;
  font-size: 13px;
}
.entry-content .wp-block-latest-comments__comment-author {
  border: 0 none;
}

.wp-block-latest-comments__comment-excerpt {
  max-width: 500px;
}
.wp-block-latest-comments__comment-excerpt p {
  font-size: 14px !important;
  line-height: 1.6em !important;
}

.wp-block-latest-comments__comment + .wp-block-latest-comments__comment {
  margin-top: 16px;
}

.wp-block-search {
  max-width: 400px;
}

.wp-block-search__input {
  padding-left: 8px;
  padding-right: 8px;
}

.has-drop-cap:not(:focus)::first-letter {
  font-size: 64px;
  line-height: 54px;
  margin: 6px 4px 0 0;
}

.has-drop-cap:not(:focus)::after {
  padding-top: 0;
}

.wp-block-file:hover a {
  border-color: currentColor;
}

.wp-block-video figcaption {
  margin-top: 0;
}

.wp-block-embed__wrapper .instagram-media,
.wp-block-embed__wrapper .instagram-media[style],
.wp-block-embed__wrapper .twitter-tweet,
.wp-block-embed__wrapper .twitter-tweet[style] {
  margin-left: auto !important;
  margin-right: auto !important;
}
.wp-block-embed__wrapper .instagram-media,
.wp-block-embed__wrapper .instagram-media[style] {
  max-width: 300px !important;
}

.wp-block-separator,
hr {
  margin-top: 16px;
  background-color: #ebebeb;
  border: 0;
  height: 1px;
  max-width: 100px;
}
.wp-block-separator.is-style-wide,
hr.is-style-wide {
  max-width: none;
}
.fluid-width-container .wp-block-separator.is-style-wide,
.fluid-width-container hr.is-style-wide {
  width: 142.8571428571%;
  width: calc(142.8571428571% + 32px);
  margin-left: -32px;
}
.wp-block-separator.is-style-dots,
hr.is-style-dots {
  height: auto;
  background: none;
}
.wp-block-separator.is-style-dots:before,
hr.is-style-dots:before {
  font-size: 40px;
  letter-spacing: 10px;
  color: #e0e0e0;
  padding: 0;
}

.wp-block-cover {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.04em;
}

.wp-block-file .wp-block-file__textlink,
.wp-block-file a {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  border-bottom: 0 none;
  font-weight: bold;
  font-size: 13px;
}
.wp-block-file .wp-block-file__button,
.wp-block-file a.wp-block-file__button {
  border-radius: 0;
  color: #111116;
  margin-left: 16px;
}
.wp-block-file .wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:hover {
  background-color: #e0e0e0;
  color: #333;
}
.wp-block-file .wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:focus {
  color: #ccc;
}

.wp-block-code {
  border-style: solid;
  border-radius: 0;
  padding: 16px;
  margin-top: 0;
  margin-bottom: 16px;
}
.wp-block-code code {
  font-family: "Menlo", "Consolas", "monaco", monospace;
  background: none;
  line-height: 1.5;
  display: block;
}

.wp-block-pullquote {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 21px 0;
  text-align: left;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 32px;
}
.wp-block-pullquote blockquote {
  padding: 0;
  max-width: 500px !important;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}
.wp-block-pullquote blockquote::before {
  position: relative;
  left: 50%;
  margin-left: -30px;
  margin-bottom: 16px;
}
.wp-block-pullquote.is-style-solid-color {
  padding-top: 32px;
  padding-bottom: 32px;
  border-top: 0 none;
  border-bottom: 0 none;
}
.wp-block-pullquote p {
  font-size: 22px !important;
  line-height: 1.6em;
}
.wp-block-pullquote cite {
  margin-top: 8px;
}
.wp-block-pullquote.has-cyan-bluish-gray-background-color cite {
  color: #111116;
}

.wp-block-verse {
  border: 0 none;
  line-height: 1.6;
  padding: 0;
  font-family: "Menlo", "Consolas", "monaco", monospace;
}

.wp-block-button__link {
  cursor: pointer;
  font: normal 12px/15px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  padding: 10px 16px 11px;
  display: inline-block;
  border-radius: 1px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
  text-decoration: none !important;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
  border: 0;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.entry-content .wp-block-button__link {
  border-bottom: 0 none;
}
.wp-block-button__link:not(.has-text-color) {
  color: #111116;
}
.wp-block-button__link:not(.has-text-color):hover {
  color: #333;
}
.wp-block-button__link:not(.has-background) {
  background-color: #eaeaea;
}
.wp-block-button__link:not(.has-background):hover {
  background-color: #e0e0e0;
}
.wp-block-button__link:not(.has-background):focus {
  background-color: #ccc;
}

.wp-block-archives li + li {
  margin-top: 0;
}
.wp-block-archives.wp-block-archives-dropdown {
  margin-left: 0;
}
.wp-block-archives.aligncenter {
  text-align: center;
  list-style: none;
}

.wp-block-calendar table,
#wp-calender {
  border-collapse: collapse;
  font-size: 13px;
  font-weight: normal;
}
.wp-block-calendar table th,
.wp-block-calendar table td,
#wp-calender th,
#wp-calender td {
  border: 1px solid #ebebeb;
  text-align: center;
  color: #8a8a8a;
}
.wp-block-calendar table th,
#wp-calender th {
  color: #666;
  background: #f5f5f5;
  font-weight: normal;
}
.wp-block-calendar table tbody td a,
#wp-calender tbody td a {
  background: #fff200;
  display: block;
}
.wp-block-calendar table tbody td a:hover,
#wp-calender tbody td a:hover {
  background: #111116;
  color: #fff;
}
.wp-block-calendar table caption,
#wp-calender caption {
  text-align: right;
  padding: 0 0 5px 0;
  color: #ccc;
}
.wp-block-calendar table #prev,
#wp-calender #prev {
  border-right: 0 none;
}
.wp-block-calendar table #next,
#wp-calender #next {
  border-left: 0 none;
  border-right: 1px solid #ebebeb;
}
.wp-block-calendar table tfoot .pad,
#wp-calender tfoot .pad {
  border-left: 0 none;
  border-right: 0 none;
}

.wp-block-categories li + li {
  margin-top: 0;
}
.wp-block-categories.wp-block-categories-dropdown {
  margin-left: 0;
}
.wp-block-categories.aligncenter {
  text-align: center;
  list-style: none;
}

.wp-block-latest-posts li + li {
  margin-top: 0;
}
.vertical__post + .vertical__post:before, .entry-navigation:before {
  content: " ";
  width: 100%;
  height: 0;
  border-top: 1px solid #ebebeb;
  display: block;
  position: absolute;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .wp-block-gallery .blocks-gallery-caption {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  line-height: 1.4em;
  margin-bottom: 16px;
}
.entry-content p + h1, .entry-content p + h2, .entry-content p + h3, .entry-content p + h4, .entry-content p + h5, .entry-content p + h6, .wp-block-gallery p + .blocks-gallery-caption {
  margin-top: 32px;
}

.standfirst, .standfirst p {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 22px;
  line-height: 1.6em;
  font-weight: 300;
}

.entry-content dl, .entry-content address, .entry-content p, .wp-block-search, .wp-block-audio, .wp-block-file, .wp-block-video, .wp-block-embed, .wp-block-latest-comments, .wp-block-media-text, .wp-block-separator,
hr, .wp-block-button, .wp-block-latest-posts {
  margin-bottom: 16px;
}

.entry-date,
.comment-time, .wp-block-latest-comments__comment-date, .wp-block-latest-posts .wp-block-latest-posts__post-date {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: none;
  color: #bdbdbd;
  font-size: 12px;
  white-space: nowrap;
}

.page-title,
.entry-title,
.sidebar .title {
  font: 700 24px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  word-wrap: break-word;
}

.wp-block-preformatted {
  font-family: "Menlo", "Consolas", "monaco", monospace;
  font-size: 13px;
  line-height: 1.3;
  margin: 0 0 16px;
  padding: 1.6em;
  overflow: auto;
  max-width: 100%;
  color: #111116;
  border: 1px dashed #ebebeb;
  white-space: pre-wrap;
  background-color: #fff;
}

.wp-block-latest-comments {
  list-style: none;
  margin-left: 0 !important;
}

.entry-content ul,
.entry-content ol, .wp-block-archives, .wp-block-categories, .wp-block-latest-posts {
  margin: 0 0 16px 32px;
  padding-left: 0;
}

.wp-block-archives .wp-block-archives__post-count, .wp-block-categories .wp-block-categories__post-count {
  position: relative;
  margin-left: 4px;
  top: -1px;
  vertical-align: middle;
  font-size: 14px;
}

.widget-title, .wp-block-search__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.wp-block-column {
  margin-bottom: 32px;
}
.wp-block-column p:last-child {
  margin-bottom: 0;
}

.wp-block-image figcaption {
  margin-top: 0;
}
.wp-block-image:after {
  content: " ";
  display: table;
  clear: both;
}

/**
 * Default button.
 */
.button,
.sidebar input[type=submit],
.sidebar button,
#searchsubmit,
.wp-block-file .wp-block-file__button {
  cursor: pointer;
  font: normal 12px/15px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  padding: 10px 16px 11px;
  display: inline-block;
  border-radius: 1px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
  text-decoration: none !important;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
  border: 0;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  color: #111116;
  background-color: #eaeaea;
}
.entry-content .button,
.entry-content .sidebar input[type=submit],
.entry-content .sidebar button,
.entry-content #searchsubmit,
.entry-content .wp-block-file .wp-block-file__button {
  border-bottom: 0 none;
}
.button:hover,
.sidebar input[type=submit]:hover,
.sidebar button:hover,
#searchsubmit:hover,
.wp-block-file .wp-block-file__button:hover {
  color: #333;
}
.button:hover,
.sidebar input[type=submit]:hover,
.sidebar button:hover,
#searchsubmit:hover,
.wp-block-file .wp-block-file__button:hover {
  background-color: #e0e0e0;
}
.button:focus,
.sidebar input[type=submit]:focus,
.sidebar button:focus,
#searchsubmit:focus,
.wp-block-file .wp-block-file__button:focus {
  background-color: #ccc;
}

.sidebar input[type=submit],
.sidebar button,
#searchsubmit {
  margin-left: 16px;
}

.entry-content .button {
  margin-right: 10px;
}
.button + .button {
  margin-left: 10px;
}
.button[class^=icon-]:before, .button[class*=" icon-"]:before {
  margin-right: 5px;
}

.button-big {
  padding: 15px 20px 14px;
  font-weight: 700;
}
.button-big:before {
  margin: 0 5px 0 -4px;
}

.button-black {
  background: #111116;
  color: #fff;
}
.button-black:hover {
  background: #222226;
  color: #fff;
}

.button--accent,
.button-yellow {
  background-color: #fff200;
  color: #111116;
}
.button--accent:hover,
.button-yellow:hover {
  background: #ffd300;
  color: #111116;
}

.button-blue {
  background: #619ec2;
  color: #fff;
}
.button-blue:hover {
  background: #5386a5;
  color: #fff;
}

.button-green {
  background: #35d59b;
  color: #fff;
}
.button-green:hover {
  background: #2fbe79;
  color: #fff;
}

.button-red {
  background: #d1562b;
  color: #fff;
}
.button-red:hover {
  background: #bf4115;
  color: #fff;
}

.button-blended {
  background-color: transparent;
}
.button-blended:hover {
  background-color: transparent;
  opacity: 0.8;
}

.decoration {
  width: 15px;
  height: 2px;
  background-color: #111116;
  background-color: currentColor;
  vertical-align: middle;
}
.sidebar .decoration {
  position: absolute;
  right: 0;
}

.decoration-block {
  position: relative;
  display: block;
  height: 32px;
}
.decoration-block:after {
  width: 15px;
  height: 2px;
  background-color: #111116;
  background-color: currentColor;
  vertical-align: middle;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: " ";
}

.project-title__decoration {
  height: 32px;
}
.project-title__decoration .decoration {
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

span.decoration {
  display: inline-block;
}

.decoration--spaced {
  margin-bottom: 5px;
}

/**
 * Loading indicator.
 */
.fluxus-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  -webkit-transition: 0.2s opacity ease 2s;
  transition: 0.2s opacity ease 2s;
}

.fluxus-loading + .swiper-lazy-loading,
.fluxus-loading--visible {
  opacity: 1;
}

.fluxus-loading__indicator {
  width: 20px;
  height: 20px;
  background: #fff200;
  border-radius: 50%;
  -webkit-animation: blinker 0.3s infinite linear;
  animation: blinker 0.3s infinite linear;
}

@-webkit-keyframes blinker {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes blinker {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
/**
 * WP Gallery.
 */
.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}
@media only screen and (max-width: 768px) {
  .gallery {
    margin-left: -8px;
    margin-right: -8px;
  }
}

.gallery-item {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 16px;
  padding-right: 16px;
  margin-bottom: 32px;
}
@media only screen and (max-width: 768px) {
  .gallery-item {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
  }
}
@media only screen and (max-width: 576px) {
  .gallery-item {
    width: 50% !important;
  }
}
.gallery-item a {
  display: block;
  border: 0 none !important;
}
.gallery-item img {
  display: block;
  width: 100%;
  height: auto;
}
.gallery-columns-1 .gallery-item {
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  width: 50%;
}
.gallery-columns-3 .gallery-item {
  width: 33.3333333333%;
}
.gallery-columns-4 .gallery-item {
  width: 25%;
}
.gallery-columns-5 .gallery-item {
  width: 20%;
}
.gallery-columns-6 .gallery-item {
  width: 16.6666666667%;
}
.gallery-columns-7 .gallery-item {
  width: 14.2857142857%;
}
.gallery-columns-8 .gallery-item {
  width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  width: 11.1111111111%;
}

.gallery-caption {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 4px 0 0 0;
  font: 300 13px/1.3em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  pointer-events: none;
  margin: 0 !important;
  border: 0 none;
  width: auto;
  text-align: center;
}

/**
 * WP Gallery + Fluxus enhancements.
 */
.fluxus-gallery a {
  border-bottom: 0 none;
}
.fluxus-gallery .gallery-item {
  position: relative;
  float: left;
  overflow: hidden;
  margin: 0 3% 0 0 !important;
  padding: 0;
}
.fluxus-gallery .gallery-item:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.fluxus-gallery .gallery-item .gallery-icon {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 0.6s ease-out;
  transition: 0.6s ease-out;
}
.fluxus-gallery .gallery-item .gallery-icon:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.fluxus-gallery .gallery-item .gallery-icon > a {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.fluxus-gallery img {
  display: none;
}
.fluxus-gallery.gallery-columns-1 .gallery-item {
  width: 100%;
  margin: 0 0 35px !important;
}
.fluxus-gallery.gallery-columns-2 .gallery-item {
  width: 48.5%;
  margin: 0 3% 3% 0 !important;
}
.fluxus-gallery.gallery-columns-3 .gallery-item {
  margin: 0 3.5% 3.5% 0 !important;
  width: 31%;
}
.fluxus-gallery.gallery-columns-4 .gallery-item {
  margin: 0 2% 2% 0 !important;
  width: 23.5%;
}
.fluxus-gallery.gallery-columns-5 .gallery-item {
  margin: 0 1.5% 1.5% 0 !important;
  width: 18.8%;
}
.fluxus-gallery.gallery-columns-6 .gallery-item {
  margin: 0 1% 1% 0 !important;
  width: 15.82%;
}
.fluxus-gallery.gallery-columns-7 .gallery-item {
  margin: 0 1% 1% 0 !important;
  width: 13.42%;
}
.fluxus-gallery.gallery-columns-8 .gallery-item {
  margin: 0 1% 1% 0 !important;
  width: 11.6%;
}
.fluxus-gallery.gallery-columns-9 .gallery-item {
  margin: 0 1% 1% 0 !important;
  width: 10.2%;
}
.fluxus-gallery.gallery-columns-2 dl:nth-child(2n), .fluxus-gallery.gallery-columns-3 dl:nth-child(3n), .fluxus-gallery.gallery-columns-4 dl:nth-child(4n), .fluxus-gallery.gallery-columns-5 dl:nth-child(5n), .fluxus-gallery.gallery-columns-6 dl:nth-child(6n), .fluxus-gallery.gallery-columns-7 dl:nth-child(7n), .fluxus-gallery.gallery-columns-8 dl:nth-child(8n), .fluxus-gallery.gallery-columns-9 dl:nth-child(9n) {
  margin-right: 0 !important;
}

/**
 * Comments.
 */
.comments-area {
  margin: 32px 0 0 0;
}
.comments-area ul,
.comments-area ol {
  list-style: none;
}
.comments-area .children {
  margin-top: -32px;
  margin-left: 32px;
  padding-left: 16px;
  border-left: 1px solid #ebebeb;
}

.comments-title {
  text-align: left;
  margin: 0 0 20px;
}

.comment-author-info {
  padding: 0 0 0 88px;
}

.comment-author {
  min-height: 76px;
  padding: 0 0 8px 0;
}
.comment-author .avatar {
  border-radius: 100%;
  position: absolute;
  width: 76px;
  height: auto;
}

.bypostauthor-icon {
  position: relative;
  top: -1px;
  font-size: 11px;
  line-height: 1em;
  color: #bdbdbd;
  margin-left: 8px;
  text-transform: uppercase;
  font-weight: bold;
}
.bypostauthor-icon:before {
  content: " ";
  position: relative;
  top: 1px;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: #fff200;
  margin-right: 4px;
}

.comment-meta {
  font-size: 13px;
  line-height: 1em;
}

.comment-actions {
  margin: 8px 0 0;
  overflow: hidden;
}

#cancel-comment-reply-link,
.comment-actions a {
  cursor: pointer;
  font: normal 12px/15px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  padding: 10px 16px 11px;
  display: inline-block;
  border-radius: 1px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
  text-decoration: none !important;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em;
  border: 0;
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  color: #111116;
  background-color: #eaeaea;
  font-size: 11px;
  padding: 4px 8px 5px;
}
.entry-content #cancel-comment-reply-link,
.entry-content .comment-actions a {
  border-bottom: 0 none;
}
#cancel-comment-reply-link:hover,
.comment-actions a:hover {
  color: #333;
}
#cancel-comment-reply-link:hover,
.comment-actions a:hover {
  background-color: #e0e0e0;
}
#cancel-comment-reply-link:focus,
.comment-actions a:focus {
  background-color: #ccc;
}

.comment-content {
  font-family: "Muli", georgia, serif;
  font-size: 14px;
  line-height: 1.6em;
  max-width: 500px;
}
.comment-content p {
  margin-bottom: 16px;
  line-height: 2;
}

.comment {
  margin-bottom: 64px;
}
.comment footer em {
  font-style: normal;
  font-style: normal;
  font-size: 13px;
  color: #8a8a8a;
  border: 1px solid #ebebeb;
  padding: 5px 10px;
}

.form-allowed-tags {
  font-size: 12px;
  color: #666;
  padding: 10px 10px 10px 0;
}
.form-allowed-tags code {
  font-size: 11px;
}

.comment-reply-title {
  font-size: 13px;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-weight: bold;
}
.comment-reply-title small {
  float: right;
  font-size: 1em;
}

.logged-in-as {
  font: normal 16px/25px "Muli", georgia, serif;
  margin: 0 0 10px;
  background: #fbf3d8;
  border: 1px solid #ede3c8;
  padding: 8px 16px;
}
.logged-in-as a {
  border-bottom: 1px solid #333;
}
.logged-in-as a:hover {
  border-bottom-color: #ccc;
}

.comment-respond {
  padding: 21.3333333333px;
  border-top: 2px solid #111116;
  background: #f9f9f9;
}

.comment-form {
  color: #757575;
}
.comment-form label {
  font-size: 13px;
}
.comment-form .required {
  font-size: 16px;
  color: #f00;
  font-weight: bold;
  line-height: 1;
}

.comment-form-author,
.comment-form-email,
.comment-form-url,
.comment-form-cookies-consent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.comment-form-author label,
.comment-form-email label,
.comment-form-url label,
.comment-form-cookies-consent label {
  width: 100%;
  max-width: 150px;
}

.comment-form-comment {
  margin-bottom: 16px;
}
.comment-form-comment label {
  margin-bottom: 8px;
  margin-top: 8px;
  display: block;
}

.comment-form-cookies-consent label {
  max-width: none;
}
.comment-form-cookies-consent input {
  margin-right: 8px;
}

.comment-notes {
  font-size: 13px;
}

.comment-navigation {
  margin: 32px 0;
}

/**
 * JetPack comment plugin styling fixes.
 */
.comment-subscription-form {
  margin-top: 10px;
}
.comment-subscription-form input {
  margin: 3px 0 0 0;
}
.comment-subscription-form:last-child {
  margin-bottom: 0;
}

/*-----------------------------------------------------------------------------
	4. WIDGETS
-----------------------------------------------------------------------------*/
.widget {
  margin: 0 0 24px;
  position: relative;
  overflow: hidden;
}
.widget:last-child {
  margin-bottom: 0;
}
.widget a {
  color: #8a8a8a;
  font-size: 13px;
  border-bottom: 1px solid #ebebeb;
  padding: 0 0 2px;
}
.widget a:hover {
  color: #111116;
  border-bottom-color: #111116;
}
.widget ul {
  list-style: none;
}
.widget ul ul {
  margin: 4px 16px 4px 0;
}
.widget li {
  margin: 0 0 4px;
}
.widget li:last-child {
  margin-bottom: 0;
}
.widget .current_page_item > a,
.widget li a.active,
.widget .current-cat a {
  color: #111116;
  padding-bottom: 2px;
  border-bottom: 1px solid #111116;
}
.widget li a.active .hash {
  color: #111116;
}

.widget-title a {
  color: inherit;
}
.sidebar .widget-title {
  padding: 6px 0;
}

/**
 * Search form
 */
.widget_search {
  margin-bottom: 32px;
}
.widget_search .field {
  margin-bottom: 8px;
}

#searchform input {
  vertical-align: top;
}

.textwidget {
  font: normal 13px/24px "Muli", georgia, serif;
  color: #111116;
}

.textwidget a {
  padding-bottom: 0;
}

.textwidget p {
  margin: 0 0 10px;
}

.textwidget p:last-child {
  margin-bottom: 0;
}

.textwidget img {
  width: 100%;
  height: auto;
}

/*
		Allows having link list that looks
		exactly as other lists, eg. in Categories widget
	*/
.textwidget ul.link-list li {
  font: normal 13px/18px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

/*
	 * Offer .list class that allows
	 * to achieve same style as other lists in sidebar.
	 */
.textwidget .list {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.widget-content {
  margin: 3px 0 0 0;
  font-size: 13px;
  color: #8a8a8a;
  padding-bottom: 2px;
  /* gives space for <a /> underline */
}

/**
 * Standard WP widgets.
 */
.widget .count {
  color: #ccc;
  min-width: 23px;
  padding: 0 0 0 5px;
  display: inline-block;
  font-size: 13px;
}

.widget .recentcomments {
  color: #aaa;
  font-size: 13px;
  margin: 0 0 10px;
}

.widget .recentcomments a:before {
  content: " ";
  display: block;
}

.widget_rss .rsswidget {
  display: block;
  color: #222;
  text-transform: uppercase;
  margin: 0;
}

.widget_rss .rss-date {
  color: #ccc;
}

.widget_rss .rsswidget img {
  display: none;
}

.widget_rss .rssSummary {
  margin: 5px 0 0;
  color: #8a8a8a;
}

.widget_rss cite {
  display: inline-block;
  color: #ccc;
  font-style: normal;
}

.widget_rss cite:before {
  content: "—";
  position: absolute;
  margin: 0 0 0 -18px;
  color: #ccc;
}

.widget_tag_cloud .tagcloud {
  padding: 0 0 0 5px;
}

.widget_tag_cloud .tagcloud a {
  line-height: 1.2em;
}

#wp-calendar {
  border-collapse: collapse;
  font-size: 13px;
  font-weight: normal;
}

.widget_recent_entries .post-date {
  font-size: 12px;
  color: #ccc;
  text-transform: uppercase;
  white-space: nowrap;
  display: block;
}

/**
 * Theme Custom Widgets.
 */
.fluxus-posted-on time {
  font-size: 13px;
  color: #777;
  font-weight: normal;
}

/*-----------------------------------------------------------------------------
	5. PAGES
-----------------------------------------------------------------------------*/
/**
 * Full Width
 */
.page-template-template-full-width-php .site {
  margin: 0 auto;
}
.page-template-template-full-width-php .entry-header {
  text-align: center;
  margin: 32px 0;
}
.page-template-template-full-width-php .page-title {
  font-size: 30px;
}

/**
 * Full page slider.
 */
.page-template-template-full-page-slider-php .site {
  overflow: hidden;
}

.slider {
  width: 100%;
  height: 100%;
  position: relative;
}

.slider .slide {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  margin: 0 30px 0 0;
  position: absolute;
  opacity: 0;
  z-index: 10;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: translate3d(0, 0, 0);
  -webkit-perspective: 1000;
}

.slider .image-top-center {
  background-position: top center;
}

.slider .image-center-center {
  background-position: center center;
}

.slider .image-bottom-center {
  background-position: bottom center;
}

.slider .image-fit {
  background-size: auto 100%;
  background-position: center;
}

.slider .image-contain {
  background-size: contain;
  background-position: center;
}

.slider .image-fit-horizontally {
  background-size: 100% auto;
  background-position: center;
}

.slider .slide.active {
  z-index: 50;
}

/**
 * Slide information box.
 */
.slide .info {
  width: 365px;
  overflow: hidden;
  position: relative;
  text-align: center;
  padding: 0 20px;
  color: #111116;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.slide .info .viewport {
  padding: 20px 0 15px;
}

.slide .info.white {
  color: #fff;
}

.slide .info.white .decoration {
  border-color: #fff;
}

/**
 * Infobox styles.
 */
.slide .style-default .slide-title {
  font-size: 40px;
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 36px;
  font-weight: 700;
}

.slide .style-default .slide-subtitle {
  font: normal 16px/1.2em "Muli", georgia, serif;
  margin: 0 1px 5px 0;
}

.slide .style-default .decoration {
  top: auto;
  width: 20px;
  margin: -16px 0 0 -10px;
  left: 50%;
  border-color: #111116;
}

.slide .style-default .description {
  font-size: 14px;
  line-height: 1.7em;
}

.slide .style-default .button {
  color: #fff;
  background: #111116;
  margin: 13px 0 0 0;
  padding-left: 15px;
  padding-right: 15px;
  line-height: 30px;
  font-size: 13px;
  border-radius: 2px;
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
  -webkit-transition: color 0.15s ease-out, background-color 0.15s ease-out;
  transition: color 0.15s ease-out, background-color 0.15s ease-out;
}

.slide .style-default .button:hover {
  color: #111116;
  background: #fff200;
}

.slide .style-default.white .button {
  color: #111116;
  background: #fff;
}

.slide .style-default.white .button:hover {
  color: #fff;
  background: #111116;
}

.radial-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.66) 100%);
  -webkit-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

/**
 * Page: Porftolio
 */
.project .hover-box {
  text-align: center;
  color: #fff;
  opacity: 0;
}
.project:hover .hover-box {
  opacity: 1;
}

.hover-box-contents {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 80%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 16px;
  line-height: 1.6em;
}

.hover-box .excerpt {
  max-width: 700px;
  margin: 0 auto 25px;
}

.entry-tags {
  color: #111116;
  font-size: 13px;
  position: relative;
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.fluxus-project-types a,
.entry-tags a {
  color: currentColor;
  text-transform: lowercase;
  text-decoration: none;
  margin: 0 5px 0 0;
  border-bottom: 0 none;
}

.entry-tags a:hover {
  color: #111116;
}

.fluxus-project-types a .hash,
.entry-tags a .hash {
  color: #111116;
  font-weight: normal;
}

.entry-tags a:hover .hash {
  color: #111116;
}

.fluxus-project-types a,
.fluxus-project-types a .hash {
  color: #8a8a8a;
  font-weight: normal;
  position: relative;
}

.entry-navigation {
  position: relative;
  margin: 32px 0 64px;
  padding-top: 32px;
  overflow: hidden;
}
.entry-navigation:before {
  left: 0;
  top: 0;
}
.entry-navigation h3 {
  color: #111116;
  font-size: 13px;
  line-height: 1em;
  margin: 0 0 16px;
  font-weight: bold;
  text-transform: uppercase;
}
.entry-navigation .entry-tags {
  float: right;
}

/**
 * Grid portfolio.
 */
.layout-portfolio-grid-vertical {
  /**
  * Rendering grid may overflow website height which will introduce scrollbar and shrink content area.
  * To avoid shrinking, let's show the scroll bar at all times.
  */
  overflow-y: scroll;
}

.portfolio-grid {
  height: 100%;
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
}

.portfolio-grid--loaded {
  opacity: 1;
}

.grid-project {
  position: absolute;
  width: 180px;
  height: 120px;
  -webkit-transition: top 0.5s, left 0.5s;
  transition: top 0.5s, left 0.5s;
}

.grid-project__preview {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #eaeaea;
}
.grid-project[data-cropping="center top"] .grid-project__preview {
  background-position: center top !important;
}
.grid-project[data-cropping="right top"] .grid-project__preview {
  background-position: right top !important;
}
.grid-project[data-cropping="right 20%"] .grid-project__preview {
  background-position: right 20% !important;
}
.grid-project[data-cropping="right center"] .grid-project__preview {
  background-position: right center !important;
}
.grid-project[data-cropping="right bottom"] .grid-project__preview {
  background-position: right bottom !important;
}
.grid-project[data-cropping="center bottom"] .grid-project__preview {
  background-position: center bottom !important;
}
.grid-project[data-cropping="left bottom"] .grid-project__preview {
  background-position: left bottom !important;
}
.grid-project[data-cropping="left center"] .grid-project__preview {
  background-position: left center !important;
}
.grid-project[data-cropping="left 20%"] .grid-project__preview {
  background-position: left 20% !important;
}
.grid-project[data-cropping="left top"] .grid-project__preview {
  background-position: left top !important;
}

.grid-project__overlay {
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
}
.grid-project:hover .grid-project__overlay {
  opacity: 1;
}
.mobile-device .grid-project__overlay {
  opacity: 1;
  background: linear-gradient(10deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 10%, rgba(255, 255, 255, 0) 100%);
}

.password-required,
.private-post {
  font-size: 12px;
  color: #8a8a8a;
  font-weight: bold;
  letter-spacing: 0.03em;
  margin-top: 4px;
  text-transform: uppercase;
}

.grid-project__inner {
  position: absolute;
  top: 50%;
  width: 100%;
  padding: 0 10px;
  text-align: center;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}
.grid-project__inner:hover {
  color: #fff;
}
.mobile-device .grid-project__inner {
  left: 0;
  bottom: 0;
  top: auto;
  text-align: left;
  padding: 16px;
  -webkit-transform: none;
          transform: none;
}

/**
 * Portfolio single.
 */
.horizontal-media {
  display: block;
  position: relative;
  max-height: 100%;
  white-space: normal;
  /* restore white space, otherwise IE Edge will have rendering issues */
}
.horizontal-media .aspect__media {
  background-color: #f1f1f1;
}
.horizontal-media,
.horizontal-media .aspect {
  /**
   * Horizontal layout is a bunch of different aspect images. Their max-height is
   * set to 100% to not overlfow container. However there is a caveat how image max height works:
   *
   * | The percentage is calculated with respect to the height of the generated box's containing block.
   * | If the height of the containing block is not specified explicitly (i.e., it depends on content height),
   * | and this element is not absolutely positioned, the percentage value is
   * | treated as '0' (for 'min-height') or 'none' (for 'max-height').
   * | their width
   *
   * We have .site container with fixed height. Here we inherit from it explicitly.
   */
  height: inherit;
}
.horizontal-media .aspect__placeholder {
  display: block;
  height: auto;
  width: auto;
  /**
   * max-width: 100% will prevent wide landscape images to go out of window bounds.
   * It should be allowed.
   */
  max-height: 100%;
  min-width: 288px;
}
.horizontal-media .lazyload-component__image {
  height: 100%;
}

.portfolio-single--onclick-scroll .horizontal-media[data-type=image] img, .portfolio-single--onclick-lightbox .horizontal-media[data-type=image] img {
  cursor: pointer;
}

/**
 * Blog.
 */
.horizontal-posts .post {
  max-width: 583px;
}
.horizontal-posts .post .byline {
  margin: 2px 0 -5px;
}

.entry-header {
  margin-bottom: 16px;
}
.entry-header img {
  width: 100%;
  height: auto;
  display: block;
}
.entry-header + .fluid-width-container {
  margin-top: 32px;
}

.entry-header__title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 0;
}

.entry-header__slash {
  /**
   * .entry-title font size is X, slash height is Y.
   * Here we align by (Y-X)/2
   */
  margin-top: -4px;
}

.entry-header--with-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 4px;
}

.entry-meta {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  color: #bdbdbd;
}
.entry-meta a {
  color: #bdbdbd;
}

.sticky-indicator {
  background-color: #fff200;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  display: inline-block;
}
.entry-title .sticky-indicator {
  margin-left: 2px;
}

/**
 * Post tag navigation.
 */
.tag-navigation {
  border-top: 1px solid #eaeaea;
  position: relative;
  padding: 3px 0 0 0;
}

.tag-navigation h1 {
  padding: 0 30px 0 0;
  font-weight: normal;
  font-size: 13px;
  text-transform: uppercase;
  float: left;
}

.tag-navigation a {
  float: left;
  color: #8a8a8a;
  font-size: 13px;
  margin: 0 10px 0 0;
  display: block;
}

.tag-navigation a:hover {
  color: #111116;
}

.featured-media {
  position: relative;
  /**
   * ^ needed because quotes / links are positioned absolutely
   */
  margin-bottom: 16px;
  background-color: #f9f9f9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.single .featured-media {
  margin-bottom: 32px;
}
.featured-media:empty {
  display: none;
}
.featured-media:empty + .text-contents {
  /**
   * A little breathing space.
   */
  padding-top: 4px;
}

.featured-media__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.horizontal-content__item .featured-media__img {
  height: 328px;
}
@media only screen and (max-width: 768px) {
  .horizontal-content__item .featured-media__img {
    height: auto;
  }
}

.single .featured-media__text, .vertical__post .featured-media__text {
  padding: 64px 32px;
}
.single .post--featured-image .featured-media__text, .vertical__post .post--featured-image .featured-media__text, .horizontal-content .featured-media__text {
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  position: absolute;
  top: 50%;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 32px;
  padding-right: 32px;
}

.post-image__cover {
  position: absolute;
  top: 50%;
  left: 0;
  padding: 32px 0;
  width: 100%;
  background: #111116;
  background: rgba(0, 0, 0, 0.5);
  display: inline-block;
  text-align: center;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
}
.post-image__cover h1 {
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 0.06em;
}
.post-image__cover p {
  text-transform: uppercase;
  font-size: 11px;
  margin-top: 8px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.post-image__cover a {
  color: currentColor;
}
.post-image__cover p a:hover {
  text-decoration: underline;
}

/**
 * Aside post format.
 */
.horizontal-posts .format-aside .entry-content {
  margin-top: 0;
}

.link-to-image {
  border: 0 none !important;
}

/**
 * Link post format.
 */
.post-link {
  text-align: center;
}
.post-link a {
  font-size: 21px;
  border-bottom: 2px solid;
  display: inline-block;
}
.post-link a:hover {
  color: #8a8a8a;
}
.post-link p {
  color: #bdbdbd;
  margin-top: 8px;
}

.wp-post-image {
  width: auto;
}

/**
 * Vertical Blog.
 */
.vertical__post {
  margin-bottom: 32px;
}
.vertical__post + .vertical__post {
  margin-top: 32px;
  padding-top: 32px;
}
.vertical__post + .vertical__post:before {
  margin-top: -32px;
  left: 0;
}
.vertical__post .post_format-post-format-link.post--no-featured-image .featured-media__img,
.vertical__post .post_format-post-format-quote.post--no-featured-image .featured-media__img {
  display: none;
}
.vertical__post .post_format-post-format-quote.post--featured-image .featured-media,
.vertical__post .post_format-post-format-link.post--featured-image .featured-media {
  padding-top: 0;
  padding-bottom: 0;
}

.wrap-excerpt-more {
  margin-top: 8px;
}
.wrap-excerpt-more:first-child {
  margin-top: 0;
}

.excerpt-more {
  font-family: "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  border-bottom: 1px solid #ebebeb;
  padding-bottom: 3px;
  color: #111116;
  white-space: nowrap;
  font-size: 14px;
}
.excerpt-more:hover {
  border-color: #111116;
}

.vertical-blog .thumbnail img {
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: none;
}

/**
 * Single page.
 */
.page .entry-content {
  clear: both;
}

.page-with-background {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  -webkit-transition: none;
  transition: none;
}

/**
 * Contacts page.
 */
#map-dim,
#map {
  width: 100%;
  height: 100%;
  position: absolute;
}

#map-dim {
  background: #111116;
  opacity: 0.7;
}

#map-dim.dim-image {
  opacity: 0.35;
}

.button-close-map {
  position: absolute;
  top: 15px;
  right: 0;
  z-index: 1001;
  display: none;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

.button-close-map--visible {
  right: 15px;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.page-contacts .site-content {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.page-contacts .contacts-background {
  width: 100%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.page-contacts .site-content .page {
  position: relative;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  margin: 0 auto;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  max-height: 100%;
}

.page-contacts .site-content .page .viewport {
  padding: 20px 0;
}

.page-contacts .entry-content a {
  color: #fff;
}

.page-contacts .entry-content .button,
#close-map {
  background: #fff200;
  color: #111116;
}

.page-contacts .entry-content .button:hover,
#close-map:hover {
  background: #ffd300;
}

.page-contacts .site-content .page .entry-content {
  margin-top: 15px;
}

.page-contacts .site-content .entry-header,
.page-contacts .site-content .entry-content {
  color: #fff;
}

.page-contacts .site-content .entry-content {
  width: 100%;
}

.contact-details {
  border-left: 1px solid #fff;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  margin: 8px 0 0 -20px;
  padding: 0 0 0 20px;
  min-height: 100%;
}

.contact-details h6 {
  margin: 0 0 4px;
  font: bold 13px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.contact-details p {
  font-size: 14px;
  line-height: 21px;
  word-wrap: break-word;
}

#send-message {
  margin-right: 10px;
}

.page-contacts .wpcf7 {
  display: none;
}

/**
 * Tooltip.
 */
.tooltip {
  background: #fff200;
  font-size: 12px;
  position: absolute;
  z-index: 150;
  padding: 0 4px 1px;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  color: #111116;
  display: none;
  white-space: nowrap;
}

.tooltip:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #fff200;
  margin: 1px 0 0 1px;
}

/*-----------------------------------------------------------------------------
	6. SHORTCODES
-----------------------------------------------------------------------------*/
.horizontal-break {
  margin: 1.5em 0;
  height: 1px;
  background: #eaeaea;
}

.aside-content {
  float: right;
  font: 300 19px/1.6em "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  width: 38%;
  position: relative;
  margin: -5px -42.85% 0 0;
}

.aside-content .position-absolute {
  position: absolute;
  width: 100%;
}

.page-template-template-full-width-php .aside-content,
.page-template-template-full-width-sidebar-php .aside-content {
  margin-right: 0;
  margin-left: 20px;
  margin-bottom: 20px;
  width: auto;
  max-width: 30%;
}

.page-template-template-full-width-php .aside-content .position-absolute,
.page-template-template-full-width-sidebar-php .aside-content .position-absolute {
  position: static;
}

/**
 * Shortcode: Social.
 */
.icon-social {
  border: 0 none;
}
.entry-content .icon-social {
  border: 0 none;
}
.icon-social:before {
  color: #111116;
  font-size: 30px;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  text-decoration: none;
  text-align: left;
}
.entry-content .icon-social:before {
  width: 48px;
  height: 48px;
}

/**
 * Shortcode: Services.
 */
.service {
  width: 100%;
  margin: 16px 0;
  float: left;
}

.service .service-name {
  text-align: center;
  margin: 0 0 0.5em;
  font-size: 18px;
}

.service .service-icon {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 0 auto;
  border-bottom: 0 none;
}

.service .service-mask {
  padding-top: 100%;
  /* preserve 1:1: aspect ratio */
  position: relative;
  width: 100%;
}

.service .service-icon img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 1000px;
  border-radius: 100%;
}

.service .service-icon-no-image {
  background-color: #eaeaea;
  position: relative;
  border-radius: 100%;
}

.service .service-content {
  margin: 1em 0;
  font-size: 13px;
}

.service .icon {
  position: absolute;
  font-size: 100px;
  width: 100%;
  text-align: center;
  color: #fff;
  cursor: inherit;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

/**
 * Shortcode: Accordion.
 */
.accordion {
  margin: 0 0 32px;
  border: 1px solid #ebebeb;
}

.accordion .panel-content {
  display: none;
}

.accordion .panel-active .panel-content {
  display: block;
}

.accordion .panel-title {
  margin: 0;
  border-bottom: 1px solid #ddd;
}

.accordion .panel-title a {
  border: 0 none;
  color: #222;
  text-decoration: none;
  display: block;
  font: 700 13px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: uppercase;
  padding: 8px 15px;
  background: #f3f3f3;
  -webkit-box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.1);
}

.accordion .panel-active .panel-title a,
.accordion .panel-title a:hover {
  background: #f9f9f9;
  color: #111116;
}

.accordion .panel-active .panel-title a {
  -webkit-box-shadow: none;
  box-shadow: none;
  background: #fff;
}

.accordion .panel-content {
  padding: 15px;
  -webkit-box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.4);
  font-size: 13px;
}

.accordion .panel-last .panel-title {
  border-bottom: 0 none;
}

.accordion .panel-active .panel-title {
  border-bottom: 1px solid #eee;
}

.accordion .panel-last .panel-title a {
  -webkit-box-shadow: none;
  box-shadow: none;
}

/**
 * Shortcode: Tabs.
 */
.tabs {
  margin: 0 0 1.5em;
}

.tabs .tabs-menu ul {
  list-style: none;
  overflow: hidden;
  margin: 0;
}

.tabs .tabs-menu li {
  display: block;
  float: left;
  padding: 0;
  border: 1px solid #eaeaea;
  border-right: 0 none;
  z-index: 5;
  position: relative;
  margin-top: 0;
}

.tabs .tabs-menu li:first-child {
  border-radius: 3px 0 0 0;
}

.tabs .tabs-menu li:last-child {
  border-right: 1px solid #eaeaea;
  border-radius: 0 3px 0 0;
}

.tabs .tabs-menu li a {
  border: 0 none;
  display: block;
  color: #333;
  font: 700 13px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: uppercase;
  padding: 8px 20px;
  background: #f3f3f3;
  -webkit-box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 -3px 4px -4px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}

.tabs .tabs-menu li a b {
  display: none;
}

.tabs .tabs-menu li a:hover {
  background: #f9f9f9;
  color: #111116;
}

.tabs .tabs-menu li.active a:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #fff;
  width: 100%;
  left: 0;
  bottom: -1px;
}

.tabs .tabs-menu li.active a {
  background: #fff;
  cursor: default;
  -webkit-box-shadow: none;
  box-shadow: none;
  position: relative;
  color: #111116;
}

.tabs .tab {
  display: none;
  padding: 20px;
  border: 1px solid #eaeaea;
  position: relative;
  top: -1px;
}

.tabs .tab p:last-child {
  margin-bottom: 0;
}

.tabs .tab-index-1 {
  display: block;
}

/**
 * Shortcode: Alert.
 */
.alert {
  border: 1px solid #eaeaea;
  padding: 10px 15px;
  text-align: center;
  margin: 1.5em 0;
}
.alert a {
  color: #111116;
}
.alert p {
  margin: 0 0 10px 0 !important;
}
.alert p:last-child {
  margin: 0 !important;
}

.alert-note {
  background: #fcf6e3;
  border: 1px solid #ede3c8;
}

.alert-warning {
  border-color: #a03b18;
  background: #c26161;
  color: #fff;
}

.alert-warning a {
  color: #fff;
}

.alert-success {
  background: #bce592;
  border-color: #8cd26f;
}

/*-----------------------------------------------------------------------------
	7. MISCELLANEOUS
-----------------------------------------------------------------------------*/
html.horizontal-page {
  overflow-y: hidden;
  overflow-x: scroll;
}

html.no-scroll,
html.no-scroll body {
  overflow: hidden;
}

.hide {
  display: none;
}

/**
 * Fluxus Lightbox.
 */
.fluxus-lightbox {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  background: #111116;
  pointer-events: none;
  visibility: hidden;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  /* Transition duration has to be in sync with value in jquery.fluxus-lightbox.js */
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fluxus-lightbox--bounce-back-transition {
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.admin-bar .fluxus-lightbox {
  top: 32px;
  height: calc(100% - 32px);
}

html.fluxus-lightbox-visible {
  /**
  * Remove main page scroll. !important because responsive rules try to override this,
  * but this has to stay hidden at all times.
  */
  overflow: hidden !important;
}

html.fluxus-lightbox-visible .fluxus-lightbox {
  pointer-events: auto;
  visibility: visible;
}

.fluxus-lightbox__content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  cursor: none;
  opacity: 0;
  -webkit-transform: scale(0.92);
          transform: scale(0.92);
  -webkit-transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fluxus-lightbox__tip {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -10px;
  mix-blend-mode: difference;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fluxus-lightbox--transitioned .fluxus-lightbox__tip {
  opacity: 1;
}

.fluxus-lightbox--over-controls .fluxus-lightbox__tip {
  display: none;
}

.fluxus-lightbox__tip-icon {
  width: 100%;
  height: 100%;
  background-image: url("./images/right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fluxus-lightbox--slide-in {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fluxus-lightbox--transitioned .fluxus-lightbox__content {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.fluxus-lightbox__media {
  -webkit-transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0;
  height: 100%;
  width: 100%;
}

.fluxus-lightbox__media--loaded {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.fluxus-lightbox__media img {
  position: relative;
  width: auto;
  height: 100%;
  display: block;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fluxus-lightbox__iframe-wrap {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.fluxus-lightbox__iframe-wrap iframe {
  width: 100%;
  height: 100%;
}

.fluxus-lightbox__iframe-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fluxus-lightbox--mouse-over-iframe .fluxus-lightbox__iframe-wrap::after,
.fluxus-lightbox--mouse-over-iframe .fluxus-lightbox__tip {
  display: none;
}

.fluxus-lightbox__top-right,
.fluxus-lightbox__bottom-right {
  position: fixed;
  top: 15px;
  right: 15px;
  opacity: 0;
  padding: 0 0 55px 55px;
  /* Extra padding so cursor can be chagned when hovering near controls */
  -webkit-transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
}

/* After tap we want faster animation */
.fluxus-lightbox--after-tap .fluxus-lightbox__top-right {
  -webkit-transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}

.fluxus-lightbox__bottom-right {
  bottom: 15px;
  top: auto;
  padding: 55px 0 0 55px;
  /* Extra padding so cursor can be chagned when hovering near controls */
}

.fluxus-lightbox--transitioned .fluxus-lightbox__top-right,
.fluxus-lightbox--transitioned .fluxus-lightbox__bottom-right {
  opacity: 1;
}

.fluxus-lightbox__status {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  background-color: #fff200;
  border-radius: 50%;
  display: none;
  -webkit-transition: 0.2s opacity ease 1s;
  transition: 0.2s opacity ease 1s;
  -webkit-animation: blinker 0.3s infinite linear;
          animation: blinker 0.3s infinite linear;
  display: none;
}

.fluxus-lightbox--long-loading .fluxus-lightbox__status {
  display: block;
}

.fluxus-lightbox__btn {
  background: #fff200;
  padding: 9px 15px 8px;
  border-radius: 1px;
  display: inline-block;
  color: #111116;
  font-size: 21px;
  cursor: pointer;
  margin-left: 15px;
}

.fluxus-lightbox__btn:hover {
  color: #fff;
  background: #111116;
}

.fluxus-lightbox__error {
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 288px;
  width: 100%;
  text-align: center;
  display: none;
}

.fluxus-lightbox--error .fluxus-lightbox__error {
  display: block;
}

.fluxus-lightbox__top-right,
.fluxus-lightbox__bottom-right {
  position: fixed;
  top: 15px;
  right: 15px;
  opacity: 0;
  padding: 0 0 55px 55px;
  /* Extra padding so cursor can be chagned when hovering near controls */
  -webkit-transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s;
}

.fluxus-lightbox__bottom-right {
  bottom: 15px;
  top: auto;
  padding: 55px 0 0 55px;
  /* Extra padding so cursor can be chagned when hovering near controls */
}

.fluxus-lightbox--transitioned .fluxus-lightbox__top-right,
.fluxus-lightbox--transitioned .fluxus-lightbox__bottom-right {
  opacity: 1;
}

.fluxus-lightbox__btn {
  background: #fff200;
  padding: 9px 15px 8px;
  border-radius: 1px;
  display: inline-block;
  color: #111116;
  font-size: 21px;
  cursor: pointer;
  margin-left: 15px;
}

.fluxus-lightbox__btn:hover {
  color: #fff;
  background: #111116;
}

.fluxus-lightbox__btn--resize .icon-zoom-out-slim {
  display: none;
}

.fluxus-lightbox--full-width .fluxus-lightbox__btn--resize .icon-zoom-in-slim {
  display: none;
}

.fluxus-lightbox--full-width .fluxus-lightbox__btn--resize .icon-zoom-out-slim {
  display: inline-block;
}

.fluxus-lightbox--idle .fluxus-lightbox__tip,
.fluxus-lightbox--idle .fluxus-lightbox__bottom-right,
.fluxus-lightbox--idle .fluxus-lightbox__top-right {
  opacity: 0;
}

/**
 * On touch device hide left, right and zoom buttons.
 * Navigation is done using gestures.
 */
.fluxus-lightbox--touch .fluxus-lightbox__tip,
.fluxus-lightbox--touch .fluxus-lightbox__btn--next,
.fluxus-lightbox--touch .fluxus-lightbox__btn--previous,
.fluxus-lightbox--touch .fluxus-lightbox__btn--resize {
  display: none;
}

.fluxus-lightbox--single .fluxus-lightbox__btn--next,
.fluxus-lightbox--single .fluxus-lightbox__btn--previous,
.fluxus-lightbox--single .fluxus-lightbox__tip {
  display: none;
}

.fluxus-lightbox--iframe .fluxus-lightbox__btn--resize,
.fluxus-lightbox--error .fluxus-lightbox__btn--resize {
  display: none;
}

.fluxus-lightbox--single .fluxus-lightbox__content {
  cursor: default;
}

/**
 * Tiny scrollbar plugin
 */
.scroll-container .scrollbar {
  display: none;
}

.horizontal-page .scroll-container {
  height: 100%;
}

.horizontal-page .scroll-container .viewport {
  overflow: hidden;
  position: relative;
}

.horizontal-page .scroll-container .overview {
  position: absolute;
  right: 0;
  top: 0;
  width: 235px;
  margin-top: 1px;
  /*
    In some cases iScoll will trim 1px of the top.
    Here we compensate for it.
  */
}

.horizontal-page .scroll-container .thumb .end,
.horizontal-page .scroll-container .thumb {
  background: #333;
}

.horizontal-page .scroll-container .scrollbar {
  position: relative;
  float: right;
  width: 4px;
  right: -34px;
  display: block;
}

.horizontal-page .scroll-container .track {
  background: #ebebeb;
  height: 100%;
  width: 4px;
  position: relative;
  padding: 0 1px;
}

.horizontal-page .scroll-container .thumb {
  height: 20px;
  width: 4px;
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  top: 0;
}

.horizontal-page .scroll-container .thumb .end {
  overflow: hidden;
  height: 5px;
  width: 4px;
}

.horizontal-page .scroll-container .disable {
  display: none;
}

.noSelect {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* Text meant only for screen readers */
.assistive-text {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
}

/**
 * Contact form 7 plugin.
 */
.wpcf7-textarea {
  height: 120px;
}

.wpcf7-form {
  font-size: 13px;
}

.wpcf7-form .wpcf7-form-control-wrap {
  margin: 2px 0 10px 0;
  display: block;
}

.wpcf7-form .wpcf7-form-control-wrap {
  overflow: hidden;
}

.wpcf7-form .wpcf7-form-control-wrap input[type=text],
.wpcf7-form .wpcf7-form-control-wrap input[type=email] {
  font-size: 14px;
  float: left;
  margin: 0 10px 0 0;
}

.wpcf7-form .wpcf7-not-valid-tip {
  position: static;
  width: 200px;
  float: left;
  border: 0 none;
}

.wpcf7-form .wpcf7-validation-errors,
.wpcf7-form .wpcf7-mail-sent-ok {
  background: #bce592;
  border: 1px solid #8cd26f;
  font: normal 1em "Muli", georgia, serif;
  padding: 10px 10px;
}

.wpcf7-form .wpcf7-response-output {
  margin: 10px 0 0 0;
}

.wpcf7-form .wpcf7-not-valid-tip {
  color: #8a8a8a;
}

.wpcf7-form .wpcf7-validation-errors {
  background: #c26161;
  border: 1px solid #a03b18;
  color: #fff;
}

/**
 * Reveal modals plugin.
 */
.reveal-modal-bg {
  position: fixed;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
  display: none;
  top: 0;
  left: 0;
}

.reveal-modal {
  visibility: hidden;
  top: 0;
  left: 50%;
  margin-left: -300px;
  width: 520px;
  background: #fff;
  position: absolute;
  z-index: 10001;
  padding: 20px 30px 20px;
  border-radius: 1px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  border-top: 3px solid #fff200;
}

.reveal-modal h1 {
  font: 700 13px "Muli", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.reveal-modal .close-reveal-modal {
  font-size: 22px;
  line-height: 0.5;
  position: absolute;
  top: 8px;
  right: 11px;
  color: #aaa;
  font-weight: bold;
  cursor: pointer;
}

/**
 * ---------------------------------------------------------
 * Burger Menu
 * ---------------------------------------------------------
 */
.burger-menu {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  overflow: hidden;
  z-index: 9999;
}

.burger-menu-toggle {
  position: absolute;
  top: 50%;
  top: calc(50% + 2px);
  right: 16px;
  width: 28px;
  height: 19px;
  z-index: 10002;
  display: block;
  -webkit-transform: translate(50px, -50%);
  transform: translate(50px, -50%);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: -webkit-transform 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: transform 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955), -webkit-transform 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.burger-menu-toggle span,
.burger-menu-toggle span:before,
.burger-menu-toggle span:after {
  content: "";
  position: absolute;
  top: 8px;
  width: 28px;
  height: 3px;
  display: block;
  cursor: pointer;
  background-color: #333;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: background-color 0.3s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: background-color 0.3s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  transition: background-color 0.3s ease-in-out, transform 0.5s ease-in-out, top 0.5s ease-in-out;
  transition: background-color 0.3s ease-in-out, transform 0.5s ease-in-out, top 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}

.burger-menu-toggle span:before {
  top: -8px;
}

.burger-menu-toggle span:after {
  top: 8px;
}

.burger-menu--enabled {
  overflow: visible;
}

.burger-menu--enabled .burger-menu-toggle {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.burger-menu--expanded .burger-menu-toggle span {
  background-color: transparent !important;
}

.burger-menu--expanded .burger-menu-toggle span:before {
  top: 0;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.burger-menu--expanded .burger-menu-toggle span:after {
  top: 0;
  background: #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.non-mobile-device .burger-menu-toggle:hover span,
.non-mobile-device .burger-menu-toggle:hover span:before,
.non-mobile-device .burger-menu-toggle:hover span:after {
  background: #8a8a8a;
}

.burger-menu--expanded .burger-menu-toggle:hover span:before,
.burger-menu--expanded .burger-menu-toggle:hover span:after {
  background: #fff;
}

.burger-menu-dim {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  pointer-events: none;
  z-index: 9998;
  -webkit-transition: opacity 0.7s ease-out;
  transition: opacity 0.7s ease-out;
}

.burger-menu-visible .burger-menu-dim {
  opacity: 1;
  pointer-events: auto;
}

.burger-menu-items {
  position: fixed;
  top: 0;
  right: 0;
  background-color: #111116;
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 130px 0 50px;
  width: 320px;
  height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translate3d(320px, 0, 0);
  transform: translate3d(320px, 0, 0);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.burger-menu-items li {
  position: relative;
}

.burger-menu--expanded.burger-menu--enabled .burger-menu-items {
  overflow: auto;
  overflow-x: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.burger-menu .bg {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 200px;
  background-size: 100%;
  background-repeat: no-repeat;
}

.burger-menu .bg:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 200px;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(31%, rgba(17, 17, 17, 0)), color-stop(33%, rgba(17, 17, 17, 0.03)), to(#111111));
  background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 31%, rgba(17, 17, 17, 0.03) 33%, #111111 100%);
}

.burger-menu ul,
.burger-menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.burger-menu-level-0 {
  position: relative;
}

.burger-menu-level-0 > li > .burger-menu-link {
  padding-left: 0;
}

.burger-menu-level-1,
.burger-menu-level-2,
.burger-menu-level-3 {
  display: none;
}

.burger-menu-link {
  position: relative;
  display: block;
  padding: 20px 45px 22px 0;
  margin-left: 30px;
  color: #8a8a8a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #1d1d1d;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.mobile-device .burger-menu-link:hover {
  color: #8a8a8a;
}

.burger-menu-link-clicked {
  color: #fff;
}

.burger-menu-children-toggle {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 60px;
  display: inline-block;
  color: #8a8a8a;
}

.burger-menu-children-toggle:after {
  position: absolute;
  top: 19px;
  left: 24px;
  font-size: 16px;
  content: "";
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  speak: none;
  text-decoration: none;
  display: inline-block;
}

.burger-menu-item-expanded > .burger-menu-children-toggle:after {
  content: "";
}

.non-mobile-device .burger-menu-children-toggle:hover {
  color: #fff;
}

.burger-menu-items > ul > li:last-child .burger-menu-link {
  border-bottom: 0 none;
}

.non-mobile-device .burger-menu-link:hover {
  color: #fff;
}

.burger-menu a.burger-menu-item-active {
  color: #fff;
}

.burger-menu li.burger-menu-item-active > ul {
  display: block;
}

.burger-menu ul ul .burger-menu-link {
  margin-left: 48px;
  font-size: 14px;
}

.burger-menu ul ul ul .burger-menu-link {
  margin-left: 68px;
  font-size: 12px;
}

.iScrollVerticalScrollbar {
  position: absolute;
  z-index: 100;
  width: 8px;
  bottom: 4px;
  top: 4px;
  right: 1px;
}

.iScrollIndicator {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.1);
  width: 5px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * WPML
 */
#lang_sel_footer .lang_sel_sel {
  border: 0 none;
  font-weight: bold;
  cursor: default;
}

#lang_sel_footer .iclflag {
  margin: 0 2px 0 0;
}

.icl_languages_selector {
  overflow: visible;
}

.icl_languages_selector #lang_sel ul ul {
  display: none;
  margin: 5px 0 0 0;
}

.icl_languages_selector #lang_sel li:hover > ul {
  display: block;
}

.icl_languages_selector .lang_sel_list_horizontal li {
  display: inline-block;
  margin-left: 10px;
}

.menu-item-language .iclflag {
  position: relative;
  margin: 0 5px 0 0;
  top: 1px;
}

.menu-item-language:hover .submenu-languages {
  display: block;
}

/**
 * Swiper
 */
.swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  overflow: hidden;
}

.swiper-slide .iScrollVerticalScrollbar {
  -webkit-transition: opacity 0.5s ease-out 1.2s;
  transition: opacity 0.5s ease-out 1.2s;
  opacity: 0;
}

.swiper-slide-active .iScrollVerticalScrollbar {
  opacity: 1;
}

/* center center by default */
.swiper-slide__media {
  position: absolute;
  height: 100%;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
}

.swiper-slide--wide .swiper-slide__media {
  top: 50%;
  left: 0;
  height: auto;
  width: 100%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.swiper-slide--wide.swiper-slide[data-cropping=bottom-center] .swiper-slide__media {
  top: auto;
  bottom: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.swiper-slide--wide.swiper-slide[data-cropping=top-center] .swiper-slide__media {
  top: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.swiper-slide__aspect-image {
  width: auto;
  height: 100%;
  visibility: hidden;
  display: block;
}

.swiper-slide--wide .swiper-slide__aspect-image {
  width: 100%;
  height: auto;
}

.swiper-slide[data-cropping=fit] .swiper-slide__media {
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.swiper-slide--wide.swiper-slide[data-cropping=fit] .swiper-slide__media {
  height: 100%;
  width: auto;
  top: 0;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
}

.swiper-slide[data-cropping=fit] .swiper-slide__aspect-image {
  width: 100%;
  height: auto;
}

.swiper-slide--wide.swiper-slide[data-cropping=fit] .swiper-slide__aspect-image {
  width: auto;
  height: 100%;
}

.swiper-slide--raw-embed iframe {
  position: absolute;
  top: 0;
  left: 40px;
  width: 100%;
  height: 100%;
  width: calc(100% - 80px);
  /* Don't cover sideways navigation */
}

.swiper-slide--wide.swiper-slide--raw-embed iframe {
  top: 40px;
  left: 0;
  height: calc(100% - 80px);
  /* Don't cover pagination */
}

.swiper-slide__player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.swiper-slide__player video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.swiper-slide__player .plyr,
.swiper-slide__player .plyr__video-wrapper,
.swiper-slide__player .plyr__video-embed__container,
.swiper-slide__player iframe {
  width: 100%;
  height: 100%;
}
.swiper-slide__player .plyr__video-embed__container,
.swiper-slide__player .plyr__video-embed__container[style] {
  -webkit-transform: none !important;
          transform: none !important;
}

.swiper-slide--video-playing .swiper-slide__player {
  opacity: 1;
}

.swiper-slide--loaded.swiper-slide--video-playing .swiper-lazy {
  opacity: 0;
}

.swiper-slide .plyr__video-wrapper {
  background: transparent;
}

.swiper-slide__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  /*
  * This overlay is used within container that is being 3d translated.
  * For some reason the element becomes invisible. Adding translate fixes it.
  **/
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.swiper-slide[data-overlay=dark] .swiper-slide__overlay {
  background-color: rgba(0, 0, 0, 0.3);
}

.swiper-slide[data-overlay=dark_2] .swiper-slide__overlay {
  background-color: rgba(0, 0, 0, 0.5);
}

.swiper-slide[data-overlay=light] .swiper-slide__overlay {
  background-color: rgba(255, 255, 255, 0.3);
}

.swiper-slide[data-overlay=light_2] .swiper-slide__overlay {
  background-color: rgba(255, 255, 255, 0.5);
}

.swiper-slide--playing .swiper-slide__overlay {
  opacity: 0;
}

.swiper-lazy {
  position: absolute;
  /* Add to z-stack so it is above media when swiper-lazy is used as video poster. */
  width: 100%;
  height: 100%;
  opacity: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}

.swiper-slide--loaded .swiper-lazy {
  opacity: 1;
}

.swiper-slide[data-cropping=top-center] .swiper-lazy {
  background-position: top center;
}

.swiper-slide[data-cropping=bottom-center] .swiper-lazy {
  background-position: bottom center;
}

.swiper-slide[data-cropping=fit] .swiper-lazy {
  background-size: 100% auto;
}

.swiper-slide.swiper-slide--wide[data-cropping=fit] .swiper-lazy {
  background-size: auto 100%;
}

.slider-button-prev,
.slider-button-next {
  background-repeat: no-repeat;
  background-color: transparent !important;
  background-image: url("images/left.svg");
  background-size: auto 80%;
  background-position: center;
  width: 68px;
  height: 82px;
  overflow: hidden;
  text-indent: -9999px;
  position: absolute;
  top: 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  outline: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.8s ease-out 1.2s, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease-out 1.2s, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease-out 1.2s, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease-out 1.2s, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-transform: translate3d(10px, -50%, 0);
          transform: translate3d(10px, -50%, 0);
  mix-blend-mode: difference;
}

.swiper-container--animated .slider-button-prev,
.swiper-container--animated .slider-button-next {
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.5s ease-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.5s ease-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.swiper-container[data-navigation-arrows].swiper-container--ready .slider-button-prev,
.swiper-container[data-navigation-arrows].swiper-container--ready .slider-button-next {
  opacity: 1;
  pointer-events: auto;
}

.swiper-button-disabled {
  pointer-events: none !important;
  opacity: 0 !important;
}

.slider-button-next {
  background-image: url("images/right.svg") !important;
  right: 15px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.slider-button-prev:hover,
.slider-button-next:hover,
.slider-button-prev:focus,
.slider-button-next:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.slider-button-next:hover {
  -webkit-transform: translate3d(10px, -50%, 0) scale(0.9);
          transform: translate3d(10px, -50%, 0) scale(0.9);
}

.slider-button-prev:hover {
  -webkit-transform: translate3d(0, -50%, 0) scale(0.9);
          transform: translate3d(0, -50%, 0) scale(0.9);
}

/**
 * Double Circle SVG
 */
.double-circle__bottom {
  -webkit-transition: fill 0.5s ease, opacity 0.3s ease, stroke 0.3s ease;
  transition: fill 0.5s ease, opacity 0.3s ease, stroke 0.3s ease;
  opacity: 1;
  fill: transparent;
}

/**
 * Bullet Pagination
 */
.swiper-pagination-bullets {
  position: absolute;
  bottom: 15px;
  left: 20px;
  z-index: 1;
  line-height: 11px;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out 0.5s;
  transition: opacity 0.5s ease-out 0.5s;
}

.swiper-container--ready .swiper-pagination-bullets {
  opacity: 1;
}

.swiper-pagination-bullets li,
.swiper-pagination-bullet {
  position: relative;
  display: inline-block;
  margin: 0 6px 0 0;
  width: 14px;
  height: 14px;
  cursor: pointer;
}

.swiper-pagination-bullets .double-circle__bottom {
  stroke: #ccc;
  opacity: 0.5;
}

.swiper-pagination-bullets li:hover .double-circle__bottom {
  stroke: #fff;
  opacity: 1;
}

.swiper-pagination-bullet-active .double-circle__top {
  stroke-dashoffset: 0;
  stroke: #fff222;
}

.swiper-pagination-bullets--autoplaying .swiper-pagination-bullet-active .double-circle__top {
  stroke-dashoffset: 32;
}

.swiper-pagination-bullets--autoplaying .swiper-pagination-bullet-active .double-circle__top {
  -webkit-animation: spin-bullet 3000ms linear forwards;
          animation: spin-bullet 3000ms linear forwards;
}

.swiper-pagination-bullets--autoplaying .swiper-pagination-bullet-previously-active .double-circle__top {
  /* After bullet was activated let's cool it down with swift transition */
  -webkit-animation: cool-down 500ms ease-out forwards;
          animation: cool-down 500ms ease-out forwards;
}

.swiper-pagination-bullets--autoplaying .swiper-pagination-bullet-previously-active .double-circle__top {
  /*
  * Animation duration is modified by JS depending on autoplay duration.
  * For cooldown animation we need to override it
  */
  -webkit-animation-duration: 500ms !important;
          animation-duration: 500ms !important;
}

@-webkit-keyframes spin-bullet {
  0% {
    stroke-dashoffset: 32;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    stroke: #fff222;
  }
}

@keyframes spin-bullet {
  0% {
    stroke-dashoffset: 32;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    stroke: #fff222;
  }
}
@-webkit-keyframes cool-down {
  0% {
    stroke-dashoffset: 0;
    stroke: #fff222;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
@keyframes cool-down {
  0% {
    stroke-dashoffset: 0;
    stroke: #fff222;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
.swiper-pagination-bullets__tip {
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
  left: 1px;
  position: absolute;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  letter-spacing: 0.1em;
  -webkit-transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-transform: translate3d(0, -12px, 0);
  transform: translate3d(0, -12px, 0);
}

.swiper-pagination-bullets li:hover .swiper-pagination-bullets__tip {
  opacity: 1;
  -webkit-transform: translate3d(0, -18px, 0);
  transform: translate3d(0, -18px, 0);
}

/**
 * Content Box
 */
.content-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 385px;
  min-width: 200px;
  max-width: 1000px;
  max-height: 100%;
  text-align: center;
  color: #111116;
  cursor: default;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out 0.7s;
  transition: opacity 0.5s ease-out 0.7s;
}

.content-box__contents {
  padding: 20px 25px;
}

/**
 * Centering needs to be defined as a separate class explicitly.
 * In PreventOutOfBounds we use this class to specificly override behaviour
 * if content is centered.
 */
.content-box--center {
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

.swiper-slide--loaded .content-box {
  opacity: 1;
}

/*
 * Add slight delay when animating initial slide's content box.
 */
.swiper-container--animated .content-box {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.content-box.out-of-bounds--right[style] {
  left: auto !important;
  right: 0 !important;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.content-box.out-of-bounds--left[style] {
  left: 0 !important;
  right: auto !important;
}

.content-box--center.out-of-bounds--left[style] {
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.content-box.out-of-bounds--left[style].out-of-bounds--right[style] {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
}

.content-box.out-of-bounds--top[style] {
  top: 0 !important;
  bottom: auto !important;
}

.content-box.out-of-bounds--bottom[style] {
  top: auto !important;
  bottom: 0 !important;
}

.content-box--center.out-of-bounds--bottom[style]:not(.ui-draggable) {
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
}

.content-box--center.out-of-bounds--left.out-of-bounds--top[style],
.content-box--center.out-of-bounds--left.out-of-bounds--bottom[style],
.content-box--center.out-of-bounds--right.out-of-bounds--top[style],
.content-box--center.out-of-bounds--right.out-of-bounds--bottom[style] {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.content-box.out-of-bounds--top[style].out-of-bounds--bottom[style]:not(.ui-draggable) {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  overflow-y: scroll;
}

.content-box[data-position=custom] {
  left: auto;
  top: auto;
  /**
  * We don't want to do none because it will cause issues with backgorund color
  * when animated using translate3d.
  */
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.content-box--text-light,
.content-box--text-light .entry-content {
  color: #fff;
}

.content-box--text-dark .button {
  background: #111116;
  color: #fff;
}

.content-box--text-dark .button:hover {
  background: #222;
  color: #fff;
}

.content-box--style-left-aligned {
  text-align: left;
}

.content-box--style-left-aligned .content-box__decoration {
  display: none;
}

.content-box--style-left-aligned .content-box__content {
  margin-top: 10px;
}

.swiper-slide--playing .content-box {
  opacity: 0;
  pointer-events: none;
}

.swiper-slide[data-overlay=dark_under_content] .content-box {
  background-color: rgba(0, 0, 0, 0.5);
}

.swiper-slide[data-overlay=dark_solid_under_content] .content-box {
  background-color: #111116;
}

.swiper-slide[data-overlay=light_under_content] .content-box {
  background-color: rgba(255, 255, 255, 0.7);
}

.swiper-slide[data-overlay=light_solid_under_content] .content-box {
  background-color: #fff;
}

.content-box__content p {
  margin-bottom: 10px;
}

.content-box__content .content-box__buttons {
  margin-top: 15px;
}

/*
 * Animation: Default
 */
.content-box--effect-slide .content-box__title,
.content-box--effect-slide .content-box__subtitle,
.content-box--effect-slide .content-box__content {
  opacity: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
  transition: opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
  transition: transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s, opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s;
  transition: transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s, opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
}

.swiper-slide--prev .content-box--effect-slide .content-box__title,
.swiper-slide--prev .content-box--effect-slide .content-box__subtitle,
.swiper-slide--prev .content-box--effect-slide .content-box__content {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  -webkit-transition: none;
  transition: none;
}

.swiper-slide--current .content-box--effect-slide .content-box__title,
.swiper-slide--current .content-box--effect-slide .content-box__subtitle,
.swiper-slide--current .content-box--effect-slide .content-box__content {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
  transition: opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
  transition: transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s, opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s;
  transition: transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s, opacity 0.9s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.1s, -webkit-transform 0.9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s;
}

/*
 * Animation: Fade
 */
.swiper-slide--loaded .content-box--effect-fade {
  -webkit-transition: opacity 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s;
  transition: opacity 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.4s;
  opacity: 0;
}

.swiper-slide--loaded.swiper-slide--current .content-box--effect-fade {
  opacity: 1;
}

.content-box__decoration {
  margin: 16px 0 12px;
}

.plyr__poster {
  background-size: cover !important;
}

.project-title__heading {
  font-size: 36px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.project-title__excerpt {
  font: normal 15px/1.875 "Muli", georgia, serif;
  white-space: normal;
}

.current-page-number {
  font-size: 40px;
  line-height: 1;
  font-weight: 300;
}

/**
 * Wordpress Admin Bar adjustments
 */
.admin-bar-showing #wpadminbar {
  position: fixed;
}
