/*
Theme Name: Fluxus
Theme URI: http://themeforest.net/item/fluxus-portfolio-theme-for-photographers/3854385
Author: inTheme
Author URI: https://inthe.me/
Version: 1.7
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

*/
body {
  background-color: #fff;
  /* Otherwise background is transparent in Wordpress Customizer */
}

body,
button,
input,
select,
textarea {
  font-family: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.site {
  position: relative;
  width: auto;
  margin: 0 16px;
  z-index: 1;
}

.site-content {
  width: 100%;
}
.site-with-sidebar .site-content {
  float: right;
  height: 100%;
}

.site-with-sidebar {
  padding: 0 32px 0 304px;
}

/**
 * Horizontal layout
 */
.horizontal-page #main {
  -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 #main {
  opacity: 1;
}

.horizontal-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 100%;
}

.horizontal-content__item {
  height: 100%;
  width: 2000%;
  /* this fixes layout, but not sure why :/ */
  margin-right: 32px;
}

.horizontal-content__item--caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.horizontal-content__item--caption.horizontal-navigation,
.horizontal-content__item--caption .horizontal-media {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-height: calc(100% - 48px);
}

.horizontal-content__item-caption {
  position: absolute;
  color: #111116;
  font: normal 12px/22px "Merriweather", georgia, serif;
  max-height: 30px;
  bottom: -30px;
  padding: 8px 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;
}
.page-template-template-portfolio .horizontal-content__item-caption {
  position: static;
}
.horizontal-content__item-caption:after {
  content: "";
  position: absolute;
  font-family: "icomoon" !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  top: 9px;
  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;
}

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

.horizontal-content__item-caption--multiline {
  cursor: pointer;
}
.horizontal-content__item-caption--multiline:after {
  display: block;
}

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

/**
 * Fluid sizes.
 */
.entry-content-container,
.site-content .entry-content,
.single-format-link .entry-header,
.single-format-quote .entry-header,
#comments {
  width: 70%;
}

.single-format-quote .post-with-featured-image .entry-header,
.page-template-template-full-width-php .entry-content,
.page-template-template-full-width-php .entry-content-container,
.page-template-template-full-width-sidebar-php .entry-content,
.page-template-template-full-width-sidebar-php .entry-content-container,
.page-template-template-full-width-php #comments,
.page-template-template-full-width-sidebar-php #comments {
  width: 100%;
}

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

.page-template-template-full-width-php .site {
  margin: 0 auto;
  width: 80%;
}

.page-template-template-full-width-php .page-title,
.page-template-template-full-width-php .entry-title {
  text-align: center;
  padding: 20px 0 30px;
  border-bottom: 1px solid #eaeaea;
}

/**
 * ---------------------------------------------------------
 * 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;
}

.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: 4px 6px 5px;
  font-size: 13px;
  color: #999;
  text-transform: uppercase;
  border: 0 none;
  text-decoration: none;
}
.site-navigation .sub-menu {
  position: absolute;
  top: 28px;
  left: -11px;
  display: none;
  background: #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: 9px 0 8px;
  z-index: 10000;
}
.site-navigation .sub-menu a {
  white-space: nowrap;
  padding: 4px 17px;
  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: 18px;
}
.site-navigation .has-children.current-menu-item > a,
.site-navigation .has-children.current-menu-ancestor > a,
.site-navigation .has-children.active > a {
  padding-right: 19px;
}
.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: 6px;
}
.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: #777;
  font-size: 12px;
  padding: 13px 15px 0;
  z-index: 1010;
  width: 100%;
}

/* On horizontal page footer is fixed. */
.horizontal-page .site-footer {
  position: fixed;
  bottom: 0;
  height: 50px;
  background: #fff;
}

#sharrre-footer {
  position: relative;
  border: 1px solid #eaeaea;
  line-height: 21px;
  float: left;
  display: none;
  z-index: 1000;
  margin: 0 15px 0 0;
}

#sharrre-footer:hover,
#sharrre-footer.state-visible {
  border-color: #ccc;
}

#sharrre-footer:hover .share,
#sharrre-footer.state-visible .share {
  color: #111116;
}

#sharrre-footer .share {
  position: relative;
  font-weight: normal;
  float: left;
  padding: 0 6px 0 7px;
  display: block;
  cursor: pointer;
}

