@media screen and (max-width: 1520px) {
  .header { width: 944px; }
  .header__contacts {
    display: flex;
    flex-direction: column;
  }
  .header__title {
    width: 100%;
    max-width: 305px;
    font-size: 16px;
    line-height: 19px;
  }
  .header__subtitle {
    margin-top: 0;
    padding-right: 0;
    font-size: 14px;
    line-height: 20px;
  }

  #gHeader, #gContent, #gFooter .top, #gFooter .bottom { width:944px; }

  #gMenu { width:964px; }
  #gMenu .opacityBg.opacityBgMenu { width:944px; }
  #gMenu ul li { margin-right:15px; }
  #gMenu ul li:last-child { margin-right:0; }
  #gPhone { top:18px; right:100px; font-size:26px; }
  .top-navigation__btn--wa { right:40px; }

  #whyWe { width:944px; height:202px; }
  #whyWe #raccordion { width:944px !important; height:202px !important; }
  #whyWe #raccordion .slide { height:202px !important; }
  #whyWe #raccordion .slide img { width:300px !important; }

  .addressesList .addressItem { grid-template-columns: 220px 1fr auto; }
  .addressesList .addressItem .aiPhoto { width:220px; overflow:hidden; }
  .addressesList .addressItem .aiPhoto .aiAddressLink { display:inline-block; }
  .addressesList .addressItem .aiLocation { width:165px; height:255px; }

  .AddressesListWidget .otherAddresses .otherAddressItem { width:437px !important; }
  .AddressesListWidget .rightPart { width:260px !important; }
  .AddressesListWidget .rightPart { width:260px !important; }
  .AddressesListWidget.in-content .otherAddresses .otherAddressItem { width:50% !important; }
  .AddressesListWidget.in-content .infoItem.propsItem { width:100% !important; }
  .AddressesListWidget.in-content .infoItem.propsItem .propItem .propValue { margin-left:30px; }

  #gFooter .footerPartSeparator { margin:30px 24px; }

  #upButton.stopped { right:0; margin-top:-100px; margin-right:initial; }
  #upButton.scrolling { right:20px; margin-right:initial; }

  #bottomArea .leftPart,
  #bottomArea .rightPart { width:47% !important; }

  #letters { display:flex; justify-content: space-around; padding-left:0 !important; }
  #letters .letterItem { float:none !important; margin:0 !important; }
  #letters .clear { display:none !important; }

  #pageBody img { max-width:100% !important; }

  #noService { height:260px; }

  .servicesList .serviceItem .content { width:auto; }
  .servicesList .serviceItem .header { width:380px; padding:20px 20px 20px 85px; }

  #noServiceBg { width:100%; }

  #service .serviceText { float:none !important; width:100% !important; }
  #service .serviceOrder { float:none !important; display:flex; align-items:center; width:100% !important; }
  #service .serviceOrder .price { margin:0 20px 0 0 !important; }

  #addressHeading { width:650px !important; }
  #cInfo .infoItem.propsItem { width:490px; }
  #cInfo .infoItem.priceItem { width:250px; padding:30px; }
  #cDescription .leftPart { width:490px; }
  #cOptions .optionItem { width:167px; padding:30px 0 30px 85px; font-size:20px; background-size:90px; }

  #specialPanel { width:940px; background-position:center; }
  #specialPanel .leftPart { margin-left:50px; }
  #specialPanel .rightPart { margin-right:50px; }
  #specialDescription { width:940px; box-sizing:border-box; }

  .md-modal {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-width: initial;
    min-width: initial;
    padding: 0 15px;
    overflow: auto;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    transform: none;
    box-sizing: border-box;
  }
  .md-content {
    width: 50%;
    max-width: 630px;
    min-width: 280px;
    margin:100px auto;
  }

  .autolinks { margin-top:-35px; }
}

