@import url('../fonts/stylesheet.css');

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
body {
  font-family: 'Montserrat', Arial, Sans-serif;
  font-size: 15px;
  line-height: 20px;
  color: #1B1C1E;
}
a{
  color: #F9C208;
  transition: ease 0.25s all;
  -webkit-transition: ease 0.25s all;
  -o-transition: ease 0.25s all;
  -moz-transition: ease 0.25s all;
}
a:hover, a:focus, a:active, a:visited{
  color: #F9C208;
}

.inter {
  font-family: 'HelveticaNeueCyr', sans-serif;
}

.colored {
  color: #F9C208;
}
.decor {
  display: block;
  height: 40px;
  min-width: 58px;
  background-repeat: no-repeat;
  background-position: right center;
  position: absolute;
}
.decor.decorGray {
  background-image: url('../images/decor/decorGray.svg');
}
.decor.decorWhite {
  background-image: url('../images/decor/decorWhite.svg');
}
.decor.decorDark {
  background-image: url('../images/decor/decorDark.svg');
}
.decor.decorGraySmall {
  background-image: url('../images/decor/decorGraySmall.svg');
}
.decor.decorWhiteSmall {
  background-image: url('../images/decor/decorWhiteSmall.svg');
}
.decor.decorGrayLong {
  background-image: url('../images/decor/decorGrayLong.svg');
}
.decor.decorYellow {
  background-image: url('../images/decor/decorYellow.svg');
}
.btn{
  display: inline-block;
  height: 52px;
  line-height: 50px;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #1B1C1E;
  border: 1px solid #DEDEDE;
	transition: ease 0.25s all;
	-webkit-transition: ease 0.25s all;
	-o-transition: ease 0.25s all;
	-moz-transition: ease 0.25s all;
  background: #fff;
  position: relative;
  padding-left: 32px;
  padding-right: 32px;
  border-radius: 52px;
  text-transform: uppercase;
  position: relative;
}
.btn:focus, .btn:active, .btn:visited{
  text-decoration: none;
  outline: none;
}
.btn:hover{
  text-decoration: none;
  color: #1B1C1E;
}
.btn.btnArrow {
  padding-right: 150px;
}
.btn.btnArrow:after {
  content: "";
  width: 38px;
  height: 38px;
  background: #FFD340 url('../images/ico/btnArrow.svg') center no-repeat;
  border-radius: 38px;
  display: block;
  right: 9px;
  top: 6px;
  position: absolute;
}
.btn.btnArrow:hover {
  background: #FFD340;
  border: 1px solid #FFD340;
}

input {
  outline: 0;
}
input:focus {
  outline: 0;
}
input[type=text]{

}
input[name=name]{

}
input[name=phone]{

}
input[name=email]{

}

.container {
  width: 100%;
  max-width: 1320px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
  position: relative;
}

header.header {
  padding-top: 74px;
  padding-bottom: 199px;
  background: url('../images/promo.png') center top no-repeat;
  color: #fff;
  position: relative;
  background-size: cover;
}
header.header .headerTop {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
header.header .logo {
  text-decoration: none;
}
header.header .logo img {
  max-width: 170px;
}
header.header .navigation {
  display: flex;
  flex-wrap: wrap;
}
header.header .navigation a {
  margin-left: 20px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  line-height: 22px;
  font-weight: 800;
}
header.header .navigation a:hover, header.header .navigation a.active {
  border-bottom: 2px solid #F9C208;
}
header.header .navigation a.closeMobileMenu {
  display: none;
  width: 47px;
  height: 47px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-radius: 47px;
  margin-left: 0;
  right: 21px;
  top: 31px;
  background: #F8F8F8;
  position: absolute;

}
header.header .showMobileMenu {
  display: none;
}
header.header .headerMiddle {
  padding-top: 128px;
}
header.header .headerMiddle .headerMiddlePromo {
  max-width: 734px;
  position: relative;
}
header.header .headerMiddle .headerMiddlePromo .middlePromoTitle {
  font-size: 68px;
  line-height: 66px;
  text-transform: uppercase;
  text-shadow: 0px 4px 20px rgba(0,0,0,0.4);
  font-weight: 900;
}
header.header .headerMiddle .headerMiddlePromo .middlePromoText {
  padding-top: 21px;
  font-size: 29px;
  line-height: 36px;
  text-transform: uppercase;
  font-weight: 700;
  padding-right: 20%;
}
header.header .headerMiddle .headerMiddlePromo .middlePromorotate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 20px;
  top: -110px;
}
header.header .headerMiddle .headerMiddlePromo .middlePromorotate img.rotatePromo {
  position: absolute;
  width: 123px;
  height: 123px;
  object-fit: contain;
  -webkit-animation: rotating 7s linear infinite;
  -moz-animation: rotating 7s linear infinite;
  -ms-animation: rotating 7s linear infinite;
  -o-animation: rotating 7s linear infinite;
  animation: rotating 7s linear infinite;
}
header.header .headerMiddleLanguage {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  right: 15px;
  top: 157px;
  width: 78px;
  align-items: center;
}
header.header .headerMiddleLanguage a {
  height: 48px;
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  color: #fff;
  background: #85858580;
  margin-bottom: 10px;
  font-weight: 700;
}
header.header .headerMiddleLanguage a.active {
  background: #F9C208;
  color: #000;
}
header.header .headerMiddleLanguage .headerMiddleLanguageChoose {
  color: #9A9A9A;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
}