#sharrre-footer .share:after {
  position: relative;
  font-family: "icomoon";
  content: "";
  top: 1px;
  left: 2px;
}

#sharrre-footer.state-visible .share:after {
  content: "";
}

#sharrre-footer .counts {
  float: left;
  padding: 0 0 0 10px;
  font-weight: 700;
  cursor: pointer;
  display: none;
}

#sharrre-footer[data-enable-counter="1"] .counts {
  display: block;
}

#sharrre-footer[data-enable-counter="1"] .share {
  border-right: 1px solid #eaeaea;
}

#sharrre-footer .counts b {
  padding: 0 10px 0 0;
}

#sharrre-footer .count-facebook {
  color: #3b5998;
}

#sharrre-footer .count-plus {
  color: #db4a39;
}

#sharrre-footer .buttons {
  position: absolute;
  background: #fff;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #ccc;
  padding: 5px 10px;
  bottom: 21px;
  left: -1px;
  min-width: 130px;
  display: none;
  -webkit-box-shadow: 5px -5px 20px -7px rgba(0, 0, 0, 0.1);
  box-shadow: 5px -5px 20px -7px rgba(0, 0, 0, 0.1);
}

#sharrre-footer .buttons b {
  position: relative;
  display: block;
  padding: 0 20px 5px 0;
  text-transform: uppercase;
  color: #ccc;
  font-weight: bold;
}

#sharrre-footer .close {
  position: absolute;
  top: 5px;
  right: 9px;
  display: block;
  color: #999;
}

#sharrre-footer .close:hover {
  color: #999;
}

#sharrre-footer .close:before {
  position: absolute;
  font-family: "icomoon";
  content: "";
  display: block;
  line-height: 1em;
  margin: -2px 0 0 0;
  font-size: 14px;
}

#sharrre-footer .buttons .button {
  background: none;
  padding: 0;
  display: block;
  width: 120px;
  height: 23px;
  margin-left: 0;
  margin-bottom: 10px;
  cursor: default;
  text-align: left;
}

#sharrre-footer .buttons .button:last-child {
  margin-bottom: 0;
}

#sharrre-footer .buttons .button a:hover {
  border: 0 none;
}

#sharrre-footer .buttons .button.facebook {
  margin-top: 1px;
  width: 110px;
}

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

.sharrre .stumbleupon iframe,
.sharrre .digg > span,
.sharrre .twitter iframe {
  position: relative;
  top: -1px;
}

.sharrre .stumbleupon {
  width: 90px;
}

.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: #111116;
  font-size: 12px;
  line-height: 1.5;
  border-bottom: 1px solid #ddd;
  padding: 7px 0 1px;
  margin: -7px 0 0 0;
  display: inline-block;
}

.footer-links a:hover {
  color: #111116;
  border-bottom-color: #aaa !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: #999;
}

.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
-----------------------------------------------------------------------------*/
.page-title {
  font-family: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1em;
  text-transform: none;
  margin-bottom: 16px;
  text-indent: -2px;
}

.entry-title {
  font: 700 24px/1 "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.entry-title a {
  text-decoration: none;
}
.entry-title a:hover {
  color: #999;
}
.project-title__prefix + .entry-title {
  margin-top: 6px;
}

.entry-content,
.entry-summary {
  font: normal 16px/2 "Merriweather", georgia, serif;
  color: #111116;
}

.entry-content a {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.entry-content a:hover {
  color: #999;
  border-color: #999;
}
.entry-content blockquote {
  margin: 32px 0;
  padding: 0 10px 0 48px;
  color: #999;
}
.entry-content blockquote:before {
  content: "“";
  display: block;
  position: absolute;
  margin: 4px 0 0 -40px;
  font-size: 40px;
}
.entry-content blockquote p {
  margin: 0;
}
.entry-content blockquote cite {
  padding-left: 18px;
  position: relative;
  display: block;
  color: currentColor;
}
.entry-content blockquote cite:before {
  content: "—";
  display: block;
  position: absolute;
  left: 0;
  top: -1px;
}

.text-light {
  color: #fff;
}

.entry-summary {
  margin: 1em 0 0;
  font-size: 14px;
}

.entry-content p {
  margin: 0 0 1em;
}

.entry-content ul,
.entry-content ol {
  margin: 0.75em 2em 2em;
}

.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ol,
.entry-content ol ul {
  margin: 10px 2em;
}

.entry-content li {
  padding: 0 0 3px 5px;
}

.entry-content p {
  line-height: 1.875em;
}

.standfirst p, .standfirst {
  font-size: 20px;
  line-height: 1.8em;
}

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

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

.entry-content h1 {
  font-size: 24px;
}

.entry-content h2 {
  font-size: 21px;
}

.entry-content h3 {
  font-size: 18px;
}

.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-size: 16px;
  font-weight: 600;
}

