/**
 * ------------------------------------------------------------------------
 * This file holds all rules that makes Fluxus responsive.
 * ------------------------------------------------------------------------
 *
 * Big screen: 1440px
 *   - Increase some element sizes since we have more space.
 *
 */
@media screen and (min-width: 1440px) {
  /**
   * Infobox styles
   */
  .slide .style-default {
    width: 400px;
  }

  .slide .style-default .slide-title {
    font-size: 60px;
  }

  .slide .style-default .slide-subtitle {
    font-size: 18px;
  }

  .slide .style-default .description {
    font-size: 16px;
  }
}
/**
  * Fix the width on screens greater than 1280px.
  */
@media screen and (min-width: 1280px) {
  .page-template-template-full-width-php .site {
    width: 1021px;
  }
}
/**
  * Fix the width on the pages with sidebar, when
  * screen is greater than 1920px.
  */
@media screen and (min-width: 1920px) {
  .page-template-template-full-width-php .site {
    width: 961px;
  }
}
/**
 * Temporarily make things tighter so elements fit in screen.
 * After layout becomes vertical this is no longer needed.
 */
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .project-title__prefix--small {
    font-size: 12px;
  }

  .sidebar .title {
    padding-bottom: 15px;
  }
}
/**
 * Small screen
 */
@media only screen and (max-width: 1024px) {
  /**
   * Smaller space for logo and sidebar.
   */
  .logo-container {
    width: 232px;
  }

  .sidebar {
    max-width: 232px;
    min-width: 232px;
  }

  .nav-tip {
    display: none !important;
  }

  /**
   * Compact main navigation.
   */
  .site-navigation a {
    font-size: 12px;
    padding-left: 6px;
    padding-right: 6px;
  }
  .site-navigation .has-children > a {
    padding-right: 15px;
  }
  .site-navigation .has-children a:after {
    font-size: 12px;
    line-height: 15px;
  }
  .site-navigation li {
    margin-right: 10px;
  }
  .site-navigation .sub-menu {
    left: -3px;
  }
  .site-navigation .sub-menu-right {
    left: auto;
  }

  /**
   * Content.
   */
  .widget {
    font-size: 12px;
  }
  .widget a {
    padding-bottom: 1px;
  }

  /* Disable pushed aside content. */
  .aside-content {
    font-size: 18px;
    line-height: 28px;
    margin: 0;
    padding: 0 0 10px 20px;
  }

  .aside-content .position-absolute {
    position: static;
  }

  .fluid-width-container {
    max-width: none;
  }

  .single .post_format-post-format-quote .featured-media {
    width: 100%;
  }

  .wp-caption-text {
    width: 100%;
    position: static;
    margin: 0;
    border: 0 none;
  }

  .horizontal-page .scroll-container .overview {
    width: 175px;
  }
}
/**
 * General iPad layout.
 * ------------------------------------------------------------------------
 * Display mobile navigation.
 * Turn horizontal layout into vertical.
 */
