@charset "utf-8";
/* Адаптивный дизайн
    для IE < 8: 		<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
    для iPhone: 		<meta name="viewport" content="width=device-width; initial-scale=1.0" />
*/

#responsive-menu-block {
  display: none;
}

#responsive-menu-block > .menu-caller {
  float: right;
  display: inline-block;
  font-size: 40px;
  font-weight: normal;
  height: 50px;
  width: 50px;
  line-height: 50px;
  text-align: center;
}

ul.menu-content {
  display: block;
  width: 100%;
  clear: both;
  margin: 0;
  padding: 0;
}

ul.menu-content li {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul.menu-content li:nth-child(odd),
ul.menu-content ul > li:nth-child(odd) {
  background: #333;
}

ul.menu-content ul > li:nth-child(even) {
  background: #333;
}

ul.menu-content > li {
  width: 100%;
}

ul.menu-content li a,
ul.menu-content li span {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  color: #fff;
  overflow: hidden;
  height: 30px;
  line-height: 30px;
  padding: 0 10px;
  text-decoration: none;
}

ul.menu-content > li > a,
ul.menu-content > li > span {
  text-transform: uppercase;
  font-family: "PT Sans Narrow";
  font-weight: bold;
}

ul.menu-content li ul {
  margin: 0;
}

ul.menu-content li ul li {
  display: block;
  font-size: 14px;
  margin: 0;
}

.go-top,
.menu-caller {
  display: none;
}

nav.menu-content .menu-item-wrapper {
  display: block;
  text-align: left;
  color: #fff;
}

nav.menu-content .menu-item-wrapper a,
nav.menu-content .menu-item-wrapper span {
  color: #fff;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

nav.menu-content .menu-item-wrapper span.active {
  font-weight: bold;
}

nav.menu-content .menu-item-wrapper .sub-menu {
  display: block;
  width: 100%;
}

nav.menu-content .menu-item,
nav.menu-content .sub-menu .menu-item {
  display: block;
  padding: 10px 25px;
  font-size: 18px;
}

nav.menu-content .menu-item {
  font-size: 22px;
}

nav.menu-content .sub-menu .menu-item {
  color: #fefefe;
}

nav.menu-content hr {
  margin: 7px 0 4px;
  padding: 0;
  background: none;
  border: none;
  border-top: 1px dotted rgba(255, 255, 255, 0.5);
}

nav.menu-content .menu-item-wrapper.has-sub-menu {
}

@media screen and (max-width: 1250px) {
  body > header:before,
  body > section:before,
  body > footer:before,
  .wrapper {
    width: 1000px;
  }

  body > header:before,
  body > section:before,
  body > footer:before {
    margin: 0 -500px;
  }

  .header-infoblock > .row.company-info {
    width: 180px;
  }

  #logo {
    margin-right: 0;
    width: 220px;
  }

  #infographica > .item:nth-child(2) {
    margin: 0 10px;
  }

  #infographica > .item .textplace {
    min-width: 200px;
  }

  aside#our-production .video-frame-wrapper {
    width: calc(50% - 30px) !important;
  }

  #catalog aside#lead-magnet-form,
  #sort aside#lead-magnet-form,
  #inner-mixed aside#lead-magnet-form {
    margin-bottom: 30px;
    width: 100%;
  }

  #catalog-out-placeholder,
  #catalog-out-placeholder + .paging {
    width: 100%;
  }

  #catalog-out-placeholder {
    text-align: center;
  }

  #catalog-out-placeholder .product-element {
    float: none;
    display: inline-block;
    vertical-align: top;
  }
}