.entry-content h5 {
  font-size: 14px;
}

.entry-content h6 {
  font-size: 12px;
  text-transform: uppercase;
}

.entry-content cite {
  font-family: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  text-transform: uppercase;
  color: #ccc;
}

.entry-content cite a {
  color: #999;
  border-bottom: 1px solid #eaeaea;
  text-decoration: none;
}

.entry-content cite a:hover {
  color: #111116;
  border-bottom: 0 none;
}

.entry-content table {
  border-collapse: collapse;
  font-size: 13px;
  font-family: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.entry-content table thead {
  text-transform: uppercase;
}

.entry-content table thead td,
.entry-content table thead th {
  font-weight: 700;
}

.entry-content table td,
.entry-content table th {
  border: 1px solid #ebebeb;
  padding: 6px 15px;
}

.entry-content table tfoot {
  color: #999;
}

.entry-meta {
  font-size: 13px;
  color: #999;
  line-height: 19px;
  margin: 5px 0;
  font-weight: normal;
  white-space: nowrap;
}
.entry-meta a:hover {
  color: #111116;
}

.entry-meta .entry-date {
  margin: 0 0 0 5px;
  font-weight: normal;
}

.entry-meta .sep {
  opacity: 0.4;
}

.thumbnail {
  position: relative;
  display: block;
}

.thumbnail img {
  display: block;
  width: auto;
  max-height: 328px;
}

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

.post-edit-link {
  font: normal 13px/21px "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  padding: 0 8px;
  display: inline-block;
}

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

.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 "Lato", "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;
}

/**
 * Image with caption.
 */
.wp-caption {
  max-width: 100%;
  position: relative;
  margin-top: 5px;
}

.wp-caption.aligncenter,
.wp-caption.alignleft,
.wp-caption.alignright {
  margin-bottom: 15px;
}

.wp-caption.alignnone {
  margin-bottom: 25px;
}

.wp-caption img {
  display: block;
}

.media-caption {
  color: #999;
  font: 300 14px/1.45em "Lato", "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;
}

.wp-caption-text {
  text-align: left;
  width: 220px;
  margin: 0 -252px 0 0 !important;
  padding: 8px 0 0 0;
  position: absolute;
  border-top: 1px solid #ebebeb;
  top: 0;
  right: 0;
}
.full-width .wp-caption-text, .wp-caption.alignleft .wp-caption-text {
  width: 100%;
  position: static;
  margin: 0;
  border: 0 none;
}

/**
 * Search form.
 */
#searchform {
  float: right;
}

.entry-content #searchform {
  margin: 10px 0 0 0;
  overflow: hidden;
}

.widget #searchsubmit {
  display: none;
}

.entry-content #searchform {
  float: none;
}

#s {
  float: left;
}

/**
 * Sidebar.
 */
.sidebar {
  width: 240px;
  margin: 0 0 0 -304px;
  height: 100%;
  float: left;
  padding: 0 32px 0 0;
  border-right: 1px solid #ebebeb;
  word-wrap: break-word;
  text-align: right;
}

.sidebar .title {
  padding: 0 0 16px;
  font: normal 25px/1em "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.project-title__prefix {
  font: normal 15px/1em "Lato", "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: #999;
  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;
  padding: 32px 0;
  text-align: left;
}
.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;
}

/**
	 * Share project button.
	 */
#sharrre-project {
  position: relative;
  margin: 0 0 0 80px;
  font-size: 13px;
}

#sharrre-project .box .share {
  line-height: 16px;
  font-weight: normal;
  color: #333;
}

#sharrre-project .buttons {
  margin: 15px 0 0;
  position: absolute;
  right: -40px;
  background: #fff;
  border: 1px solid #eaeaea;
  width: 230px;
  z-index: 100;
  padding: 0 10px;
  text-align: left;
  -webkit-box-shadow: 0 0 10px -3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px -3px rgba(0, 0, 0, 0.1);
  display: none;
}