@media screen and (max-width: 768px) {
  .horizontal-page .site-header {
    /**
     * Browsers that do not support sticky should bring back
     * site-header to flow on horizontal page gone vertical
     */
    position: static;
  }

  .site-header,
.horizontal-page .site-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
  }

  .scroll-y .site-header {
    border-bottom: 1px solid #eaeaea;
  }

  .site-navigation {
    display: none;
  }

  .logo-container {
    /* Changes header layout */
    width: 100%;
    margin: 0;
    border: 0;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /**
   * Changes horizontal layout into vertical.
   */
  html.horizontal-page {
    overflow-x: auto;
    overflow-y: scroll;
  }

  html.horizontal-page body {
    overflow: visible;
  }

  html.no-scroll {
    overflow-y: hidden;
  }

  .horizontal-content {
    white-space: normal;
    margin-left: -8px;
    margin-right: -8px;
  }

  .horizontal-content__item {
    width: 50%;
    margin: 0 0 16px 0;
    padding: 0 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .horizontal-content__item--nav {
    width: 100%;
  }

  .horizontal-content__item:last-child {
    margin-bottom: 0;
  }

  .horizontal-media {
    max-height: none;
  }
  .horizontal-media .lazyload-component__image {
    height: auto;
    width: 100%;
  }
  .horizontal-media .aspect__media {
    position: static;
    width: auto;
    height: auto;
  }
  .horizontal-media.aspect--video .aspect__placeholder, .horizontal-media.aspect--image .aspect__placeholder {
    display: none;
  }

  .horizontal-content__item-caption {
    max-height: none;
    margin-bottom: 16px;
    background-color: transparent;
    opacity: 1;
    margin: 8px 0;
    padding: 0;
    position: static;
  }

  .horizontal-content__item--caption {
    display: block;
  }
  .horizontal-content__item--caption .horizontal-media {
    height: auto;
    display: block;
    max-height: none;
  }

  .horizontal-page .horizontal-content .horizontal-item {
    margin: 0 0 10px;
    display: block;
    height: auto !important;
  }

  .horizontal-page .horizontal-content .horizontal-item:last-child {
    margin-bottom: 0;
  }

  .horizontal-page .horizontal-content .horizontal-item[style] {
    height: auto !important;
  }

  .horizontal-page .scroll-container .overview {
    position: static;
    width: auto;
  }

  /**
   * Makes page with sidebar full-width, puts sidebar at the end of the page.
   */
  .site--has-sidebar {
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .site--has-sidebar .site-content {
    padding-left: 0;
  }

  .sidebar {
    min-width: 100%;
    border: 1px solid #ebebeb;
    padding: 21px 0 0 0;
    margin: 0 0 16px 0;
    overflow: hidden;
    text-align: left;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 32px;
  }
  .single-fluxus_portfolio .sidebar {
    border: 0 none;
    padding-top: 0;
    margin-top: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .sidebar .widget {
    float: left;
    padding: 0 21.3333333333px;
    margin: 0 0 21.3333333333px;
  }
  .sidebar .widget-title {
    padding-top: 0;
  }

  .sidebar .archive-results-hgroup {
    padding: 20px 20px 0;
  }

  .sidebar .decoration {
    display: none;
  }

  .sidebar #s {
    margin: 6px 0 0 0;
  }

  #fluxus-customize {
    display: none !important;
  }

  /**
   * Blog. Changes horizontal layout into vertical.
   */
  .horizontal-posts .site-footer {
    position: absolute;
    bottom: auto;
  }

  .horizontal-posts .site-footer-push {
    display: block;
  }

  .horizontal-posts .site,
.horizontal-posts .site[style] {
    height: auto !important;
    top: 0 !important;
  }

  .horizontal-posts .post {
    margin-bottom: 32px;
  }

  .horizontal-posts .post[style] {
    height: auto !important;
    width: 100% !important;
  }

  .horizontal-posts .navigation-paging {
    margin: 0;
    padding: 20px 0;
    width: 100%;
  }

  .entry-navigation .post-navigation {
    float: none;
    border: 0 none;
    padding-left: 0;
    overflow: hidden;
  }

  .entry-navigation .entry-tags {
    float: none;
  }

  .post-image .cover p {
    font-size: 13px;
  }

  /**
   * Page: Portfolio Horizontal
   */
  .horizontal-navigation {
    min-width: 0;
    width: 100%;
    max-width: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }

  .horizontal-content__item--nav {
    width: 100%;
  }

  .single-fluxus_portfolio .site-footer,
.tax-fluxus-project-type .site-footer,
.page-template-template-portfolio-php .site-footer {
    position: absolute;
    bottom: auto;
  }

  .single-fluxus_portfolio .site-footer-push,
.tax-fluxus-project-type .site-footer-push,
.page-template-template-portfolio-php .site-footer-push {
    display: block;
  }

  .single-fluxus_portfolio .site,
.single-fluxus_portfolio .site[style],
.page-template-template-portfolio-php .site,
.page-template-template-portfolio-php .site[style],
.horizontal-page .tax-fluxus-project-type .site,
.horizontal-page .tax-fluxus-project-type .site[style] {
    height: auto !important;
    top: 0 !important;
  }

  .single-fluxus_portfolio[style] {
    width: 100% !important;
  }

  .project .preview,
.project .preview[style] {
    height: auto !important;
  }

  .project .featured-image,
.project .featured-image[style] {
    width: 100% !important;
    height: auto !important;
  }

  .project-image__media[style] {
    height: auto !important;
  }

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

  .project .info {
    padding-bottom: 32px;
  }
  .project .hover-box {
    display: none;
  }
  .project .entry-title + .entry-tags {
    margin-top: 0;
  }

  .single-fluxus_portfolio .site {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .single-fluxus_portfolio .sidebar .widget {
    padding: 0;
    float: none;
  }

  .project-image figcaption {
    position: relative;
    bottom: 0;
    right: 0;
    margin: 5px 0 0 0;
  }

  /**
   * Page: Full Page Slider
   */
  .project-title__heading {
    font-size: 30px;
  }

  .slide .style-default .slide-title {
    margin: 0 0 25px;
  }

  .slide .style-default .slide-title {
    font-size: 24px;
  }

  .slide .style-default .slide-subtitle {
    font-size: 12px;
    margin: 0 0 5px;
  }

  .slider .slide .info .decoration {
    margin-top: -11px;
  }

  .slide .style-default .description {
    font-size: 12px;
  }

  .slider .info {
    width: 240px;
  }

  .slide .style-default .button {
    line-height: 26px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: bold;
  }

  .slider-button-next,
.slider-button-prev {
    height: 41px;
    width: 34px;
  }

  .slider-navigation a span {
    display: none !important;
  }

  .slider-navigation a {
    width: 5px;
    height: 5px;
    border-width: 1px;
  }

  /* Footer */
  .horizontal-page .site-footer {
    position: absolute;
    bottom: auto;
  }

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

  .site-footer {
    text-align: center;
    padding: 16px 20px 20px;
    position: relative;
  }

  .share-widget--footer {
    float: none;
    display: inline-block;
    margin: 0 0 10px;
    height: 21px;
  }
  .share-widget--footer[style] {
    display: inline-block !important;
  }

  .site-footer .social-networks {
    float: none;
    display: block;
    text-align: center;
  }

  .site-footer .social-networks .icon-social {
    float: none;
    display: inline-block;
    margin: 0 5px;
  }

  .site-footer .footer-links {
    float: none;
  }

  .site-footer .footer-navigation {
    float: none;
    text-align: center;
    margin: 0;
    padding: 10px 0;
  }

  .site-footer .footer-navigation li {
    margin: 0 8px;
    display: inline-block;
    float: none;
  }

  .site-footer .footer-links .credits {
    float: none;
    font-size: 11px;
    padding: 8px 0;
    color: #ccc;
    margin: 0;
  }

  .footer-links .credits:before,
.footer-navigation li:before {
    display: none;
  }

  /* END Footer */
  /* Hide footer in Full Page Slider and 404 */
  html.horizontal-page.no-scroll #page-wrapper,
html.horizontal-page.no-scroll .site {
    margin: 0;
  }
  html.horizontal-page.no-scroll .site-footer,
html.horizontal-page.no-scroll .site-footer-push {
    display: none;
  }

  .captioned-media__caption {
    position: relative;
    bottom: 0;
    max-height: none;
  }

  .fixed-width-container {
    max-width: none;
  }

  .vertical__post + .vertical__post {
    margin-top: 0;
  }
  .vertical__post + .vertical__post:before {
    display: none;
  }

  .vertical__post--navigation {
    padding-top: 0 !important;
  }
}
@media screen and (max-width: 660px) {
  /**
    * Page: Contacts
    */
  .contact-details-container {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }

  .contact-details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -30px;
    border-left: 0 none;
    padding: 15px 0;
  }

  .contact-details__item {
    margin-left: 30px;
  }

  .map-active #map {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
  }

  #map {
    visibility: hidden;
  }

  .map-active #map {
    visibility: visible;
  }

  .reveal-modal {
    width: 100%;
    margin: 0;
    left: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  .wpcf7-form .wpcf7-form-control-wrap input[type=text] {
    width: 100%;
  }

  .page-contacts .row-fluid [class*=span] {
    float: none;
    width: 100%;
    margin: 0;
  }
}
/**
 * General iPhone layout.
 * ------------------------------------------------------------------------
 * Disable unnecessary elements.
 */