@media screen and (max-width: 1000px) {
  nav[data-role="site-main-menu"] {
    display: none;
  }

  .contact-out-item span[data-target="other-current-contacts"] {
    display: none;
  }

  .header-infoblock > .row .contact-out-item {
    width: 100%;
    padding: 0 0 20px;
  }

  .header-infoblock > .row.company-info {
    margin: 0 0 20px;
  }

  .header-infoblock > .row .contact-out-item .other-current-contacts {
    display: block;
    position: static;
    height: auto;
    box-shadow: none;
    padding: 0;
    border: none;
  }

  .header-infoblock > .row > .contact-out-item .phone {
    white-space: nowrap;
  }

  .header-infoblock
    > .row
    .contact-out-item
    .other-current-contacts
    > .contact-out-item {
    background: transparent !important;
    padding: 20px 0 0;
  }

  #catalog-grid.fullwidth .catalog-grid-out-item {
    width: 100%;
  }

  #catalog-grid.fullwidth + #lead-magnet-form {
    background: #fefefe;
  }

  .header-infoblock {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 20px;
    margin: 0;
  }

  .header-infoblock .row {
    display: inline-block;
    text-align: left;
  }

  .header-infoblock > .row.company-info,
  .header-infoblock > .row.contacts {
    display: block;
    width: 100%;
  }

  .header-infoblock > .row.contacts,
  .header-infoblock > .row .other-info,
  .header-infoblock > .row .contact-out-item {
    display: block;
    width: 100%;
  }

  #alert-message {
    width: 100%;
    white-space: normal;
    padding: 20px 10px;
  }

  .city-list-footer {
    display: block;
    width: 100%;
    clear: both;
    padding: 0 20px;
    margin: 0;
  }

  #responsive-menu-block {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    color: #fff;
    text-shadow: 0 1px 0 #111;
    background: #333;
    border-bottom: 1px solid #222;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    height: 50px;
    line-height: 50px;
    z-index: 1000;
    text-align: center;
  }

  #responsive-menu-block[data-status="opened"] {
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
  }

  #responsive-menu-block[data-status="opened"] > .menu-content {
    display: block;
    height: calc(100% - 50px);
    padding: 0 0 70px;
    width: 100%;
    border-top: 1px solid #333;
    overflow: hidden;
    overflow-y: auto;
  }

  #responsive-menu-block > .heading {
    display: inline-block;
    font-family: "PT Sans Narrow";
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    white-space: nowrap;
    font-weight: bold;
    margin: 0 20px;
  }

  body {
    min-width: 100%;
  }

  header,
  section,
  footer {
    background: #fefefe;
  }

  .header-left-side,
  .header-right-side {
    display: none;
    width: 100%;
    box-sizing: border-box;
    position: static;
    padding: 20px 20px 0;
    text-align: left;
  }

  * > .wrapper {
    width: auto;
  }

  .header-left-side .header-place {
    display: none;
  }

  .header-left-side .header-time:last-child {
    position: static !important;
  }

  aside#contacts-placeholder {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    padding: 30px 0 0;
    background: #009786;
    z-index: 1000;
  }

  aside#contacts-placeholder:before {
    position: absolute;
    content: "";
    display: block;
    background: url(../images/top-contacts-sprite.png) no-repeat center center;
    height: 20px;
    width: 17px;
    left: 14px;
    top: 3px;
    filter: grayscale(100%) brightness(500%);
    z-index: 3;
  }

  aside#contacts-placeholder:after {
    position: absolute;
    content: "Контактные телефоны";
    display: block;
    color: #fff;
    text-shadow: none;
    height: 30px;
    width: auto;
    top: 5px;
    left: 44px;
    font-weight: bold;
    text-shadow: none;
  }

  aside#contacts-placeholder.mobile-active {
    background: #eaeaea;
    height: 100%;
    box-sizing: border-box;
    padding: 0;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    overflow-y: scroll;
  }

  aside#contacts-placeholder.mobile-active:before,
  aside#contacts-placeholder.mobile-active:after {
    display: none;
  }

  aside#contacts-placeholder .contact-out-item .heading {
    width: 100%;
    max-width: 100%;
    font-size: 24px;
    line-height: 40px;
    margin: 0 0 10px;
  }

  aside#contacts-placeholder .contact-out-item .place,
  aside#contacts-placeholder .contact-out-item .time,
  aside#contacts-placeholder .contact-out-item .phone {
    width: 100%;
    text-align: left;
    margin: 0 0 7px;
  }

  #logo,
  nav[data-ajaxify="menu"],
  #contacts-place-wrapper span.alladrhv,
  #slider-placeholder,
  a[href="sitemap.html"] {
    display: none;
  }

  aside#search-out {
    border-top: 1px solid #eee;
    margin: 10px 0 0;
  }

  #infographica {
  }

  #infographica > .item,
  #infographica > .item:nth-child(2) {
    margin: 0 0 20px;
  }

  #infographica > .item:last-child,
  #infographica .full-view-aftertext {
    margin: 0;
  }

  #catalog-grid {
    width: 100%;
    text-align: center;
  }

  #catalog-grid > .catalog-item {
    display: inline-block;
    vertical-align: top;
    float: none;
  }

  aside#search-out.maxed {
    width: calc(100% - 40px);
    margin: 0 20px;
    left: 0;
  }

  ul.sell-buttons-list,
  .sell-button {
    width: 100%;
    box-sizing: border-box;
    white-space: normal;
    height: auto;
  }

  ul.sell-buttons-list > li {
    margin: 10px 0;
  }

  #our-works-link,
  #discount-link,
  #infoblock-placeholder {
    margin: 20px;
    box-sizing: border-box;
    height: auto;
    width: calc(100% - 40px);
  }

  a.sketches {
    width: 100%;
    background-size: contain;
  }

  .video-frame-wrapper {
    width: calc(100% - 10px);
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    padding: 5px;
    margin: 5px;
  }

  .video-frame-wrapper > .video-js {
    width: 100% !important;
  }

  aside#our-production,
  aside#our-stones,
  aside#our-works,
  aside#our-sketches,
  aside#our-fences {
    padding: 20px 10px;
    text-align: center;
  }

  aside#our-fences .product-element,
  aside#our-stones .product-element {
    display: inline-block;
    float: none;
    margin: 5px;
  }

  aside#our-works .gallery-menu-item {
    margin: 5px;
    max-width: calc(100% - 10px);
    box-sizing: border-box;
  }

  .gallery {
    text-align: center;
  }

  .gallery .gallery-item {
    display: inline-block;
    vertical-align: top;
    float: none;
  }

  aside#filters {
    width: 100%;
    margin: 0 0 20px;
  }

  #specification-filters,
  aside#filters + .side-content-wrapper,
  #catalog-out-placeholder,
  .sorting-wrapper,
  #catalog-out-placeholder + .paging,
  .product-params-wrapper,
  .product-color-variants {
    width: 100%;
  }

  #catalog-out-placeholder {
    text-align: center;
  }

  #catalog-out-placeholder .product-element {
    float: none;
    display: inline-block;
    vertical-align: top;
  }

  .content-add {
    float: left;
    width: 100%;
  }

  article .imagewrapper > img,
  .content-add img {
    max-width: 100%;
    height: auto;
  }

  article table {
    display: block;
    width: 100% !important;
    overflow: scroll;
    box-shadow: 0 0 0 1px #ccc, 0 2px 12px rgba(0, 0, 0, 0.2);
  }

  #other-products-carousel {
    visibility: hidden;
    height: 0;
    padding: 0;
    overflow: hidden;
  }

  #cover {
    width: 100%;
    background-size: contain;
    box-sizing: border-box;
    padding: 120px 0 20px;
    background-color: #fefefe;
    height: auto;
    text-align: center;
    border-bottom: 1px solid #eee;
  }

  #cover:after {
    display: none;
  }

  #cover .price-wrapper {
    position: static;
    display: inline-block;
    margin: 20px 0 10px;
    color: #333;
    line-height: 50px;
  }

  .small-product-image-placeholder {
    max-width: 100%;
    margin: 0 0 20px;
  }

  .small-product-image-placeholder .price-wrapper {
    width: 100%;
    box-sizing: border-box;
  }

  .no-overlay-window {
    width: calc(100% - 40px);
    left: 0;
    margin: 0 20px;
    box-sizing: border-box;
  }

  .no-overlay-window .inner-scroller {
    width: 100%;
  }

  ul.elements-list {
    width: 100%;
  }

  #main-content-placeholder .gallery-menu-item,
  #main-content-placeholder .gallery-menu-item .heading {
    max-width: 100%;
  }

  #main-content-placeholder .gallery-menu-item {
    box-sizing: border-box;
    overflow: hidden;
    margin: 0 0 10px;
  }

  #main-content-placeholder .gallery-menu-item .heading {
    white-space: normal;
    height: auto;
    padding: 10px 0;
  }

  .sell-button > a,
  .sell-button > span {
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }

  #precontent-placeholder .video-js {
    display: none;
  }

  #additional-products-placeholder {
    width: auto;
  }

  #additional-products-placeholder #relative-placeholder,
  #additional-products-placeholder #inscription-placeholder,
  #additional-products-placeholder #proposal-placeholder {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    width: 100%;
    max-width: 280px;
    margin: 0;
    border: none;
  }

  #responsive-menu-block span.heading:before {
    position: relative;
    content: "";
    margin: -5px 10px 0 0;
    display: inline-block;
    width: 120px;
    height: 40px;
    background: url(../images/gabriel-logo.svg) no-repeat center center;
    background-size: contain;
    vertical-align: middle;
    filter: invert(1);
  }

  .floated-header .callback-caller {
    margin: 5px 5px 0 0;
  }

  .product-element .buybutton {
    left: 0;
  }

  #banner {
    padding-top: 40px;
  }

  #banner > span {
    margin: 0 !important;
    box-sizing: border-box;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    transform: rotate(0deg) !important;
  }
}