#sharrre-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 #eaeaea;
}

#sharrre-project .close {
  position: absolute;
  top: 13px;
  right: 11px;
  display: block;
  color: #ccc;
}

#sharrre-project .close:hover {
  color: #999;
}

#sharrre-project .close:before {
  position: absolute;
  font-family: "icomoon";
  content: "";
  display: block;
  line-height: 1em;
  margin: -2px 0 0 0;
  font-size: 14px;
}

#sharrre-project .buttons b {
  position: relative;
  display: block;
  padding: 10px 20px;
  color: #999;
  text-transform: uppercase;
  text-align: center;
}

#sharrre-project .buttons .button {
  display: block;
  width: 110px;
  height: 21px;
  float: left;
  cursor: default;
  background: #fff;
}

/**
	 * Shows buttons in columns if we have more than 3.
	 */
#sharrre-project .buttons .button-3,
#sharrre-project .buttons .button-5,
#sharrre-project .buttons .button-7 {
  clear: both;
}

/**
	 * If we have less then 4 buttons, then let's customize every
	 * button so they align nicely.
	 */
#sharrre-project.social-services-3 .buttons {
  width: 350px;
  right: -85px;
  text-align: center;
}

#sharrre-project.social-services-3 .arrow {
  right: 100px;
}

#sharrre-project.social-services-3 .googleplus {
  width: 70px;
}

#sharrre-project.social-services-2 .buttons {
  width: 230px;
  text-align: center;
}

#sharrre-project.social-services-1 .buttons {
  width: 200px;
}

#sharrre-project.social-services-1 .button,
#sharrre-project.social-services-2 .button,
#sharrre-project.social-services-3 .button {
  clear: none !important;
  float: none;
  display: inline-block;
  text-align: left;
}

.social-services-2 .buttons .facebook,
.social-services-3 .buttons .facebook {
  width: 100px;
}

.social-services-1 .buttons .facebook {
  text-align: center;
}

.social-services-2 .buttons .googleplus,
.social-services-3 .buttons .googleplus {
  width: 70px;
}

.social-services-2 .buttons .twitter,
.social-services-3 .buttons .twitter {
  width: 100px;
}

/**
 * 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 {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  line-height: 36px;
  border: 1px solid #eaeaea;
  color: #111116;
  font-weight: 300;
  padding: 0 14px;
  white-space: nowrap;
}
.page-numbers:hover {
  color: #111116;
  border-color: #ccc;
}
.page-numbers .icon-chevron-thin-right,
.page-numbers .icon-chevron-thin-left {
  position: relative;
  top: 1px;
  font-size: 11px;
}
.page-numbers.next:before, .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 {
  content: "";
}

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

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

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

/* -----------------------------------------------------------------------------
 * 3. COMPONENTS
 * -----------------------------------------------------------------------------
 **/
.page-hero {
  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;
}

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

/**
 * Button.
 */
#cancel-comment-reply-link {
  display: inline-block;
  background: #111116;
  border-radius: 2px;
  color: #fff;
  font-size: 13px;
  line-height: 26px;
  padding: 0 24px;
}

/**
 * Default button.
 */
.button,
.sidebar input[type=submit],
.sidebar button,
#searchsubmit {
  background-color: #eaeaea;
  cursor: pointer;
  font: normal 12px/15px "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  padding: 11px 16px;
  display: inline-block;
  border-radius: 1px;
  color: #111116;
  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);
}
.button:hover,
.sidebar input[type=submit]:hover,
.sidebar button:hover,
#searchsubmit:hover {
  background-color: #e0e0e0;
}
.entry-content .button,
.entry-content .sidebar input[type=submit],
.entry-content .sidebar button,
.entry-content #searchsubmit {
  border-bottom: 0 none;
}

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

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

.entry-content .button {
  margin: 0 0 10px 0;
}

.button + .button {
  margin-left: 10px;
}

.button:hover,
.entry-content .button:hover {
  background: #ddd;
  color: #333;
}

.button-big,
.entry-content .button-big {
  padding: 15px 20px 14px;
  font-weight: 700;
}

.button-big:before {
  margin: 0 5px 0 -4px;
}