@media only screen and (max-width: 576px) {
  /**
   * Page: Full Page Slider
   */
  .mobile-device .slider-button-next,
.mobile-device .slider-button-prev {
    display: none;
  }

  .swiper-pagination-bullets {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
    left: 50%;
  }

  .content-box,
.content-box[style] {
    width: 100% !important;
  }

  .project-title__heading {
    font-size: 24px;
  }

  .slider-button-next,
.slider-button-prev {
    height: 20px;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
  }

  .slider-button-next {
    right: 0;
  }

  .slider-button-prev {
    left: 0;
  }

  /**
   * Horizontal layout was vertical 2 columns. Make it vertical 1 column.
   */
  .horizontal-content {
    margin-left: 0;
    margin-right: 0;
    display: block;
  }

  .horizontal-media {
    width: 100%;
    height: auto;
  }

  .horizontal-content__item {
    min-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 16px;
    height: auto;
  }

  /**
   * Page: Portfolio
   */
  .project .hover-box .excerpt,
.project .hover-box .decoration {
    display: none;
  }

  .project .hover-box h2 {
    padding-bottom: 10px;
  }

  .project .hover-box h2 {
    font-size: 18px;
    line-height: 21px;
  }

  .project .hover-box .subtitle {
    font-size: 13px;
  }

  .other-projects__item-col {
    max-width: 33.3%;
    min-width: 33.3%;
  }

  /**
   * Page: Vertical Blog
   */
  .vertical-blog .site--has-sidebar .site-content {
    padding-bottom: 0;
  }

  .vertical-blog .navigation-paging .wrap-page-numbers {
    position: static;
    margin: 32px 0 0 0;
    width: auto;
    text-align: left;
  }

  /**
   * Content.
   */
  .entry-content {
    font-size: 15px;
  }
  .entry-content .standfirst {
    font-size: 17px;
    margin-bottom: 16px;
  }

  .post-image__cover {
    display: none;
  }

  .single .featured-media {
    margin-bottom: 16px;
  }

  .aside-content {
    float: none;
    width: 100%;
    margin-bottom: 16px;
    padding: 16px;
    border-left: 0 none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 13px;
    line-height: 1.4em;
    background-color: #f9f9f9;
  }

  .page-template-template-full-width-php .aside-content,
.page-template-template-full-width-sidebar-php .aside-content {
    max-width: 100%;
  }

  .site-content table td,
.site-content table th {
    font-size: 13px;
    line-height: 18px;
    padding: 5px;
  }

  .site-content thead th,
.site-content thead td {
    font-size: 11px;
  }

  /* Remove grid columns.*/
  .row-fluid [class*=span] {
    float: none;
    width: 100%;
    margin: 0;
  }

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

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

  /* Remove columns from service list*/
  .service .service-content {
    font-size: 16px;
    width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
  .service .service-name {
    font-size: 30px;
  }

  .alignright,
.alignleft {
    margin: 0;
    float: none;
    display: block;
    width: 100%;
  }

  .page-title,
.single .entry-title {
    font-size: 24px;
    font-weight: normal;
  }

  /**
   * Make headings lighter.
   */
  .entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-weight: normal;
  }
  .entry-content h1 {
    font-size: 21px;
  }
  .entry-content h2 {
    font-size: 18px;
  }
  .entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-size: 16px;
  }

  .entry-navigation {
    margin-top: 0;
  }
  .entry-navigation:before {
    display: none;
  }

  .entry-header__slash {
    margin-top: 0;
  }
}
@media screen and (max-height: 320px) {
  .slide .info .slide-subtitle,
.slide .info .description,
.slide .info .decoration {
    display: none;
  }

  .slide .info .slide-title {
    margin: 0;
  }
}
/**
  * High pixel ratio devices.
  */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-resolution: 124.8dpi) {
  .footer-links .credits:before,
.footer-links li:before {
    background-image: url(../images/slash@2x.png);
    background-size: auto 100%;
  }
}