@media screen and (max-width: 480px) {
  .video-schema {
    width: 100%;
  }

  .video-schema iframe {
    width: 100% !important;
    max-width: 100%;
  }

  .one-phone-wrapper {
    position: static;
    display: block;
    width: 100%;
    text-align: center;
  }

  .one-phone-wrapper .callback-caller {
    float: none;
  }

  .one-phone-wrapper .button {
    margin: 0 5px;
  }

  .window#quiz-window {
    left: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
  }

  .window#quiz-window #quiz {
    max-height: 100%;
  }

  aside#our-production .video-frame-wrapper {
    width: calc(100% - 10px) !important;
  }

  .floated-header {
    display: none;
    visibility: hidden;
  }

  .product-element .out-param {
    text-align: left;
  }

  .floated-header > ul.phones {
  }

  #manager-contact {
    float: left;
    clear: both;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0;
    box-sizing: border-box;
  }

  #manager-contact > span:not(.button) {
    display: block;
    width: 100%;
    clear: both;
  }

  .go-top {
    bottom: auto;
    top: 55px;
    left: auto;
    right: 0;
  }

  .go-top:hover {
    bottom: auto;
    top: 55px;
    border-color: #333;
  }
}

@media screen and (max-width: 400px) {
  #responsive-menu-block span.heading:before {
    display: none;
    visibility: hidden;
  }

  .small-product-image-placeholder {
    min-width: 100%;
  }

  .video-schema[itemprop="video"] {
    width: 100%;
    min-width: 100%;
    clear: both;
  }

  section#utp-block {
    flex-wrap: wrap;
  }
}