.button-black,
.entry-content .button-black {
  background: #111116;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.button-black:hover,
.entry-content .button-black:hover {
  background: #222226;
  color: #fff;
}

.button-yellow,
.entry-content .button-yellow {
  background: #fff200;
  color: #111116;
}

.button-yellow:hover,
.entry-content .button-yellow:hover {
  background: #ffd300;
}

.button-blue,
.entry-content .button-blue {
  background: #619ec2;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.button-blue:hover,
.entry-content .button-blue:hover {
  background: #5386a5;
  color: #fff;
}

.button-green,
.entry-content .button-green {
  background: #35d59b;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.button-green:hover,
.entry-content .button-green:hover {
  background: #2fbe79;
  color: #fff;
}

.button-red,
.entry-content .button-red {
  background: #d1562b;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

.button-red:hover,
.entry-content .button-red:hover {
  background: #bf4115;
  color: #fff;
}

.button-blended {
  background-color: transparent;
}

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

.decoration {
  width: 20px;
  height: 2px;
  background-color: #111116;
  background-color: currentColor;
  vertical-align: middle;
}

span.decoration {
  display: inline-block;
}

.sidebar .decoration {
  position: absolute;
  right: 0;
  width: 15px;
}

.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 {
  width: 100%;
}

.gallery .gallery-item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
  padding: 0 20px 20px 0;
  margin: 0 !important;
}

.gallery .gallery-item a {
  display: block;
}

.gallery .gallery-item img {
  border: 0 none !important;
  width: 100%;
  display: block;
}

.gallery .gallery-caption {
  text-align: center;
  font-size: 12px;
  line-height: 1.4em;
  margin: 5px 0 0;
}

/**
 * WP Gallery + Fluxus enhancements.
 */
.fluxus-gallery {
  overflow: hidden;
}
.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 .gallery-caption {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100% !important;
  margin: 0;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  width: auto;
  line-height: 1.4em;
  padding: 8px 6px 5px;
  pointer-events: none;
}
.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 {
  margin: 35px 0 0 0;
}

#comments ul,
#comments ol {
  list-style: none;
}

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

.wrap-avatar {
  width: 64px;
  height: 64px;
  position: absolute;
  margin: 0 15px 0 0;
}

.wrap-avatar .avatar {
  border-radius: 35px;
}

.wrap-avatar .avatar-128 {
  display: none;
}

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

.comment-author {
  width: 400px;
  min-height: 64px;
  padding: 0 0 8px 0;
}

.bypostauthor .bypostauthor-icon {
  font-size: 11px;
  line-height: 1em;
  border-radius: 2px;
  color: #999;
  background: #eaeaea;
  float: right;
  padding: 4px 5px 5px;
}

.comment footer em {
  font-style: normal;
  font-style: normal;
  font-size: 13px;
  color: #999;
  border: 1px solid #eaeaea;
  padding: 5px 10px;
}

.comment-author .fn {
  font-size: 13px;
  color: #111116;
  font-weight: bold;
  font-style: normal;
  display: block;
  float: left;
}

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

.comment-meta a {
  color: #999;
}

.comment-time {
  clear: both;
  display: block;
}

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

.comment-actions a {
  background: #111116;
  color: #fff;
  border-radius: 2px;
  padding: 0 10px;
  margin: 0 10px 0 0;
  font-size: 11px;
  line-height: 18px;
  display: block;
  float: left;
}

.comment-actions a:hover {
  background: #fff200;
  color: #111116;
}

.comment-content {
  margin: 10px 0 0 0;
  font: normal 0.875em/1.642857143em "Merriweather", georgia, serif;
  width: 400px;
}

.comment {
  margin: 0 0 35px;
}

#comments .children {
  margin-left: 20px;
  padding-left: 20px;
  border-left: 1px solid #eaeaea;
}

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

.form-allowed-tags code {
  font-size: 11px;
}

#reply-title {
  font-size: 13px;
  text-transform: uppercase;
  font-weight: normal;
  margin: 0 0 10px;
}

#reply-title small {
  float: right;
  font-size: 1em;
}

.logged-in-as {
  font: normal 16px/25px "Merriweather", 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;
}

#respond {
  padding: 13px 15px 20px;
  border-top: 2px solid #111116;
  background: #f9f9f9;
}

#respond label {
  color: #757575;
  font-size: 13px;
  display: block;
  width: 140px;
  padding: 4px 0 0 0;
  position: absolute;
}