@media screen and (max-width: 1023px) {
  #topline { display:flex; }

  .header {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .header__contacts { display: none; }
  .header__main {
    grid-template-columns: auto 1fr;
    gap: 20px 15px;
  }
  .header__logo { grid-row: 1; }
  .header__logo img { max-width: 131px; }
  .header__title {
    display: flex;
    align-items: center;
  }
  .header__subtitle {
    grid-column: 1 / span 2;
    grid-row: 2;
    font-size: 18px;
    line-height: 23px;
  }
  .header__cta-container {
    grid-column: 1 / span 2;
    grid-row: 3;
  }
  .header-cta__btn {
    width: 100%;
    margin-top: 10px;
  }

  #gHeader, #gContent, #gFooter .top, #gFooter .bottom { width:auto; }
  #gHeader { height:auto; padding-bottom:0; }
  .toplineContacts,
  .toplineIcons,
  .toplineIcons + .clear { display:none; }

  #gMenu { display: none; }

  #gHeaderLeft { float:none; width: 100%; padding-bottom:0; text-align:center; }
  #gHeaderCenter { display:none; }
  #gHeaderRight { float:none; margin:0 -15px; padding:20px 15px; background-color:rgba(0,0,0,0.5); }
  #gHeaderRight + .clear { display:none;}
  #gHeaderToolsWrapper { padding:0; background:none; }

  #gWrapper #logo { width:100%; max-width:390px; margin-top:10px; }

  .IfnsSelectWidget { width:100%; height:70px; }
  .IfnsSelectWidget .ifnsSelect { position:relative; top:initial; left:initial; width:100%; }
  .IfnsSelectWidget .selectResult { width:100%; top:55px; left:0; }
  .IfnsSelectWidget .selectResult .ifnsItem:hover { width:auto; box-sizing:border-box; margin-right:-6px; margin-left:-6px; }
  #gHeader .consultationButton { width:100%; padding:13px 10px 13px 60px; line-height:1; text-align:left; background-position-x:20px; }

  #whyWe { width:auto; height:auto; margin:0 -15px; padding-bottom:50px; background-color:rgba(0,0,0,0.5); }
  #whyWe #raccordion { display:flex; flex-wrap:wrap; width:100% !important; height:auto !important; }
  #whyWe #raccordion .slide {
    position: initial !important;
    float: none !important;
    width: 50% !important;
    height: auto !important;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  #whyWe #raccordion .slide img { display:none !important; }
  #whyWe #raccordion .slide .caption { position:initial !important; display:block; opacity:1 !important; font-size:14px; font-weight:bold; text-align:left; color:#fff; background:none; }

  #upButton { display:none !important; }

  .addressesList .addressItem { grid-template-columns: 1fr; margin-bottom:25px; padding:0; }
  .addressesList .addressItem .aiPhoto { float:none; width:100%; }
  .addressesList .addressItem .aiPhoto .aiAddressLink { display:block; height:210px; }
  .addressesList .addressItem .aiPhoto img { display:block; width:auto; min-width:100%; height:auto; min-height:100%; margin:0 auto; }
  .addressesList .addressItem .aiContent { float:none; width:100%; padding: 25px 15px; box-sizing:border-box; background-color:#fff; box-shadow:0 4px 15px rgba(0,0,0,0.15); }
  .addressesList .addressItem .aiProps { width:100%; box-sizing:border-box; }
  .addressesList .addressItem .priceBlock { width:auto; font-weight:bold; text-align:left; }
  .addressesList .addressItem .orderBlock { float:none; }
  .addressesList .addressItem .orderButton { width:100%; box-sizing:border-box; padding:10px; text-align:center; }
  .addressesList .addressItem .orderItemLink { float:none; margin-top:10px; margin-left:0; text-align:center; }
  .addressesList .addressItem .aiLocation { display:none; }

  .AddressesListWidget .otherAddresses .otherAddressItem { float:none !important; width:100% !important; padding:0 !important; box-sizing:border-box; }
  .AddressesListWidget .leftPart,
  .AddressesListWidget .rightPart { float:none !important; width:100% !important; box-sizing:border-box; }
  .AddressesListWidget .leftPart { height:200px !important; overflow:hidden; }
  .AddressesListWidget .leftPart img { width:auto; min-width:100%; height:auto; min-height:100%; }
  .AddressesListWidget .rightPart { margin:0 !important; padding:20px; }
  .AddressesListWidget .infoItem.propsItem { width:100%; box-sizing:border-box; }
  .AddressesListWidget.in-content .otherAddresses .otherAddressItem { width:100% !important; height:auto !important; }
  .AddressesListWidget.in-content .rightPart { margin:0 !important; padding:20px 0; }

  #indexText { padding:0; font-size:15px; }
  #indexText h2,
  #indexText h1 { margin-bottom:20px; font-size:24px; font-weight:bold; line-height:1; border:none; }

  #gFooter .bottom { display: block; }
  #gFooterBottomLeft,
  #gFooterBottomCenter,
  #gFooterBottomRight { float:none; width:auto; }
  #gFooter .top { display:none; }
  #gFooterBottomCenter { margin-top:20px; }

  #gFooterBottomRight .copyright { margin-top:20px; }

  #gSidebar { display:block; }

  .breadcrumbs { margin-top:25px !important; padding-left:0!important; }

  #pageHeader { padding:15px !important; }
  #pageContent.cleanMode { padding:20px !important; }
  #pageContent h1 { margin-bottom:20px !important; font-size:24px !important; font-weight:bold; line-height:1; border:none !important; }

  #mapArea { margin:20px -15px !important; }
  #YMapsID { height:250px !important; }

  #bottomArea .leftPart,
  #bottomArea .rightPart { float:none !important; width:100% !important; }

  #pageBody { padding: 10px 15px 10px 15px !important; font-size:16px; }
  #pageBody p { text-align:left !important; }
  div.beautifulArea { margin:0 -15px; padding:15px; }

  .md-modal { max-height:100%; overflow:auto; }
  .md-content > .md-body { padding: 10px; }

  .ulaImage,
  .managerImage { display:none; }
  ul.beautifulList { margin:0 -15px 20px -15px !important; }
  .seeCatalog .orderButton { padding:15px 25px !important; }
  #terms { width:100% !important; }
  #terms .column { float:none !important; margin:0 !important; text-align:left !important; }
  .AddressesListWidget .partHeading { margin:30px 0 !important; font-size:24px !important; border:none !important; }

  div.block { height:auto !important; padding:20px 15px !important; }
  div.item { width:auto !important; }
  div.oneitem,
  div.twoitem { float:none !important; margin-left:0 !important; padding:0 !important; border:none !important; }
  div.oneitem ul,
  div.twoitem ul { margin-bottom:0 !important; }

  #pageBody img { width:100%; max-width:100%; height:auto; padding:0 !important; }

  #letters { flex-direction:column; margin:0 -15px !important; padding:15px !important; }
  #letters .letterItem { margin-bottom:20px !important; }
  #letters .letterItem img { height:auto !important; }

  #partners .partner { width:100% !important; box-sizing:border-box; margin-left:0 !important; }
  #partners .partner .heading img { float:none !important; height:auto !important; }
  #partners .partner .heading a { display:inline-block !important; float:none !important; margin-top:10px !important; margin-left:0 !important; }

  .printer { display:none !important; }

  #noServiceBg { display:none; }
  #noServiceHuman { left:0 !important; padding:0 !important; background:none !important; }
  #noServiceHuman .content { margin-top:20px; }

  .servicesList .serviceItem { background:none !important; }
  .servicesList .serviceItem .content { padding:10px 15px 20px 15px; box-shadow:none; }
  .servicesList .serviceItem .header { width:100%; padding:20px 0 20px 85px; box-sizing:border-box; }
  .servicesList .serviceItem .body { padding:0; font-size:16px; }
  .servicesList .serviceItem .rightPart { position:initial; padding:0 15px 20px 15px; background-color:#fff; }
  .servicesList .serviceItem .rightPart .price { float:none; text-align:center; border:none; }
  .servicesList .serviceItem .rightPart .orderServiceButton { float:none; width:100%; text-align:center; box-sizing:border-box; }

  #service .serviceText p { font-size:16px; text-align:left !important; }
  #service .serviceOrder { flex-direction:column; }
  #service .serviceOrder .price { width:100% !important; margin:0 !important; box-sizing:border-box; }
  #service .serviceOrder .orderButton { width:100% !important; margin-top:15px; box-sizing:border-box; }

  #card { margin:0 -15px; }
  #card #cHeader { padding:30px 15px !important; }
  #card #cInfo { padding:30px 15px !important; }
  #card #cInfo .infoItem.propsItem { width:100% !important; }
  #addressHeading { float:none; width:100% !important; }
  #switchView { float:none; margin-top:20px; }
  #card #cView { padding:0; }
  #addressTour3D,
  #addressTour3D iframe { height:300px !important; }

  .GalleryWidget .leftSide img { max-width:100%; height:auto; }
  .GalleryWidget .rightSide { float:none !important; margin-left:0 !important; }
  #galleryCarousel { display:flex; flex-direction:row; width:100% !important; height:auto !important; }
  #galleryCarousel li { position:initial !important; width:25% !important; padding:5px; box-sizing:border-box; }
  #galleryCarousel img { max-width:100%; height:auto; }
  #ui-carousel-next,
  #ui-carousel-prev { display:none; }

  #cInfo .infoItem { float:none; }
  #cInfo .infoItem.propsItem .propItem { margin-bottom:15px; font-size:16px; line-height:1; border:none; }
  #cInfo .infoItem.propsItem .propItem .propKey { float:none; }
  #cInfo .infoItem.propsItem .propItem .propValue { float:none; margin-top:5px; }
  #cInfo .infoItem.priceItem { float:none; width:auto; margin:20px -15px 0 -15px; }

  #cDescription { padding:0 15px; font-size:16px; background:none; }
  #cDescription .leftPart { float:none; width:auto; }
  #cDescription .leftPart p { text-align:left !important; }
  #cDescription .rightPart { float:none; width:auto; }
  #cDescription .docsBg { width:auto; padding-left:0; background-position:center top; background-size:contain; }
  #cDescription .docsBg .DocsWidget { text-align:center; }

  #cOptions { display:flex; flex-wrap:wrap; padding:30px 15px; }
  #cOptions .optionItem {
    float: none;
    width: 50%;
    height: auto;
    margin-bottom: 15px;
    margin-left: 0;
    padding: 85px 10px 0 10px;
    box-sizing: border-box;
    font-size: 14px;
    text-align: center;
    background-position: center top;
  }
  #cCalculator { padding:30px 15px; }
  #cCalculator .leftPart,
  #cCalculator .rightPart { float:none; width:100%; }
  #cCalculator .rightPart { margin-top:20px; }
  #cCalculator .leftPart .row.price.stock #priceBox .tag,
  #cCalculator .customToggle .customLabel { width:100%; box-sizing:border-box; }
  #cCalculator input[type="text"], #cCalculator textarea { width:100%; box-sizing:border-box; }
  #cCalculator .orderButton { width:100%; box-sizing:border-box; }
  #priceBox { padding-bottom:15px; }

  #consultationPopup .popupComment,
  #orderAddress1ClickPopup .popupComment { padding:0; }

  ul.beautifulList { padding:20px 15px !important; }
  ul.beautifulList li { padding:15px 20px 15px 50px; background-position:left center; }

  #orderService input[type="text"],
  #orderService textarea { width:100%; box-sizing:border-box; }
  #orderService input[type="text"],
  #orderService input[type="submit"],
  #orderService textarea { width:100% !important; box-sizing:border-box !important; }

  #alphabet { flex-wrap:wrap; justify-content:center !important; }
  #alphabet a { width:55px !important; text-align:center; }

  #searchIfns input[type="text"] { width:100%; margin-bottom:10px; box-sizing:border-box; }
  .orderButton { width:100%; box-sizing:border-box; }

  #specialPanel { width:auto; min-height:initial; margin:0 -15px 30px; padding: 20px 15px; background:#fff; box-shadow:none; }
  #specialPanel .heading { padding:0; text-align:left; }
  #specialPanel .heading h1 { font-size:24px; }
  #specialPanel .leftPart { float:none; width:100%; margin:0; font-size:16px; }
  #specialPanel .rightPart { float:none; width:100%; margin: 10px 0 0 0; font-size:16px; }
  #specialPanel .rightPart .select2-container { width:100% !important; }

  #specialDescription { width:auto; margin:0 -15px; padding:20px 15px; font-size:16px; }

  .autolinks { position:initial; margin-top:20px; padding:0; }
}