.mainAbout {
  padding-top: 108px;
  padding-bottom: 128px;
  position: relative;
}
.mainAbout .mainAboutWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mainAbout .mainAboutWrap .mainAboutLeft {
  width: calc(100% - 750px);
  padding-right: 110px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftTitle {
  color: #F9C208;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftTitle:after {
  width: 90px;
  height: 2px;
  background: #F9C208;
  content: "";
  display: block;
  margin-left: 30px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftPromo {
  position: relative;
  margin-top: 30px;
  font-size: 42px;
  line-height: 43px;
  font-weight: 900;
  text-transform: uppercase;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftPromo .mainAboutLeftPromoText {
  position: relative;
  z-index: 1;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftPromo .decor {
  width: 228px;
  right: 39px;
  bottom: -16px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftImage {
  display: none;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftText {
  margin-top: 49px;
  font-size: 15px;
  line-height: 22px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftSmall {
  margin-top: 32px;
  line-height: 23px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftSmall ol {
  padding-left: 20px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftSmall ol li {
  margin-bottom: 14px;
}
.mainAbout .mainAboutWrap .mainAboutLeft .mainAboutLeftSmall ol li b {
  text-transform: uppercase;
  font-weight: 900;
}
.mainAbout .mainAboutWrap .mainAboutLeft .btn {
  margin-top: 35px;
}
.mainAbout .mainAboutWrap .mainAboutRight {
    width: 750px;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: -133px;
  margin-bottom: -80px;
  z-index: 1;
  position: relative;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem {
  padding-top: 36px;
  padding-bottom: 40px;
  padding-left: 53px;
  padding-right: 48px;
  justify-content: space-between;
  display: flex;
  width: 300px;
  height: 268px;
  background: #F9C208;
  margin-left: 19px;
  box-shadow: 0px 4px 50px 0px #00000026;
  flex-direction: column;
  flex-wrap: wrap;
  color: #fff;
  font-size: 14px;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem:last-child {
  background: #fff;
  color: #1B1C1E;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem .mainAboutRightAdvantagesItemIco {
  text-align: right;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem .mainAboutRightAdvantagesItemTitle {
  font-size: 54px;
  line-height: 39px;
  font-weight: 800;
  border-bottom: 2px solid #FFFFFF;
  text-transform: uppercase;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem:last-child .mainAboutRightAdvantagesItemTitle {
  border-bottom: 2px solid #F1BA00;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem .mainAboutRightAdvantagesItemTitle span {
  font-size: 15px;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightAdvantages .mainAboutRightAdvantagesItem .mainAboutRightAdvantagesItemText {
  font-weight: 700;
  text-transform: uppercase;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightImage {
  position: relative;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightImage img {
  max-width: 630px;
}
.mainAbout .mainAboutWrap .mainAboutRight .mainAboutRightImage .decor {
  width: 228px;
  right: 160px;
  bottom: -20px;
}

.mainGallery {

}
.mainGallery .mainGalleryWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mainGallery .mainGalleryWrap .mainGalleryItem {
  height: 305px;
  width: calc(25% - 4px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: ease 0.5s all;
  cursor: pointer;
  box-shadow: 0px 2px 30px 0px #00000026;
  overflow: hidden;
}
.mainGallery .mainGalleryWrap .mainGalleryItem img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(100%);
  transition: ease 0.5s all;
  object-fit: cover;
}
.mainGallery .mainGalleryWrap .mainGalleryItem img.colorImage {
  opacity: 0;
}
.mainGallery .mainGalleryWrap .mainGalleryItem .mainGalleryItemText {
  color: #fff;
  font-size: 19px;
  line-height: 24px;
  font-weight: 700;
  position: relative;
  z-index: 1;
  text-align: center;
  transition: ease 0.5s all;
  text-transform: uppercase;
}
.mainGallery .mainGalleryWrap .mainGalleryItem:hover {
  z-index: 1;
}
.mainGallery .mainGalleryWrap .mainGalleryItem:hover img.colorImage {
  opacity: 1;
}
.mainGallery .mainGalleryWrap .mainGalleryItem:hover img {
  filter: grayscale(0%);
  transform: scale(1.1);
}
.mainGallery .mainGalleryWrap .mainGalleryItem:hover .mainGalleryItemText {

}

.mainBeams {
  margin-top: 145px;
  padding-bottom: 120px;
  position: relative;
  background: #fff;
}
.mainBeams:after {
  content: "";
  width: 63%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #F3F5F9;
}
.mainBeams .mainBeamsDecorTop {
  width: 160px;
  top: 0;
  left: 0;
}
.mainBeams .mainBeamsTitle {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
.mainBeams .mainBeamsTitle .mainBeamsTitleText {
  font-size: 48px;
  line-height: 45px;
  font-weight: 900;
  text-transform: uppercase;
}
.mainBeams .mainBeamsTitle .mainBeamsTitleSubtitle {
  padding-left: 80px;
  color: #F9C208;
  font-weight: 700;
  font-size: 18px;
  line-height: 17px;
}
.mainBeams .mainBeamsTitle .mainBeamsTitleSubtitle:before {
  width: 90px;
  height: 2px;
  background: #F9C208;
  content: "";
  margin-right: 25px;
  display: inline-block;
  vertical-align: middle;
}
.mainBeams .mainBeamsItems {
  position: relative;
  z-index: 1;
  padding-top: 63px;
  display: flex;
  flex-wrap: wrap;
}
.mainBeams .mainBeamsItems .mainBeamsItem {
  width: 480px;
  margin-right: 62px;
}
.mainBeams .mainBeamsItems .mainBeamsItem img {
  width: 100%;
  max-width: 100%;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName {
  margin-top: 65px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName .decor {
  width: 120px;
  top: -30px;
  left: -55px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName .mainBeamsItemNameValue {
  font-size: 30px;
  line-height: 28px;
  font-weight: 900;
  position: relative;
  z-index: 1;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName .label {
  width: 73px;
  height: 28px;
  text-align: center;
  line-height: 28px;
  font-size: 14px;
  margin-top: -20px;
  margin-left: 20px;
  font-weight: 800;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName .label.eco {
  background: url('../images/decor/labelEco.svg') center no-repeat;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemName .label.pro {
  background: url('../images/decor/labelPro.svg') center no-repeat;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemDescription {
  margin-top: 12px;
  font-size: 16px;
  line-height: 22px;
  padding-right: 135px;
  min-height: 45px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-top: 22px;
  padding-right: 116px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList .mainBeamsItemListItem {
  padding: 24px 0;
  border-bottom: 1px solid #E9E9E9;
  font-size: 13px;
  line-height: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding-right: 50px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList .mainBeamsItemListItem:first-child {
  border-top: 1px solid #E9E9E9;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList .mainBeamsItemListItem:before {
  width: 39px;
  height: 39px;
  border-radius: 39px;
  content: "";
  display: inline-block;
  border: 1px solid #C1C1C1;
  background: url("../images/ico/diagonalArrow.svg") center no-repeat;
  margin-right: 17px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList .mainBeamsItemListItem span {
  width: calc(100% - 60px);
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemList .mainBeamsItemListItem p {
  padding-left: 60px;
  padding-top: 10px;
  color: #747474;
  font-style: italic;
  font-size: 14px;
  line-height: 19px;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemPdf {
  margin-top: 39px;
  width: 364px;
  height: 52px;
  line-height: 52px;
  border-radius: 52px;
  background: #FFD340;
  text-transform: uppercase;
  font-size: 14px;
  text-decoration: none;
  font-weight: 700;
  color: #1B1C1E;
  display: block;
  padding-left: 32px;
  position: relative;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemPdf:after {
  content: "";
  width: 38px;
  height: 38px;
  background: #fff url('../images/ico/downloadArrow.svg') center no-repeat;
  border-radius: 38px;
  display: block;
  right: 9px;
  top: 7px;
  position: absolute;
  transition: ease 0.25s all;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemPdf:hover {
  background: #F9C208;
}
.mainBeams .mainBeamsItems .mainBeamsItem .mainBeamsItemPdf:hover:after {
  background-color: #F9C208;
}
.mainBeams .mainBeamsDecorBottom {
  width: 346px;
  bottom: -20px;
  right: 0;
  z-index: 1;
}

.mainPlan {
  padding-top: 153px;
}
.mainPlan .mainPlanTitle {
  position: relative;
}
.mainPlan .mainPlanTitle .decor {
  width: 170px;
  top: -15px;
  left: -70px;
}
.mainPlan .mainPlanTitle .mainPlanTitleText {
  font-size: 48px;
  line-height: 45px;
  font-weight: 900;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.mainPlan .mainPlanTitle .mainPlanTitleDescription {
  margin-top: 26px;
  padding-right: 500px;
}
.mainPlan .mainPlanTitle .mainPlanTitleImage {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -20px;
  left: 640px;
}
.mainPlan .mainPlanTitle .mainPlanTitleImage img.bestChoiseRotate{
  width: 138px;
  height: 138px;
  object-fit: cover;
  position: absolute;
  -webkit-animation: rotating 7s linear infinite;
  -moz-animation: rotating 7s linear infinite;
  -ms-animation: rotating 7s linear infinite;
  -o-animation: rotating 7s linear infinite;
  animation: rotating 7s linear infinite;
}
.mainPlan .mainPlanColumns {
  padding-top: 64px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mainPlan .mainPlanColumns .mainPlanColumnImage {
  width: 574px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mainPlan .mainPlanColumns .mainPlanColumnImage img {
  max-width: 100%;
  object-fit: contain;
  width: 430px;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem {
  width: calc(50% - 287px);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 36px;
  align-items: center;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine .mainPlanColumnItemLineImage {
  width: 110px;
  height: 110px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #EDEFF3;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine .mainPlanColumnItemLineImage img {

}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine .mainPlanColumnItemLineText {
  width: calc(100% - 110px);
  padding-left: 29px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine .mainPlanColumnItemLineText .name {
  font-size: 18px;
  line-height: 17px;
  font-weight: 700;
}
.mainPlan .mainPlanColumns .mainPlanColumnItem .mainPlanColumnItemLine .mainPlanColumnItemLineText .description {
  margin-top: 6px;
  font-size: 13px;
  line-height: 16px;
  color: #4C4E52;
}

.mainTrust {
  padding-bottom: 143px;
  background: #F3F5F9;
}
.mainTrust .mainTrustTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 77px;
}
.mainTrust .mainTrustTitle .mainBeamsTitleText {
  font-size: 48px;
  line-height: 45px;
  font-weight: 900;
  text-transform: uppercase;
}
.mainTrust .mainTrustTitle .mainBeamsTitleSubtitle {
  padding-left: 60px;
  color: #F9C208;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
}
.mainTrust .mainTrustTitle .mainBeamsTitleSubtitle:before {
  width: 80px;
  height: 2px;
  background: #F9C208;
  content: "";
  margin-right: 25px;
  display: inline-block;
  vertical-align: middle;
}
.mainTrust .mainTrustScrollingWrap {
  display: flex;
  flex-wrap: wrap;
  padding-top: 75px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigationWrap {
  width: 325px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigation {
  padding-top: 100px;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.mainTrust .mainTrustScrollingWrap .sticky {
  position: fixed;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigation .mainTrustNavigationItem {
  margin-bottom: 48px;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigation .mainTrustNavigationItem.active:before {
  position: absolute;
  top: 8px;
  left: -186px;
  width: 160px;
  height: 2px;
  background: #F9C208;
  content: "";
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigation .mainTrustNavigationItem .number {
  color: #F9C208;
  font-size: 18px;
  line-height: 20px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingNavigation .mainTrustNavigationItem .name {
  font-size: 20px;
  line-height: 20px;
  padding-left: 15px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent {
  width: calc(100% - 325px);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem {
  margin-bottom: 147px;
  height: 461px;
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  padding-left: 50px;
  padding-right: 50px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentNavigationItem {
  display: none;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem .bgImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0px;
  top: 0;
  max-width: 820px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem .mainTrustContentItemDescription {
  position: absolute;
  z-index: 1;
  width: 386px;
  height: 246px;
  box-shadow: 0px 0px 30px 0px #0000001A;
  background: #fff;
  padding-left: 42px;
  padding-right: 42px;
  padding-top: 38px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  left: 50px;
  bottom: -60px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem .mainTrustContentItemDescription .ico {}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem .mainTrustContentItemDescription .text {
  padding-top: 23px;
  font-size: 15px;
  line-height: 20px;
}
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent .mainTrustContentItem .decor {
  width: 170px;
  bottom: -18px;
  right: 53px;
}

.mainReviews {
  min-height: 653px;
  padding-top: 114px;
  padding-bottom: 135px;
}
.mainReviews .mainReviewsWrap {
  display: flex;
  flex-wrap: wrap;
}
.mainReviews .mainReviewsImage {
  background: url("../images/content/what.png") left top no-repeat;
  width: 566px;
  height: 653px;
  position: relative;
}
.mainReviews .mainReviewsImage .decor {
  width: 180px;
  top: 36px;
  left: -80px;
}
.mainReviews .mainReviewsContent {
  width: calc(100% - 466px);
  margin-left: -100px;
  padding-top: 40px;
}
.mainReviews .mainReviewsContent .mainReviewsContentTitle {
  position: relative;
  z-index: 1;
  padding-left: 175px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.mainReviews .mainReviewsContent .mainReviewsContentTitle .mainBeamsTitleSubtitle {
  color: #F9C208;
  font-weight: 700;
  font-size: 16px;
  line-height: 15px;
}
.mainReviews .mainReviewsContent .mainReviewsContentTitle .mainBeamsTitleSubtitle:after {
  width: 40px;
  height: 2px;
  background: #F9C208;
  content: "";
  margin-left: 25px;
  display: inline-block;
  vertical-align: middle;
}
.mainReviews .mainReviewsContent .mainReviewsContentTitle .mainPlanTitleText {
  margin-top: 26px;
  font-size: 42px;
  line-height: 40px;
  font-weight: 900;
  text-transform: uppercase;
  padding-bottom: 36px;
  position: relative;
}
.mainReviews .mainReviewsContent .mainReviewsContentTitle .mainPlanTitleText:after{
  position: absolute;
  width: 350px;
  height: 4px;
  background: #F9C208;
  content: "";
  left: 0px;
  bottom: 0;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap {
  padding: 78px 97px 8px 97px;
  position: relative;
  background: #fff;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider {
  position: relative;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .slick-track {
  display: flex;
  flex-wrap: wrap;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSliderControls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  padding-top: 40px;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSliderControls .mainReviewsSliderControlsLink {
  width: 48px;
  height: 48px;
  border-radius: 48px;
  background: #F3F5F9 url("../images/ico/sliderArrow.svg") center no-repeat;
  cursor: pointer;
  font-size: 0;
  border: none;
  z-index: 10;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSliderControls .mainReviewsSliderControlsLink.prevSlider {
  margin-right: 8px;
  transform: rotate(180deg);
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSliderControls .mainReviewsSliderControlsLink.nextSlider {

}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSliderControls .mainReviewsSliderControlsLink:hover {
  background-color: #F9C208;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemText {
  font-size: 24px;
  line-height: 32px;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient {
  margin-top: 67px;
  display: flex;
  flex-wrap: wrap;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient .mainReviewsSliderItemClientImage {
  width: 60px;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient .mainReviewsSliderItemClientImage img {
  max-width: 60px;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient .mainReviewsSliderItemClientInfo {
  width: calc(100% - 60px);
  padding-left: 32px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient .mainReviewsSliderItemClientInfo .mainReviewsSliderItemClientInfoName {
  font-size: 18px;
  line-height: 20px;
  font-weight: 600;
}
.mainReviews .mainReviewsContent .mainReviewsContentWrap .mainReviewsSlider .mainReviewsSliderItem .mainReviewsSliderItemClient .mainReviewsSliderItemClientInfo .mainReviewsSliderItemClientInfoCompany {
  margin-top: 10px;
  font-size: 14px;
  line-height: 14px;
}

.mainMap {
  margin-top: 50px;
}
.mainMap .mainMapWrap {
  display: flex;
  flex-wrap: wrap;
}
.mainMap .mainMapWrap .mainMapWrapLeft {
  width: 675px;
  height: 355px;
  background: url("../images/map.svg") center no-repeat;
  position: relative;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint {
  width: 12px;
  height: 12px;
  background-color: #aaa;
  border-radius: 100%;
  position: absolute;
  z-index: 1;
  -ms-transition: all ease .3s;
  -o-transition: all ease .3s;
  -moz-transition: all ease .3s;
  -webkit-transition: all ease .3s;
  transition: all ease .3s;
  cursor: pointer;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active {
  background-color: #F1BA00;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover {
  /*
  -ms-transform: scale(2);
  -o-transform: scale(2);
  -moz-transform: scale(2);
  -webkit-transform: scale(2);
  transform: scale(2);
  */
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100%;
  width: 12px;
  height: 12px;
  background-color: #aaa;
  z-index: 0;
  pointer-events: none;
  -webkit-animation: pp-glow 2s infinite;
  animation: pp-glow 2s infinite;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active:after {
  background-color: #F1BA00;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint1 {
  left: 275px;
  top: 180px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint2 {
  left: 332px;
  top: 71px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint3 {
  left: 335px;
  top: 56px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint4 {
  left: 340px;
  top: 90px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint5 {
  left: 347px;
  top: 81px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint6 {
  left: 350px;
  top: 62px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint7 {
  left: 360px;
  top: 91px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint8 {
  left: 370px;
  top: 111px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint9 {
  left: 383px;
  top: 87px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint10 {
  left: 392px;
  top: 98px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint11 {
  left: 407px;
  top: 135px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint12 {
  left: 438px;
  top: 103px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.mapPoint13 {
  left: 458px;
  top: 88px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData {
  position: absolute;
  font-size: 12px;
  font-weight: 500;
  width: 85px;
  padding: 5px;
  border: 1px solid #000;
  background-color: #fff;
  bottom: 36px;
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  transition: all ease-in-out .2s;
  left: -36px;
  text-align: center;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData {
  opacity: 1 !important;
  padding: 0;
  border: none;
  background: transparent;
  bottom: 8px;
  left: -20px;
  width: auto;
}

.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData:after {
  content: "";
  position: absolute;
  background-color: #000;
  width: 1px;
  height: 0;
  left: 50%;
  top: 100%;
  transition: all ease-in-out .2s;
  height: 32px;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData:after {
  display: none !important;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover .pointData {
  opacity: 1;
}
.mainMap .mainMapWrap .mainMapWrapRight {
  width: calc(100% - 675px);
  padding-left: 90px;
  background: url("../images/ico/delivery.svg") right top no-repeat;
}
.mainMap .mainMapWrap .mainMapWrapRight .mainMapWrapRightTitle {
  margin-top: 81px;
  font-size: 42px;
  line-height: 40px;
  font-weight: 900;
  text-transform: uppercase;
}
.mainMap .mainMapWrap .mainMapWrapRight .mainMapWrapRightText {
  padding-top: 23px;
  font-size: 16px;
  line-height: 23px;
  padding-right: 120px;
}
.mainMap .mainMapWrap .mainMapWrapRight .mainMapWrapRightContacts {
  margin-top: 52px;
  font-size: 19px;
  font-weight: 900;
  line-height: 26.82px;
  text-transform: uppercase;
}
.mainMap .mainMapWrap .mainMapWrapRight .mainMapWrapRightButtons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 14px;
}
.mainMap .mainMapWrap .mainMapWrapRight .btn.btnArrow {
  padding-left: 66px;
  padding-right: 42px;
}
.mainMap .mainMapWrap .mainMapWrapRight .btn.btnArrow:after {
  right: unset;
  left: 9px;
}

.mainClients {
  padding-top: 84px;
  padding-bottom: 56px;
}
.mainClients .mainClientsTitle {
  font-size: 18px;
  line-height: 18px;
  font-weight: 700;
}
.mainClients .mainClientsTitle:after {
  display: inline-block;
  width: calc(100% - 300px);
  height: 2px;
  background: #EDEDED;
  margin-left: 50px;
  content: "";
  vertical-align: middle;
}
.mainClients .mainClientsWrap {
  padding-top: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 164px;
  overflow: hidden;
}
.mainClients .mainClientsWrap .mainClientsItem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 164px;
  width: 16%;
  position: relative;
  transition: all ease .3s;
}
.mainClients .mainClientsWrap .mainClientsItem img {
  animation: move-vertical-out .35s;
}
.mainClients .mainClientsWrap .mainClientsItem:hover img {
  animation: move-vertical-hover .35s;
}

.mainNumbers {
  position: relative;
  padding-top: 118px;
  padding-bottom: 144px;
  background: #1B1C1E;
  color: #fff;
}
.mainNumbers .decor {
  width: 120px;
  top: 173px;
  left: 0;
}
.mainNumbers .mainNumbersWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.mainNumbers .mainNumbersWrap .mainNumbersText {
  width: 360px;
  display: flex;
  flex-direction: column;
}
.mainNumbers .mainNumbersWrap .mainNumbersText .mainNumbersTextSubtitle {
  color: #F9C208;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
}
.mainNumbers .mainNumbersWrap .mainNumbersText .mainNumbersTextSubtitle:after {
  width: 40px;
  height: 2px;
  background: #F9C208;
  content: "";
  margin-left: 25px;
  display: inline-block;
  vertical-align: middle;
}
.mainNumbers .mainNumbersWrap .mainNumbersText .mainNumbersTextTitle {
  margin-top: 14px;
  font-size: 42px;
  line-height: 43px;
  font-weight: 900;
  text-transform: uppercase;
  padding-bottom: 27px;
  position: relative;
}
.mainNumbers .mainNumbersWrap .mainNumbersText .mainNumbersTextDescription {
  font-size: 15px;
  line-height: 22px;
  color: #A0A0A0;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles {
  width: calc(100% - 300px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-left: -60px;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem {
  width: 304px;
  height: 304px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem.mainNumbersTilesItemBordered {
  border: 1px solid #282828;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem .mainNumbersTilesItemNumber {
  color: #F9C208;
  font-size: 22px;
  line-height: 26px;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem .mainNumbersTilesItemNumber span,
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem .mainNumbersTilesItemNumber b {
  font-size: 51px;
  line-height: 62px;
  font-weight: 900;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem .mainNumbersTilesItemText {
  padding-top: 10px;
  font-size: 14px;
  line-height: 19px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem.mainNumbersTilesItemImage {}
.mainNumbers .mainNumbersWrap .mainNumbersWrapTiles .mainNumbersTilesItem.mainNumbersTilesItemImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

footer.footer {
  background: #161719;
}
footer.footer .footerContacts {
  padding: 47px 0px;
  border-top: 4px solid #F9C208;
  border-bottom: 1px solid #242424;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer.footer .footerContacts .footerContactsColumn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 33.333%;
  justify-content: center;
}
footer.footer .footerContacts .footerContactsColumn:first-child {
  border-right: 1px solid #242424;
}
footer.footer .footerContacts .footerContactsColumn:last-child {
  border-left: 1px solid #242424;
}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnIco {

}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnIco img {
  max-width: 100%;
}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnInfo {
  padding-left: 19px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnInfoLabel {
  color: #636363;
  font-size: 12px;
  line-height: 14px;
}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnInfoValue {
  font-size: 18px;
  line-height: 22px;
  color: #fff;
  font-weight: 700;
}
footer.footer .footerContacts .footerContactsColumn .footerContactsColumnInfoValue a {
  font-size: 18px;
  line-height: 33px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
footer.footer .footerMiddle {
  padding-top: 48px;
  padding-bottom: 32px;
  border-top: 1px solid #242424;
  border-bottom: 1px solid #242424;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer.footer .footerMiddle .footerMiddleCompany {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLogo {

}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLogo img {
  max-width: 100%;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLanguages {
  padding-top: 24px;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLanguages .footerMiddleLanguageLabel {
  font-size: 13px;
  line-height: 16px;
  font-family: 'HelveticaNeueCyr', sans-serif;
  color: #636363;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLanguages .footerMiddleLanguageLinks {
  display: flex;
  flex-wrap: wrap;
  margin-top: 11px;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLanguages .footerMiddleLanguageLinks a {
  width: 48px;
  height: 48px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #85858533;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 14px;
  font-weight: 700;
  margin-right: 8px;
}
footer.footer .footerMiddle .footerMiddleCompany .footerMiddleLanguages .footerMiddleLanguageLinks a.active {
  background: #F1BA00;
  color: #000;
}
footer.footer .footerMiddle .footerMiddleMenu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
footer.footer .footerMiddle .footerMiddleMenu > a {
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 12px;
  line-height: 18px;
}
footer.footer .footerMiddle .footerMiddleMenu > a:after {
  display: inline-block;
  margin-left: 10px;
  content: "";
  width: 11px;
  height: 11px;
  background: url("../images/ico/yellowArrow.svg") center center no-repeat;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMenuAddress {
  margin-top: 20px;
  color: #9A9A9A;
  font-size: 13px;
  line-height: 17px;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMobileLanguages {
  padding-top: 30px;
  display: none;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMobileLanguages .footerMiddleLanguageLabel {
  font-size: 14px;
  line-height: 33px;
  font-family: Arial;
  color: #636363;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMobileLanguages .footerMiddleLanguageLinks {
  display: flex;
  flex-wrap: wrap;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMobileLanguages .footerMiddleLanguageLinks a {
  width: 50px;
  height: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #85858533;
  color: #fff;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 12px;
}
footer.footer .footerMiddle .footerMiddleMenu .footerMiddleMobileLanguages .footerMiddleLanguageLinks a.active {
  background: #F1BA00;
  color: #000;
}

footer.footer .footerMiddle .footerMiddleForm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-end;
  max-width: 280px;
}
footer.footer .footerMiddle .footerMiddleForm .footerMiddleFormTitle {
  font-size: 21px;
  line-height: 20px;
  color: #fff;
  font-weight: 700;
  width: 100%;
}
footer.footer .footerMiddle .footerMiddleForm .footerMiddleFormDescription {
  margin-top: 12px;
  font-size: 13px;
  line-height: 16px;
  color: #9A9A9A;
  padding-right: 100px;
}
footer.footer .footerMiddle .footerMiddleForm .footerMiddleFormBottom {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 36px;
}
footer.footer .footerMiddle .footerMiddleForm  .footerMiddleFormBottom .btn {
  background-color: transparent;
  color: #fff;
}
footer.footer .footerMiddle .footerMiddleForm  .footerMiddleFormBottom .btn.btnArrow {
  padding-left: 66px;
  padding-right: 42px;
}
footer.footer .footerMiddle .footerMiddleForm  .footerMiddleFormBottom .btn.btnArrow:after {
  right: unset;
  left: 9px;
}
footer.footer .footerBottom {
  padding-top: 43px;
  padding-bottom: 59px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  line-height: 14px;
}
footer.footer .footerBottom .footerBottomLeft {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
}
footer.footer .footerBottom .footerBottomLeft .footerBottomYear {
  color: #fff;
}
footer.footer .footerBottom .footerBottomLeft .footerBottomYear a {
  color: #F1BA00;
  text-decoration: none;
  text-transform: uppercase;
}
footer.footer .footerBottom .footerBottomLeft .footerBottomCopy {
  margin-left: 52px;
  color: #636363;
}
footer.footer .footerBottom .footerBottomLeft .footerBottomTerms {
  margin-left: 35px;
}
footer.footer .footerBottom .footerBottomLeft .footerBottomTerms a {
  color: #fff;
  text-decoration: none;
}
footer.footer .footerBottom .footerBottomRight {}
footer.footer .footerBottom .footerBottomRight span {
  color: #636363;
}
footer.footer .footerBottom .footerBottomRight a {
  color: #fff;
  text-decoration: none;
}

@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes pp-glow {
  from {
    transform: scale(1);
    opacity: 1
  }
  to {
    transform: scale(2);
    opacity: 0
  }
}
@keyframes move-vertical-hover{
  0%{
    transform:translateY(0)
  }
  50%{
    transform:translateY(-100px)
  }
  50.1%{
    transform:translateY(100px)
  }
  100%{
    transform:translateY(0)
  }
}
@keyframes move-vertical-out{
  0%{
    transform:translateY(0)
  }
  50%{
    transform:translateY(100px)
  }
  50.1%{
    transform:translateY(-100px)
  }
  100%{
    transform:translateY(0)
  }
}
/* БОЛЬШЕ ОТСТУПА ПОД КАРТИНКОЙ В БЛОКЕ "Quality" */
.mainPlanColumnImage { 
  margin-bottom: clamp(48px, 6vw, 120px);
}

/* Если нужно чуть тоньше на мобилках — можно так: */
@media (max-width: 767px) {
  .mainPlanColumnImage { margin-bottom: 40px; }
}
.mainPlanColumnImage { margin-bottom: clamp(48px, 6vw, 120px) !important; }
.mainPlan { padding-bottom: clamp(48px, 6vw, 120px); }


/* ==================== ПАРАМЕТРЫ (адаптивный размер белки) ==================== */
:root{
  --map-badge-icon-w: clamp(26px, 2.8vw, 34px);      /* ширина белки */
  --map-badge-icon-h: calc(var(--map-badge-icon-w) * 0.64);
  --map-badge-pad-l : calc(var(--map-badge-icon-w) + 20px);
}

/* ==================== БАЗОВЫЙ ВИД ПЛАШКИ ==================== */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint{ position:absolute; z-index:5; }
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover{ z-index:50; }

.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  position:absolute; left:50%; transform:translateX(-50%); bottom:28px !important;

  display:inline-block;
  width:max-content; white-space:nowrap;
  padding:12px 16px 12px var(--map-badge-pad-l) !important;

  background:#F9C208 !important; color:#fff !important;
  border:0 !important; border-radius:18px !important;
  box-shadow:0 24px 48px rgba(0,0,0,.18) !important;

  text-transform:uppercase; font-weight:800; letter-spacing:.5px;
  font-size:14px; line-height:1;

  z-index:1000; opacity:0; pointer-events:none;
  transition:opacity .15s ease-in-out;
}

/* хвостик */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:-12px;
  border-left:12px solid transparent; border-right:12px solid transparent; border-top:12px solid #F9C208;
}

/* ==================== БЕЛКА ДЛЯ ВСЕХ ПЛАШЕК ==================== */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::after{.mainMap {

  content:"" !important;
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:var(--map-badge-icon-w); height:var(--map-badge-icon-h);
  background-color:transparent !important; border:0 !important; box-shadow:none !important;
  /* белая белка, НИКАКОГО чёрного фона */
  background: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 57'>\
  <path fill='%23fff' d='M36.95 18.75c-1.39 0-2.68-.1-3.44-.48-.11.4.01.83.24 1.2-1.67.82-2.9 2.04-5.16 2.06-4.31-.49-7 2.64-7 6.01 0 1.47.49 2.91 1.13 4.08-.98-.57-1.93-1.43-2.51-2.49-.2.03-.88.16-1.26-.09-.47-.33.04-.86.23-.95-.18-.09-.88-.37-1.14-.39-.17.1-.75.49-1.21.39-.57-.12-.29-.81-.14-.98-.21-.01-.96 0-1.19.09-.12.16-.51.72-.97.81-.57.1-.57-.64-.5-.86-.19.07-.89.37-1.07.55-.06.2-.2.89-.59 1.14-.48.31-.77-.35-.79-.67-.16.14-.68.69-.77.91.03.19.16.86-.09 1.24-.32.47-.82-.02-.91-.2-.1.19-.38.89-.39 1.15.11.19.5.75.4 1.23-.12.57-.81.29-.98.14v1.09h26.54s-.52-1.51-2.17-1.12c.45-.77.69-1.79.5-2.79.67-.99 1.8-1.57 2.85-1.57 1.22 0 1.71.68 1.2 1.43.77.04 1.35-.45 1.51-.89.57-1.57-1.12-2.25-1.79-2.25-.24-.79-.06-1.71.75-2.42.42-.37.94-.56 1.41-.64l-.34.95.6.21c1.72-1.67 2.67-3.7 2.67-3.7-1.61-1.42-3.81-2.2-5.23-2.2Z'/>\
  </svg>") no-repeat center / contain !important;
  height: 40px;
}



/* ==================== КОГДА ПОКАЗЫВАТЬ ==================== */
/* по умолчанию показываем активную (Россия) */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData{ opacity:1 !important; }
/* при ховере — показываем текущую */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover .pointData{ opacity:1 !important; }
/* если какая-то точка под курсором — скрыть плашку у active (CSS с :has) */
.mainMap .mainMapWrap .mainMapWrapLeft:has(.mapPoint:hover) .mapPoint.active .pointData{ opacity:0 !important; }

/* ==================== МЕЛКИЕ ДОПРАВКИ ==================== */
/* иногда старые стили глушили видимость белки у .active — принудительно оставляем */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData::after{ display:block !important; }
/* Автовысота белой плашки в блоке TRUST */
.mainTrust .mainTrustScrollingWrap .mainTrustScrollingContent
.mainTrustContentItem .mainTrustContentItemDescription{
  height: auto !important;      /* под размер текста */
  min-height: 160px;             /* базовая высота, чтобы не «скакала» при коротком тексте */
  padding-bottom: 38px;          /* симметрия по вертикали, вместо «добивки» фикс. высотой */
  display: flex;                 /* уже есть в ваших стилях — оставляем для колонки */
  align-items: flex-start;       /* чтобы контент не центрировался по высоте */
}
/* ====== MOBILE TWEAKS ====== */
@media (max-width: 480px){

  /* Кнопки выбора языка — крупные, удобные для тача */
  .headerMiddleLanguage a,
  .footerMiddleLanguageLinks a,
  .footerMiddleMobileLanguages .footerMiddleLanguageLinks a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;           /* ≥ 44px по гайдам Apple/Google */
    min-height: 44px;          /* увеличенный тач-таргет */
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .5px;
    line-height: 1;
    border-radius: 6px;
    border: 1px solid #525252;
    background: #2A2B2D;       /* тёмная кнопка на чёрном фоне футера */
    color: #fff;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
  }

  /* Активная — жёлтая, как в дизайне */
  .headerMiddleLanguage a.active,
  .footerMiddleLanguageLinks a.active,
  .footerMiddleMobileLanguages .footerMiddleLanguageLinks a.active{
    background: #F9C208;
    border-color: #F9C208;
    color: #1B1C1E;
  }

  /* Чуть крупнее подпись "Choose language" и отступы */
  .footerMiddleLanguageLabel{
    font-size: 14px;
    margin-bottom: 12px;
  }

  /* Блок "Production address" — компактная карточка */.docsBtn-wrap{ margin-top:18px; }

.docsBtn{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  width:100%;
  padding:18px 18px 18px 24px;
  background:#F1C23A;
  color:#1B1C1E; text-decoration:none;
  border-radius:32px;
  text-transform:uppercase; font-weight:800; letter-spacing:.4px; line-height:1;
  box-shadow:0 12px 24px rgba(0,0,0,.12);
  transition:transform .08s ease-in-out, box-shadow .12s ease-in-out;
}
.docsBtn:hover{ transform:translateY(-1px); box-shadow:0 16px 28px rgba(0,0,0,.14); }
.docsBtn:active{ transform:translateY(0); box-shadow:0 10px 18px rgba(0,0,0,.10); }

.docsBtn-ico{
  flex:0 0 auto; width:44px; height:44px; border-radius:50%;
  background:#fff; position:relative;
}
.docsBtn-ico::before{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:22px; height:22px;
  background:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
    <path fill='%231B1C1E' d='M12 3v10.586l3.293-3.293 1.414 1.414L12 17.414 7.293 12.707l1.414-1.414L11 13.586V3h1zM4 19h16v2H4z'/>\
  </svg>") center/contain no-repeat;
}

@media (max-width:480px){
  .docsBtn{ padding:16px 16px 16px 20px; border-radius:28px; }
  .docsBtn-ico{ width:40px; height:40px; }
  .docsBtn-ico::before{ width:20px; height:20px; }
}

  .footerMiddleMenuAddress{
    margin-top: 16px;
    padding: 12px 14px;
    background: rgba(255,255,255,.06);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #BFC3C7;            /* читается на чёрном */
  }
}
.docsBtn {
  width: 324px;
  height: 50px;
  background: #FFD340;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 7px 0 32px;
  color: #1B1C1E;
  text-decoration: none;
  font-family: 'Gotham Pro', 'Montserrat', Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 33px;
  text-transform: uppercase;
  box-sizing: border-box;
  transition: transform 0.08s ease-in-out, box-shadow 0.12s ease-in-out;
}

.docsBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(0,0,0,0.14);
}

.docsBtn:active {
  transform: translateY(0);
  box-shadow: 0 10px 18px rgba(0,0,0,0.10);
}

.docsBtn-text {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.docsBtn-ico {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  flex: 0 0 36px;
}

.docsBtn-ico::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='none' stroke='%231B1C1E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 6v8'/><path d='M8.8 11.8 12 15l3.2-3.2'/><path d='M7 18h10'/></g></svg>") center/contain no-repeat;
}
@media (max-width: 480px) {
  .docsBtn {
    padding: 16px 16px 16px 20px;
    border-radius: 28px;
    width: 100%; /* Полная ширина на мобильных */
  }
  .docsBtn-ico {
    width: 40px;
    height: 40px;
  }
  .docsBtn-ico::before {
    width: 20px;
    height: 20px;
  }
}
/* Языковые кнопки в шапке */
.headerMiddleLanguage{ position:relative; }

.headerMiddleLanguage a{
  position:relative;
  z-index:2;                     /* выше подписи */
  display:flex; align-items:center; justify-content:center;
  width:64px; height:64px;       /* как в макете; если у вас другие – оставьте свои */
  border-radius:6px;
  background:rgba(255,255,255,.14);
  color:#fff;
  text-decoration:none;
  transition:background .2s ease, color .2s ease, transform .08s ease;
  cursor:pointer;
}

/* hover для обеих кнопок */
.headerMiddleLanguage a:hover{
  background:#F9C208;
  color:#1B1C1E;
}

/* активная (выбранный язык) */
.headerMiddleLanguage a.active{
  background:#F9C208;
  color:#1B1C1E;
}

/* лёгкая обратная связь и для активной на hover */
.headerMiddleLanguage a.active:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}

/* подпись "Choose language" — ниже и не перехватывает мышь */
.headerMiddleLanguage .headerMiddleLanguageChoose{
  position:absolute;
  left:0; right:auto; top:72px;  /* под кнопками; выставьте как нужно */
  z-index:1;                     /* ниже кнопок */
  pointer-events:none;           /* не перекрывает hover */
  color:rgba(255,255,255,.7);
  white-space:nowrap;
}
/* === MAP BALLOON — фикс «белки» и позиции ===================== */

/* 1) Разрешаем SVG внутри плашки и прячем только жёлтые прямоугольники */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData svg{
  display:inline-block !important;
  vertical-align:middle;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData .pointIcon rect{
  display:none !important;
}

/* 2) Центруем плашку над точкой и делаем её как в макете */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  left:50% !important;
  bottom:26px !important;
  transform:translateX(-50%) !important;

  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  padding:12px 22px 12px 18px !important;
  background:#F9C208 !important;
  color:#fff !important;
  font-weight:800 !important;
  text-transform:uppercase;
  border:0 !important;
  border-radius:24px !important;
  box-shadow:0 20px 50px rgba(0,0,0,.16) !important;

  white-space:nowrap !important;
  z-index:30 !important;
  opacity:1 !important;
  pointer-events:none !important; /* чтобы не ломать hover точек */
}

/* 3) Убираем «палку» под плашкой принудительно */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData:after{
  content:none !important;
}

/* Текст рядом с белкой */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointText{
  color:#fff; font-weight:800; letter-spacing:.02em;
}
/* === MAP BALLOON FIX: белка + позиция + без «палочки» === */

/* вернуть видимость SVG и спрятать жёлтые прямоугольники фона из SVG */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData svg{
  display:inline-block !important;
  vertical-align:middle;
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData .pointIcon rect{
  display:none !important;
}

/* сама плашка: по центру над точкой, как в макете */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  left:50% !important;
  bottom:26px !important;
  transform:translateX(-50%) !important;

  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  padding:12px 22px 12px 18px !important;
  background:#F9C208 !important;
  color:#fff !important;
  font-weight:800 !important;
  text-transform:uppercase;
  border:0 !important;
  border-radius:24px !important;
  box-shadow:0 20px 50px rgba(0,0,0,.16) !important;

  white-space:nowrap !important;
  pointer-events:none !important;
  z-index:30 !important;
  opacity:1 !important;
}

/* убрать «палочку» под плашкой на всех состояниях */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData:after{
  content:none !important;
}

/* текст рядом с белкой */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointText{
  color:#fff; 
  font-weight:800;
}



/* --- Бабл: аккуратный размер и стрелка-ромб без линий --- */
.mainMap .mapPoint .pointData{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  background:#F2C33A;            /* ваш жёлтый */
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  padding:16px 26px;
  border-radius:28px;
  white-space:nowrap;
  box-shadow:0 22px 60px rgba(0,0,0,.12);
  line-height:1;
}
.mainMap .mapPoint .pointData::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:18px; height:18px;
  transform:translateX(-50%) rotate(45deg);
  background:#F2C33A;
  border-radius:2px;
}

/* --- Белка ТОЛЬКО для России --- */
.mainMap .mapPoint6 .pointData::before,
.mainMap .mapPoint .pointData[data-country="russia"]::before{
  content:"";
  display:inline-block;
  width:34px; height:20px;          /* аккуратный размер */
  margin-right:12px;
  vertical-align:-3px;
  background:url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 28'>\
      <path fill='%23fff' d='M36.9507 18.7521C35.5589 18.7521 34.2689 18.6536 33.5075 18.2722C33.3984 18.6709 33.5196 19.1039 33.75 19.473C32.0842 20.29 30.8548 21.5105 28.5974 21.5351C24.2886 21.043 21.5995 24.1681 21.5995 27.5269C21.5995 29.0009 22.0869 30.4453 22.7222 31.6166C21.4395 30.876 20.4963 30.0221 19.9143 28.9763C19.7082 29.0034 19.0244 29.1313 18.6389 28.873C18.1661 28.5383 18.6826 28.0117 18.8814 27.9133C18.6947 27.8247 17.9939 27.5417 17.732 27.5392C17.5502 27.6451 16.9682 28.0314 16.5124 27.933C15.9474 27.8099 16.2238 27.1209 16.3718 26.9536C16.1657 26.9438 15.4091 26.9536 15.1667 27.0496C15.0406 27.2169 14.6453 27.7927 14.1895 27.8813C13.6197 27.9773 13.6124 27.2415 13.6851 27.0299C13.4911 27.0988 12.7952 27.399 12.6085 27.5811C12.5552 27.7829 12.4146 28.4719 12.0242 28.7228C11.5392 29.0378 11.2482 28.3513 11.2337 28.1298C11.0809 28.2676 10.5523 28.8114 10.4505 29.0526C10.4772 29.2593 10.6057 29.9458 10.3462 30.3322C10.0116 30.8046 9.4879 30.2879 9.3909 30.0885C9.3036 30.2756 9.0223 30.9793 9.0175 31.2402C9.1217 31.4222 9.5073 32.0079 9.4103 32.4631C9.289 33.0291 8.6004 32.751 8.4331 32.6034V33.7599H34.9769C34.9769 33.7599 34.4604 32.2515 32.8019 32.6403C33.2456 31.8676 33.4857 30.8563 33.3063 29.8572C33.9731 28.8656 35.103 28.2848 36.1529 28.2848C37.3677 28.2848 37.8527 28.9689 37.3483 29.7145C38.1121 29.7563 38.6941 29.2568 38.859 28.809C39.4312 27.239 37.7411 26.5673 37.0695 26.5673C36.8319 25.7823 37.0137 24.8645 37.8333 24.1435C38.2552 23.7719 38.7765 23.5898 39.2469 23.5061L38.905 24.4584L39.5039 24.6676C41.2231 22.9919 42.1663 20.9593 42.1663 20.9593C40.5563 19.537 38.3643 18.7545 36.9458 18.7545L36.9507 18.7521Z'/>\
    </svg>") center/contain no-repeat;
}

/* Чтобы бабл не раздувало на узких экранах */
@media (max-width:768px){
  .mainMap .mapPoint .pointData{ padding:14px 20px; }
  .mainMap .mapPoint6 .pointData::before{ width:28px; height:16px; margin-right:10px; }
}
/* База плашки: текст + белка в одну линию */
.mainMap .mapPoint .pointData{
  display:inline-flex;
  align-items:center;
  gap:12px;
  overflow:visible;
}

/* БЕЛКА — ВО ВСЕХ СТРАНАХ */
.mainMap .mapPoint .pointData::before{
  content:"" !important;                 /* перебиваем любые content:none */
  flex:0 0 34px;
  width:34px; height:20px;
  background:url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 28'>\
      <path fill='%23fff' d='M36.9507 18.7521C35.5589 18.7521 34.2689 18.6536 33.5075 18.2722C33.3984 18.6709 33.5196 19.1039 33.75 19.473C32.0842 20.29 30.8548 21.5105 28.5974 21.5351C24.2886 21.043 21.5995 24.1681 21.5995 27.5269C21.5995 29.0009 22.0869 30.4453 22.7222 31.6166C21.4395 30.876 20.4963 30.0221 19.9143 28.9763C19.7082 29.0034 19.0244 29.1313 18.6389 28.873C18.1661 28.5383 18.6826 28.0117 18.8814 27.9133C18.6947 27.8247 17.9939 27.5417 17.732 27.5392C17.5502 27.6451 16.9682 28.0314 16.5124 27.933C15.9474 27.8099 16.2238 27.1209 16.3718 26.9536C16.1657 26.9438 15.4091 26.9536 15.1667 27.0496C15.0406 27.2169 14.6453 27.7927 14.1895 27.8813C13.6197 27.9773 13.6124 27.2415 13.6851 27.0299C13.4911 27.0988 12.7952 27.399 12.6085 27.5811C12.5552 27.7829 12.4146 28.4719 12.0242 28.7228C11.5392 29.0378 11.2482 28.3513 11.2337 28.1298C11.0809 28.2676 10.5523 28.8114 10.4505 29.0526C10.4772 29.2593 10.6057 29.9458 10.3462 30.3322C10.0116 30.8046 9.4879 30.2879 9.3909 30.0885C9.3036 30.2756 9.0223 30.9793 9.0175 31.2402C9.1217 31.4222 9.5073 32.0079 9.4103 32.4631C9.289 33.0291 8.6004 32.751 8.4331 32.6034V33.7599H34.9769C34.9769 33.7599 34.4604 32.2515 32.8019 32.6403C33.2456 31.8676 33.4857 30.8563 33.3063 29.8572C33.9731 28.8656 35.103 28.2848 36.1529 28.2848C37.3677 28.2848 37.8527 28.9689 37.3483 29.7145C38.1121 29.7563 38.6941 29.2568 38.859 28.809C39.4312 27.239 37.7411 26.5673 37.0695 26.5673C36.8319 25.7823 37.0137 24.8645 37.8333 24.1435C38.2552 23.7719 38.7765 23.5898 39.2469 23.5061L38.905 24.4584L39.5039 24.6676C41.2231 22.9919 42.1663 20.9593 42.1663 20.9593C40.5563 19.537 38.3643 18.7545 36.9458 18.7545L36.9507 18.7521Z'/>\
    </svg>") center/contain no-repeat !important;
}

/* Убираем «черную палку» снизу (если она где-то задается) и рисуем нормальный хвостик */
.mainMap .mapPoint .pointData::after{
  content:"";
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom:-12px;
  width:0; height:0;
  border:12px solid transparent;
  border-top-color:#F9C208;       /* цвет самой плашки */
  background:none !important;     /* прибиваем возможный фон-линия */
  border-radius:0 !important;
}

/* Адаптив: белку чуть меньше на мобильных */
@media (max-width: 640px){
  .mainMap .mapPoint .pointData{ gap:8px; }
  .mainMap .mapPoint .pointData::before{ width:26px; height:15px; flex-basis:26px; }
}
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData {
    opacity: 1 !important;
    padding: 0;
    border: none;
    background: transparent;
    bottom: 8px;
    left: -10px;
    width: auto;
}
/* OFF-CANVAS меню */
@media (max-width: 1199px){
  .navigation{
    position: fixed !important;
    top: 0; right: 0; bottom: 0; left: auto;
    width: 78vw; max-width: 420px;
    background: #fff;
    transform: translateX(100%) !important;   /* скрыто */
    transition: transform .25s ease !important;
    z-index: 1001;
    padding: 28px 24px;
  }
  body.menu-open .navigation{ transform: translateX(0) !important; }

  /* фон под меню */
  .menu-backdrop{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.35);
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease;
    z-index: 1000;
  }
  body.menu-open .menu-backdrop{ opacity: 1; pointer-events: auto; }

  /* фикс скролла */
  body.menu-open{ overflow: hidden; }
}
/* ===== КАРТА: компактная плашка со «слепком» из макета ===== */

/* Базовое состояние: плашка скрыта, показывается на :hover и .active */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  position:absolute;
  bottom:42px;                 /* расстояние от точки до плашки */
  left:50%;
  transform:translate(-50%, 6px);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;

  /* Внешний вид «как в макете» */
  display:inline-block;
  padding:12px 16px 12px 56px; /* слева место под белку */
  background:#F9C208;
  color:#fff;
  border-radius:8px;
  box-shadow:0 24px 80px rgba(0,0,0,.18);
  white-space:nowrap;
  font-family:"Montserrat","Gotham Pro",Arial,sans-serif;
  font-weight:800;
  font-size:20px;
  line-height:1;
  text-transform:uppercase;
}

/* показываем при наведении точки и на активной */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover .pointData,
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}

/* Хвостик (маленький ромб под плашкой) */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:12px; height:12px;
  background:#F9C208;
  transform:translateX(-50%) rotate(45deg);
  border-radius:2px;
}

/* Белка PNG слева внутри плашки */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::before{
  content:"";
  position:absolute;
  left:16px; top:50%;
  width:42px; height:18px;     /* подгони при желании */
  transform:translateY(-50%);
  background:url("/images/ico/beaver-white.png") center/contain no-repeat;
}

/* — ОБЯЗАТЕЛЬНО — чистим старые переопределения, которые делали огромную плашку */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  padding:12px 16px 12px 56px;
  border:none;
  width:auto;                  /* убираем фикс-ширину */
}
/* ===== MAP BADGE (точки карты) — компакт как в макете ===== */
.mainMap{
  /* размеры белки и отступы */
  --map-badge-ico-w: 32px;     /* ширина белки */
  --map-badge-ico-h: 14px;     /* высота белки */
  --map-badge-ico-gap: 10px;   /* зазор между белкой и текстом */
  --map-badge-pad-x: 16px;     /* обычный горизонтальный паддинг */
  /* вычисляемый левый паддинг: белка + зазор + обычный паддинг */
  --map-badge-pad-l: calc(var(--map-badge-ico-w) + var(--map-badge-ico-gap) + var(--map-badge-pad-x));
}

.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData{
  /* ключевая строка: слева оставляем место под белку */
  padding: 12px var(--map-badge-pad-x) 12px var(--map-badge-pad-l) !important;

  background:#F9C208;
  color:#fff;
  border-radius:4px;                 /* как в макете — не слишком круглое */
  font: 800 18px/1 "Montserrat","Gotham Pro",Arial,sans-serif;
  text-transform:uppercase;
  white-space:nowrap;

  position:absolute;
  left:50%; bottom:42px;
  transform:translate(-50%,0);
  box-shadow:0 24px 80px rgba(0,0,0,.18);
}

/* хвостик под плашкой */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::after{
  content:"";
  position:absolute;
  left:50%; bottom:-8px;
  width:16px; height:16px;
  background:#F9C208;
  transform:translateX(-50%) rotate(45deg);
  border-radius:3px;
}

/* белка PNG слева */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint .pointData::before{
  content:"";
  position:absolute;
  left:var(--map-badge-pad-x); top:50%;
  width:var(--map-badge-ico-w); height:var(--map-badge-ico-h);
  transform:translateY(-50%);
  background:url("/images/ico/beaver-white.png") center/contain no-repeat;
}

/* показ по hover/active как раньше */
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint:hover .pointData,
.mainMap .mainMapWrap .mainMapWrapLeft .mapPoint.active .pointData{
  opacity:1; pointer-events:auto;
}