#respond p {
  margin: 0 0 10px;
  overflow: hidden;
}

#respond p input {
  float: left;
  margin: 0 0 0 100px;
}

#respond .required {
  font-size: 16px;
  color: #f00;
  font-weight: bold;
  line-height: 1;
}

#cancel-comment-reply-link {
  padding: 1px 8px 0;
  margin: -3px 0 0 0;
  display: block;
}

#cancel-comment-reply-link:hover {
  color: #ccc;
}

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

#respond input[name=author] {
  width: 100px;
}

#respond .comment-form-comment {
  margin: 15px 0;
}

#respond .comment-form-comment label {
  position: static;
  padding: 0 0 5px;
}

#respond .form-submit,
#respond .form-submit input {
  margin: 0;
}

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

/**
	 * JetPack comment plugin styling fixes.
	 */
#respond .comment-subscription-form {
  margin-top: 10px;
}

#respond .comment-subscription-form input {
  margin: 3px 0 0 0;
}

#respond .comment-subscription-form label {
  width: auto;
  padding: 0 0 0 4px;
}

#respond .comment-subscription-form:last-child {
  margin-bottom: 0;
}

/*-----------------------------------------------------------------------------
	4. WIDGETS
-----------------------------------------------------------------------------*/
.widget {
  margin: 0 0 16px;
  position: relative;
  overflow: hidden;
}
.widget:last-child {
  margin-bottom: 0;
}
.widget a {
  color: #999;
  font-size: 13px;
  border-bottom: 1px solid #ddd;
  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 3px;
}
.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 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.sidebar .widget-title {
  padding: 6px 0 2px;
  position: relative;
}

.widget-title a {
  color: inherit;
}

.textwidget {
  font: normal 13px/24px "Merriweather", 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 "Lato", "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: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
}

.widget-content {
  margin: 3px 0 0 0;
  font-size: 13px;
  color: #999;
  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: #999;
}

.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;
}

#wp-calendar th,
#wp-calendar td {
  border: 1px solid #eaeaea;
  text-align: center;
  color: #999;
}

#wp-calendar tbody td a {
  background: #fff200;
  display: block;
}

#wp-calendar tbody td a:hover {
  background: #111116;
  color: #fff;
}

#wp-calendar th {
  color: #666;
  background: #f5f5f5;
  font-weight: normal;
}

#wp-calendar caption {
  text-align: right;
  padding: 0 0 5px 0;
  color: #ccc;
}

#wp-calendar #prev {
  border-right: 0 none;
}

#wp-calendar #next {
  border-left: 0 none;
}

#wp-calendar tfoot .pad {
  border-left: 0 none;
  border-right: 0 none;
}

#wp-calendar #next {
  border-right: 1px solid #eaeaea;
}

.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 page slider.
 */
.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 "Merriweather", 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;
}

.project .entry-title + .entry-tags {
  margin-top: 5px;
}

.entry-tags {
  color: #111116;
  font-size: 13px;
  position: relative;
  font-family: "Lato", "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: #999;
  font-weight: normal;
}

.entry-navigation {
  border-top: 1px solid #ebebeb;
  margin: 32px 0 0;
  overflow: hidden;
}
.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,
.entry-navigation .post-navigation {
  padding: 32px 0;
}
.entry-navigation .entry-tags {
  float: left;
}
.entry-navigation .post-navigation {
  padding-left: 32px;
  border-left: 1px solid #ebebeb;
}

/**
 * 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: #999;
  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 {
  position: relative;
  height: 100%;
  min-width: 288px;
  /* in case media fails to load give the container some width */
}

.horizontal-media img {
  display: block;
  max-height: 100%;
  width: auto;
}

.upscale .horizontal-media img {
  height: 100%;
}

.horizontal-media .plyr,
.horizontal-media > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  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 {
  width: 583px;
}

.horizontal-posts .entry-header {
  position: relative;
  padding-right: 75px;
}

.horizontal-posts .sticky .entry-title {
  padding-right: 100px;
}

.horizontal-posts .post .byline {
  margin: 2px 0 -5px;
}

.horizontal-posts .entry-title a {
  text-transform: uppercase;
}

.horizontal-posts .wrap-embed-video,
.horizontal-posts .thumbnail {
  background: #fff;
}

