/**
 * ------------------------------------------------------------------------
 * 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 {
    font-size: 21px;
    padding-bottom: 15px;
  }
}
/**
  * Small screen
  */
@media screen and (max-width: 1024px) {
  html.horizontal-page {
    overflow-x: hidden;
  }

  /**
    * Smaller space for logo and sidebar.
    */
  .logo-container {
    width: 232px;
  }

  .sidebar {
    width: 200px;
    margin-left: -268px;
  }

  .primary-navigation {
    margin-left: -5px;
  }

  .site-with-sidebar {
    padding: 0 35px 0 268px;
  }

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

  /**
   * Contract main navigation.
   */
  .site-navigation a {
    font-size: 12px;
  }

  .site-navigation .has-children a:after {
    font-size: 12px;
    line-height: 14px;
  }

  /**
    * Page: Full width
    */

  /**
    * Page: Full page slider
    */

  /**
    * Page: Vertical Blog
    */

  /**
    * Content.
    */

  /* Disable pushed aside content. */

  /* Make content full width without margins. */
}
@media screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) {
  .site-navigation .has-children a:after {
    font-size: 12px;
  }
}
@media screen and (max-width: 1024px) {
  .site-navigation li {
    margin-right: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .page-template-template-full-width-php .site {
    width: auto;
    margin: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .slider .info {
    width: 280px;
  }
}
@media screen and (max-width: 1024px) {
  .slide .style-default .slide-title {
    font-size: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .vertical-blog .post,
.vertical-blog .navigation-paging {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .button-big,
.entry-content .button-big {
    line-height: 38px;
    font-size: 13px;
    padding-left: 14px;
    padding-right: 14px;
  }
}
@media screen and (max-width: 1024px) {
  .widget {
    margin: 0 0 20px;
    font-size: 12px;
  }
}
@media screen and (max-width: 1024px) {
  .widget a {
    padding-bottom: 1px;
    font-size: 12px;
  }
}
@media screen and (max-width: 1024px) {
  .widget-content,
.textwidget p,
.horizontal-content__item-caption {
    font-size: 12px;
    line-height: 21px;
  }
}
@media screen and (max-width: 1024px) {
  .sidebar .subtitle {
    font-size: 13px;
  }
}
@media screen and (max-width: 1024px) {
  .aside-content {
    font-size: 18px;
    line-height: 28px;
    margin: 0;
    padding: 0 0 10px 20px;
  }
}
@media screen and (max-width: 1024px) {
  .aside-content .position-absolute {
    position: static;
  }
}
@media screen and (max-width: 1024px) {
  .site-content .entry-content,
.single-format-link .entry-header,
.single-format-quote .entry-header,
#comments {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .single .wrap-quote {
    font-size: 24px;
  }
}
@media screen and (max-width: 1024px) {
  .comment-content,
.comment-author {
    width: auto;
  }
}
@media screen and (max-width: 1024px) {
  .wp-caption-text {
    width: 100%;
    position: static;
    margin: 0;
    border: 0 none;
  }
}
@media screen and (max-width: 1024px) {
  .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 {
    display: block;
  }

  .horizontal-content__item {
    width: auto;
    margin-right: 0;
    margin-bottom: 16px;
  }

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

  .horizontal-media {
    max-height: 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;
  }

  .site-with-sidebar .site-content {
    float: none;
    margin-bottom: 32px;
  }

  /**
   * Makes page with sidebar full-width, puts sidebar at the end of the page.
   */
  .site-with-sidebar {
    padding: 0;
    margin: 0 16px;
  }

  .sidebar {
    width: auto;
    border: 1px solid #eaeaea;
    padding: 0;
    margin: 0 0 10px;
    overflow: hidden;
    float: none;
    text-align: left;
  }
  .sidebar .widget {
    float: left;
    padding: 8px 16px;
    margin: 0 0 16px;
  }

  .sidebar .search-results-hgroup,
.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: 0;
    padding: 0 0 30px;
    border-bottom: 2px solid #111;
    width: 100%;
    height: auto;
  }

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

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

  .horizontal-posts .post-link[style],
.horizontal-posts .post-link {
    padding: 50px 0;
    height: auto !important;
  }

  .single .wrap-quote,
.horizontal-posts .wrap-quote {
    padding: 50px 0;
    font-size: 16px;
  }

  .single .post-with-featured-image .wrap-quote,
.single .post-with-featured-image .wrap-quote[style],
.horizontal-posts .post-with-featured-image .wrap-quote,
.horizontal-posts .post-with-featured-image .wrap-quote[style] {
    padding: 0;
    height: 100% !important;
    overflow: hidden;
  }

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

  .horizontal-posts .wrap-quote .post-without-featured-image .js-vertical-center,
.horizontal-posts .wrap-quote .post-without-featured-image .js-vertical-center[style],
.horizontal-posts .navigation-paging .js-vertical-center,
.horizontal-posts .navigation-paging .js-vertical-center[style],
.horizontal-posts .post .post-link .js-vertical-center,
.horizontal-posts .post .post-link .js-vertical-center[style] {
    top: 0 !important;
    position: relative;
  }

  .horizontal-posts .navigation-paging .js-vertical-center {
    width: auto;
    padding: 0 20px;
  }

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

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

  .entry-navigation .post-navigation .nav-next {
    float: left;
  }

  .post-navigation a {
    width: auto;
  }

  .post-navigation a h2 {
    display: none;
  }

  .post-navigation a span {
    border-bottom: 1px solid #eaeaea;
    padding: 0 0 1px 0;
  }

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

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

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

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

  .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 .site-content {
    -moz-order: 1;
    -ms-order: 1;
    -o-order: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  .single-fluxus_portfolio .sidebar {
    height: auto;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0;
    margin: 10px 0 0 0;
    float: none;
    border: none;
  }

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

  /**
    * Turn WP gallery grid into 2 column grid.
    */
  .entry-content .gallery .gallery-item {
    margin: 0 3% 3% 0;
    width: 48.5%;
  }

  .entry-content .gallery .gallery-item:nth-child(2n) {
    margin-right: 0;
  }

  .entry-content .gallery .gallery-item:nth-child(2n+1) {
    margin-right: 3%;
  }

  .entry-content .gallery .gallery-caption {
    font-size: 12px;
    line-height: 1.6em;
  }

  .entry-content .gallery-columns-1 .gallery-item {
    width: 100%;
    margin-right: 0;
  }

  .entry-content .gallery-columns-1 .gallery-item {
    margin-right: 0;
  }

  /**
    * Page: Single Post
    */
  .single .entry-title {
    margin-top: 32px;
  }

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

  #sharrre-footer {
    float: none;
    display: inline-block;
    margin: 0 0 10px;
    height: 21px;
  }

  #sharrre-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 #main {
    margin: 0;
  }
  html.horizontal-page.no-scroll .site-footer,
html.horizontal-page.no-scroll .site-footer-push {
    display: none;
  }
}
@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;
    -ms-box-sizing: border-box;
    -o-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 screen and (max-width: 568px) {
  /**
    * 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;
  }

  /**
    * 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: Blog.
    */
  .post-image .cover h1 {
    font-size: 21px;
  }

  .post-image .cover p {
    font-size: 11px;
    margin: 0;
  }

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

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

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

  .aside-content {
    float: none;
    width: 100%;
    margin: 0 0 15px;
    padding: 7px 12px;
    border-left: 1px solid #eaeaea;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 26px;
  }

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

  .service .service-content {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
  }

  .service .service-name {
    font-size: 30px;
  }

  .page-title {
    font-size: 30px;
    text-indent: 0;
  }

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

  #respond label {
    position: static;
    width: auto;
  }

  #respond p input {
    float: none;
    margin: 0;
  }

  #respond p input[type=text] {
    width: 100% !important;
  }
}
@media screen and (max-width: 320px) {
  /**
    * Turn WP gallery grid into 1 column grid.
    */
  .entry-content .gallery .gallery-item {
    width: 100%;
    margin-right: 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) {
  .wrap-avatar .avatar-128 {
    display: inline-block;
    width: 64px;
    height: 64px;
  }

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

  .sep,
.footer-links .credits:before,
.footer-links li:before {
    background-image: url(../images/slash@2x.png);
    background-size: auto 100%;
  }
}