.horizontal-posts .entry-summary {
  margin: 0;
  font-size: 14px;
}

.entry-header {
  position: relative;
}

.entry-header + .entry-content {
  margin-top: 30px;
}

.entry-header img {
  width: 100%;
  height: auto;
  display: block;
}

.entry-header .entry-date {
  position: absolute;
  right: 0;
  top: 1px;
  max-width: 120px;
  padding: 1px 0 2px 20px;
  font-weight: normal;
  text-transform: none;
  color: #bdbdbd;
}

.entry-header .entry-date:before,
.single .entry-header .comment-count:before,
.attachment .entry-header .comment-count:before {
  content: " ";
  position: absolute;
  left: 0;
  top: -6px;
  display: block;
  height: 30px;
  width: 15px;
  background: url(./images/slash@2x.png) no-repeat;
  background-size: auto 100%;
}

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

.single .entry-header .entry-date,
.attachment .entry-header .entry-date {
  position: relative;
  top: 0;
  padding: 0 0 0 20px;
}

.single .entry-header .comment-count,
.attachment .entry-header .comment-count {
  position: relative;
  padding: 0 0 0 20px;
  margin: 0 0 0 7px;
}

.single .entry-header .comment-count:hover,
.attachment .entry-header .comment-count:hover {
  color: #111116;
}

.sticky-icon {
  color: #ccc;
  font-size: 16px;
  position: absolute;
  right: 56px;
  top: 16px;
  width: 30px;
  cursor: default;
}

.entry-date {
  font-size: 12px;
  font-weight: 600;
}

.single .entry-title {
  padding-bottom: 64px;
  margin: 0 0 32px;
  border-bottom: 1px solid #eaeaea;
}

.excerpt-more {
  font-family: "Lato", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, arial, sans-serif;
  border-bottom: 2px solid #ffdd28;
  padding-bottom: 3px;
  color: #111116;
  white-space: nowrap;
}
.excerpt-more:hover {
  border-color: currentColor;
}

/**
 * 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: #999;
  font-size: 13px;
  margin: 0 10px 0 0;
  display: block;
}

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

/**
 * Single.
 */
.post-image {
  overflow: hidden;
  float: left;
  position: relative;
  margin: 0 0 16px;
}
.post-image img {
  display: block;
}
.upscale .post-image {
  float: none;
}

.post-media-container {
  margin-bottom: 16px;
}
.single .post-media-container {
  margin-bottom: 32px;
}
.post-media-container:empty {
  display: none;
}

.post-image__cover {
  position: absolute;
  top: 50%;
  padding: 20px 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%);
}
.post-image__cover h1 {
  color: #fff;
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-block;
  letter-spacing: 0.06em;
}
.post-image__cover p {
  font: normal 16px/1em "Merriweather", georgia, serif;
  color: #fff;
  margin: 10px 0 0 0;
}
.post-image__cover p a {
  color: #fff;
}
.post-image__cover p a:hover {
  text-decoration: underline;
}

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

.post-navigation .nav-previous {
  float: right;
  margin: 10px 0 0 10px;
}

.post-navigation .nav-next {
  float: right;
  margin: 10px 0 0 0;
}

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

/**
 * Link post format.
 */
.post-link {
  background: #f4f4f4;
  position: relative;
  width: 583px;
}

.post-link .js-vertical-center {
  position: absolute;
  text-align: center;
  width: 100%;
}

.post-link p {
  padding: 10px 0 0 0;
  font-size: 13px;
  font-weight: 300;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
  width: 80%;
  margin: 0 auto;
}

.post-link a {
  font-size: 21px;
  border-bottom: 1px solid #ffdd28;
  padding: 0 0 1px;
}

.single .post-link,
.vertical-blog .post-link {
  width: 100%;
  height: auto;
  padding: 50px 0;
}

.single .post-link .js-vertical-center,
.vertical-blog .post-link .js-vertical-center {
  position: static;
}

/**
 * Quote Post Format.
 */
.wrap-quote {
  background: #f4f4f4;
  margin: 0;
  width: 583px;
  font-size: 24px;
}

.single .wrap-quote {
  padding: 35px 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wrap-quote blockquote {
  padding: 0 60px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
  margin-left: 0;
  margin-right: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.single-post .wrap-quote blockquote {
  padding: 0 80px;
}

.quote-white blockquote {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
}

.wrap-quote p {
  position: relative;
  text-transform: uppercase;
  font-family: "Merriweather", georgia, serif;
}

.wrap-quote cite {
  font-style: normal;
  font-size: 13px;
  font-weight: 300;
  display: block;
}

.wrap-quote .lq {
  position: absolute;
  font: normal 45px "Merriweather", georgia, serif;
  margin: -8px 0 0 -35px;
  color: #ffdd28;
}

.thumbnail:hover blockquote {
  color: #111116;
}

.post-image .wrap-quote,
.thumbnail .wrap-quote {
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  width: 100%;
  height: 100%;
}

.quote-white {
  background: #111116;
}

.quote-white p,
.quote-white p:before,
.quote-white p:after,
.quote-white cite {
  color: #fff;
}

.post-image .wrap-quote {
  font-size: 2em;
}

.post-image .wrap-quote p:before {
  top: -26px;
  left: -20px;
}

.post-image .wrap-quote p:after {
  right: -25px;
  bottom: 10px;
}

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

/**
 * Vertical Blog.
 */
.vertical-blog .post {
  width: 583px;
  padding: 35px 0;
}

.vertical-blog .post:first-child {
  padding-top: 0;
}

.vertical-blog .post:after {
  content: " ";
  position: absolute;
  height: 1px;
  border-bottom: 1px solid #eaeaea;
  left: 0;
  width: 200%;
  margin: 31px 0 0 -31px;
}

.vertical-blog .post .entry-header {
  padding-right: 120px;
}

.vertical-blog .post .byline {
  margin: 2px 0 -5px;
}

.vertical-blog .site-with-sidebar .site-content {
  position: relative;
  padding-bottom: 50px;
}

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

.vertical-blog .wrap-quote {
  width: auto;
}

.vertical-blog .post-without-featured-image .wrap-quote blockquote {
  padding-top: 35px;
  padding-bottom: 35px;
}

.vertical-blog #main {
  overflow: hidden;
}

.vertical-blog .entry-summary {
  margin-top: 0;
}

.vertical-blog #main,
.vertical-blog .site-with-sidebar,
.vertical-blog .sidebar {
  height: 100%;
}

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

.upscale.vertical-blog .thumbnail img {
  width: 100%;
  max-width: 100%;
}

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

/**
 * 404 page.
 */
.error404 .page-with-background {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
}

/**
 * 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;
  height: 100%;
  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 "Lato", "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;
}

.sep {
  width: 8px;
  height: 19px;
  display: inline-block;
  background: url(./images/slash.png) no-repeat top center;
  padding: 0 2px 0 4px;
  line-height: 1em;
  vertical-align: bottom;
}

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

.aside-content {
  float: right;
  font: 300 21px/33px "Lato", "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 1.5em;
  border: 1px solid #eaeaea;
}

.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 "Lato", "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;
}

.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 "Lato", "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: #eaeaea;
  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 {
  -ms-user-select: none;
      user-select: none;
  -o-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
}

/**
 * Alignment
 */
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
  margin-bottom: 1em;
}

/* 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 "Merriweather", georgia, serif;
  padding: 10px 10px;
}

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

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

.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 "Lato", "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: #999;
}

.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;
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  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%);
  /* W3C */
}

.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: #999;
  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: #999;
}

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

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

.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;
}

/* Fade in image */
.fade-in-image {
  -webkit-transition: opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  opacity: 0;
}

.fade-in-image--loaded {
  opacity: 1;
}

.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 "Merriweather", georgia, serif;
}

.project-title__decoration + .project-title__excerpt {
  margin-top: 4px;
}

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

/**
 * Lazy Load
 *
 * Usage: <img data-src="" class="lazyload" />
 */
.lazyload,
.lazyloading,
.lazyloaded {
  position: absolute;
  opacity: 0;
  -webkit-transition: 0.5s opacity ease;
  transition: 0.5s opacity ease;
}

.lazyloaded {
  opacity: 1;
}

.horizontal-media .lazyload-component {
  height: 100%;
  background-color: #f1f1f1;
}

/* 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;
}

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

.lazyload-component--loaded .lazyload-component__loading {
  -webkit-transition: 0.5s opacity ease;
  transition: 0.5s opacity ease;
  opacity: 0;
}

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