/* Thin */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Thin.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;  /* swap для уменьшения FOIT */
}

/* Light */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Light.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Regular */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Regular.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Medium */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Medium.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* SemiBold */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-SemiBold.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Bold */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Bold.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Heavy */
@font-face {
    font-family: 'SFUIDisplay';
    src: url('/fonts/SFUIDisplay-Heavy.woff2') format('woff2'),
         url('/fonts/SFUIDisplay-Heavy.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mont-Bold';
    src: url('/fonts/Mont-Bold.woff') format('woff'),
		 url('/fonts/Mont-Bold.woff2') format('woff2');
    font-style: normal;
    font-display: swap;  /* swap для уменьшения FOIT */
}

@font-face {
    font-family: 'Mont-Heavy';
    src: url('/fonts/Mont-Heavy.woff2') format('woff2'),
         url('/fonts/Mont-Heavy.woff') format('woff');
    font-style: normal;
    font-display: swap;  /* swap для уменьшения FOIT */
}

@font-face {
    font-family: 'Inter-Bold';
    src: url('/fonts/Inter-Bold.woff') format('woff'),
         url('/fonts/Inter-Bold.woff2') format('woff');
    font-style: normal;
    font-display: swap;  /* swap для уменьшения FOIT */
}

span.hi-tm {

  padding: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: super;
  font-size: 7px;
  line-height: 1;
  background: #21d760;
  border-radius: 50%;
  color: #fff;
  position: relative;
  top: -3em;
}

span.hi-tm::after {
  content: "Hi";
  font-family: "Inter-Bold";
}


span.hi_logo {
	
	width: 60px;
	height: 60px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-size: 34px;
	font-family: "Inter-Bold";
	color: #fff;
	
}

span.hi_logo::after {
	
	content: "Hi";

}

span.hi_logo.green {
	
	background: #21d760;
	
}

span.hi_logo.black {
	
	background: #000;
	
}


.video-container {
  position: relative;
  width: 100%;
  height: 84vh; /* или нужная высота */
  overflow: hidden;
}

.background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover; /* покрывает весь контейнер */
  z-index: -1;
}

.content {
  position: relative;
  z-index: 1;
  color: white;
  text-align: center;
  padding: 20px;
}

.text-white {
	
	color: #ffffff !important;
	
}

.text-black {
	
	color: #000 !important;
	
}

body {

    padding: 0;
    margin: 0;
    font-family: 'SFUIDisplay', sans-serif;
    color: #000;
    font-weight: 400;

}

button {
  /* Убираем внешний вид по умолчанию */
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit; /* Наследуем стили шрифта от родителя */
  color: inherit;
  cursor: pointer;
  outline: none; /* Убираем обводку фокуса, если не нужна */
  box-shadow: none;
}

.no-scroll {
  overflow: hidden;
  position: fixed; /* Фиксируем позицию */
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

div {

    margin: 0;
    padding: 0;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

}

a {

    text-decoration: none;
	color: #000;

}

p {

    margin-bottom: 1.5em;
    padding: 0;
    font-weight: 400;

}

sup {

    line-height: 0;

}

.table {
	
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5em;
	
}

.table td {
	
	border: 1px solid #000;
	padding: 10px;
	
	
}

.input {
    display: block;
    border: 1px solid #e6e5e5;
    border-radius: 5px;
    background: #fff;
    color: #000;
    padding: 13px 20px;
    font-weight: 400;
    font-size: 15px;
    outline: none;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {

    padding: 0;
    margin: 0;

}

.container {

    max-width: 1200px;
    margin: 0 auto;
	position: relative;

}

.flex {

    display: flex !important;

}

.aic {

    align-items: center;

}

.aie {

    align-items: flex-end;

}

.jcc {

    justify-content: center;

}

.jce {

    justify-content: flex-end;

}

.sb {

    justify-content: space-between;

}

.sa {

    justify-content: space-around;

}

.fdc {

    flex-direction: column !important;

}

.fdr {

    flex-direction: row !important;

}

.fww {

    flex-wrap: wrap;

}

.absolute {

    position: absolute !important;

}

.tac {

    text-align: center;

}

.ma {

    margin: auto;

}

.m-0 {

    margin: 0 !important;

}

.mt-0 {

    margin-top: 0 !important;

}

.mt-3 {
	
	margin-top: 1.5rem;
	
}

.mt-25 {

    margin-top: 25px;

}

.mt-50 {

    margin-top: 50px;

}

.mt-55 {

    margin-top: 55px;

}

.mt-75 {

    margin-top: 75px;

}

.mb-0 {

    margin-bottom: 0 !important;

}

.mb-10 {

    margin-bottom: 10px;

}

.mb-20 {

    margin-bottom: 20px;

}

.mb-25 {

    margin-bottom: 25px;

}

.mb-30 {

    margin-bottom: 30px !important;

}

.mb-50 {

    margin-bottom: 50px;

}

.mb-100 {
	
	margin-bottom: 100px;
	
}


.ml-0 {

    margin-left: 0 !important;

}

.mr-0 {

    margin-right: 0 !important;

}

.p-0 {
	
	padding: 0 !important;
	
}

.p30 {
	
	padding: 30px;
	
}

.pl-30 {
	
	padding-left: 30px;
	
}

.pr-30 {
	
	padding-right: 30px;
	
}

.pt-50 {

    padding-top: 50px;

}

.pb-30 {

    padding-bottom: 30px;

}

.pb-50 {

    padding-bottom: 50px;

}

.text-center {

    text-align: center;

}

.text-left {

    text-align: left;

}

.text-right {

    text-align: center;

}

.main_logo {

    width: 72px;

}

.overlay-link {

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;

}

#popupBodyContainer {

    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    background-color: rgba(0,0,0,0.3);

}

.popup_wrapper {

    position: fixed;
    background: #ffffff;
    z-index: 9999;
    width: 375px;
    padding: 40px 30px;

}

.hi_input {

    border: 1px solid #727272;
    margin-bottom: 14px;
    max-width: 100%;
    border-radius: 30px;
    padding: 16px 22px;
    outline: none;

}

.hi_input:focus {
    outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, .4);
}

.hi_checkbox {

    width: 36px;
    height: 36px;

}

.hi_badge {

    font-size: 13px;
    color: #ffffff;
    background-color: #000;
    width: fit-content;
    padding: 6px 20px;
    border-radius: 13px;
    font-weight: 300;


}

.hi_badge.big {
	
	padding: 12px 40px;
	border-radius: 26px;
	
}
       
.hi_badge.top-right {
	
	position: absolute;
	top: 20px;
	right: 20px;
	
}

.hi_badge.bottom-left {
	
	position: absolute;
	bottom: 20px;
	left: 20px;
	
}
	   

.mob_menu_btn {

    display: none;

}

.mobile-header-phone {
	
	display: none;
	
}

#anketa label span.circle-count {

    width: 36px;
    height: 36px;
    border: 1px solid #000;
    border-radius: 100%;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    margin-right: 10px;

}

#anketa .hi_col {

    margin-bottom: 20px;

}

#anketa .title {

    font-size: 60px;
    margin-top: 30px;
    margin-bottom: 60px;

}

button[type="button"] {

    border: none;
    padding: 16px 38px;
    max-width: 100%;
    border-radius: 30px;
    margin: 0 auto;
    cursor: pointer;
    color: #fff;

}

.form_close_button {

    position: absolute;
    right: 10px;
    top: 10px;
    cursor: pointer;

}

.form_close_button:hover svg {
    
    fill: #21d760;

}

.response-message {

    font-size: 1.2em;
    text-align: center;
    border: 1px solid #000;
    padding: 20px 20px;

}

#form-response {

    display: none;

}

.response-message.hasError {
	
	color: #cb2b2b;
	font-size: 12px;
	border: 1px solid #cb2b2b;
	
}

.page-title h2 {

    font-size: 60px;
    margin-bottom: 42px;
    font-weight: 700;

}

.page-title.divided h2 {

    border-bottom: 2px solid #21d760;
    padding-bottom: 24px;
    display: inline-block;

}

.w100 {

    width: 100%;

}

.w50 {

    width: 50%;

}

.w75 {

    width: 75%;

}

.h100 {

    height: 100%;

}

.hi_btn {

    background-color: #000;
    border-radius: 24.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;

}

.hi_btn span {

    padding: 15px 32px;
    font-size: 16px;
    color: #fff;
    display: inline-block;

}

.hi_btn span:hover {

    cursor: pointer;

}

.hi_btn a {

    padding: 15px 32px;
    font-size: 16px;
    color: #fff;
    display: inline-block;

}

.hi_btn.w-icon a {

    padding: 15px 10px 15px 32px;

}

.hi_btn_outline {

    background-color: #fff;
    border: 1px solid #e4e4e4;

}

.hi_btn_outline a {

    color: #000;

}

.hi_btn_outline span {

    color: #000;

}

.hi_btn:hover {

    background-color: #4b4b4b;
    color: #ffffff;

}

.hi_btn.bg-blue:hover {

    background-color: #3483db;
    color: #ffffff;

}

/*.hi_btn:hover .hi_ext_menu_item_icon {

    border: 2px solid #fff;

}*/

.hi_btn_outline {

    background-color: #fff;
    border: 1px solid #e4e4e4;

}

.hi_btn_outline:hover {

    border: 1px solid #4b4b4b;

}

.hi_btn_outline:hover a {

    color: #fff;

}

.hi_btn.bg-green:hover {
	
	color: #fff !important;
	
}


.hi_btn_mini {

    display: inline-block;

}

.hi_btn_mini a {

    font-size: 13px;
    padding: 8px 16px;

}

.outline-btn {

    background: none;
    border: 1px solid #fff;
    padding: 12px 24px;
    border-radius: 25px;
    color: #fff;
    font-size: 11px;

}

img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.bg-white {

    background-color: #fff !important;

}

.bg-black {

    background-color: #000000;

}

.bg-blue {

    background-color: #1274e0;

}

.bg-green {
	
	background-color: #21d760;
	
}

.bg-grey {

    background-color: #f5f5f7;

}

.hi_menu {

    height: 60px;

}

.hi_menu_wrapper {
		
	/*border-bottom: 1px solid #ccc;*/
		
}

.hi_menu_item a {

    font-size: 11px;
    text-transform: uppercase;
    color: #000;
    padding: 6px 13px;
    line-height: 1em;
    border-radius: 12px;
    font-weight: 700;

}

.hi_menu_item a:hover {

    color: #fff;
    background-color: #000;

}

.hi_menu_item.current a {
    color: #fff;
    background-color: #000;
}

.hi_menu_item.headPhone a {

    font-size: 13px;
    font-weight: 500;

}

.hi_menu_item.current.headPhone a {

    padding: 2px 6px;

}

.hi_menu_item.headPhone {
	
	margin-left: 4px;
	
}

.mob_menu_btn {

    position: relative;
    width: 16px;
    margin-left: 13px;
    cursor: pointer;

}

.mob_menu_top_line,
.mob_menu_bottom_line {

    display: block;
    width: 100%;
    height: 3px;
    background-color: #000;
    transition: .5s ease;
    transform: rotate(0deg);

}

.mob_menu_top_line {

    margin-bottom: 3px;

}

.mob_menu_btn.opened {
	
	z-index: 20;
	
}

.mob_menu_btn.opened span.mob_menu_top_line {

    position: absolute;
    transform: rotate(45deg);
    margin-bottom: 0;
    transition: .5s ease;

}

.mob_menu_btn.opened span.mob_menu_bottom_line {

    position: absolute;
    transform: rotate(-45deg);
    transition: .5s ease;

}

.offset_menu_wrapper {

    height: 0;
    display: none;

}

.offset_menu {

    position: fixed;
    /*width: 0px;*/
	width: 100%;
	height: 0;
    right: 0;
    bottom: 0;
    /*top: 60px;*/
	top: 0;
    box-shadow: 1px 1px 10px #000;
    transition: 0.3s ease-out;
    z-index: 10;
    background-color: #fff;

}

.offset_menu_item {

    margin-bottom: 30px;

}

.offset_menu_item a {

    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #000;

}

.offset_menu.opened {

    /*width: 300px;*/
	height: 100%;

}

.offset_menu.opened .offset_menu_wrapper {

    width: 300px;
    height: 100%;
    padding: 80px 40px;
    display: flex;

}

.offset_menu .dropdown-items {
    margin-top: 12px;
    padding-left: 6px;
    display: none;
}

.offset_menu .dropdown-items.collapse {
    display: block;
}


.offset_menu .dropdown-items a {

    display: block;
    margin-bottom: 6px;
    color: #727272;
    font-weight: 300;
    
}

.offset_menu .dropdown-items a:last-child {

    margin-bottom: 0;
    
}

span.dropdown-toggler.uncollapse,
span.dropdown-toggler.collapse {

    background-image: url('/images/caret-down-fill.svg');
    background-position: center center;
    background-repeat: no-repeat;
    width: 12px;
    height: 10px;
    display: inline-block;
    cursor: pointer;

}

span.dropdown-toggler.collapse {

    background-image: url('/images/caret-up-fill.svg');

}

footer {

    background-color: #000;
    padding-top: 55px;
    padding-bottom: 30px;

}

.footer-phone {

    color: #ffffff;
    font-size: 18px;

}

.footer-elements {

    padding-top: 64px;
    padding-bottom: 64px;

}

.footer-logo {

    height: 29px;
    margin-bottom: 22px;

}

.bg-image {

    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

.footer-info {

    padding-right: 20%;

}

.footer-city,
.footer-menu {

    padding-right: 7%;

}

.footer-city,
.footer-menu,
.footer-social-icons {

    padding-top: 29px;

}

.footer-info-text {

    color: #ffffff;
    font-size: 14px;
    line-height: 22px;

}

.footer-city-item {

    margin-bottom: 22px;

}

.footer-city-name {

    color: #ffffff;
    font-size: 15px;
    font-weight: 500;

}

.footer-city-url a {

    color: #a8a8a8;
    font-size: 11px;
    padding-bottom: 3px;
    border-bottom: 2px solid #b3cd20;
    display: inline-block;

}

.footer-menu-item {

    margin-bottom: 12px;

}

.footer-menu-item a {

    color: #ffffff;
    font-size: 11px;
    vertical-align: top;

}

.footer-icon {

    margin-bottom: 5px;

}

.footer-icon img {

    width: 28px;

}

.footer-copyright {

    color: #ffffff;
    font-size: 10px;

}

.footer-info-text-divider {

    border-top: 2px solid #ffffff;
    margin: 2px 0;
    width: 24%;

}



#top-section,
#top-category-section {

    margin-bottom: 46px;

}

.h68 {

    height: 55vh;

}

.h52 {

    height: 52vh;

}

.h75 {

    height: 75vh;

}

.h84 {

    height: 84dvh;

}

.h89 {

    height: 89dvh;

}

.h98 {
	
	height: 98dvh;
	
}

.hi_mans_block_w100 {

    width: 100%;

}

.rounded_corners {

    border-radius: 10px;

}

.hi_mans_block {

    margin-bottom: 20px;

}

.hi_mans_block_image {

    position: relative;

}

.hi_mans_block_image img {

    display: block;

}

.hi_mans_block_image_mini_caption {

    position: absolute;
    bottom: 14px;
    left: 14px;

}

.hi_mans_block_image_mini_caption .text-item {

    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: 300;

}

.hi_mans_block_w100 .hi_mans_block_image {

    width: 100%;

}

.hi_mans_block_info_line {

    padding: 11px 0;

}

.hi_mans_block_info_line .thumb_image,
.hi_mans_block_info_line .info_text {

    margin-right: 10px;

}

.hi_mans_block_info_line .thumb_image {

    height: 38px;

}

.hi_mans_block_info_line .lead_text {

    font-size: 15px;
    color: #000;
    line-height: 18px;
    font-weight: 500;

}

.fade_text {
	
	color: #999999;
	
}

.hi_mans_block_info_line .fade_text {

    font-size: 14px;
    color: #999999;
    line-height: 16px;
    font-weight: 300;

}

div.hi_mans_block_image_caption-title {

    margin-bottom: 28px;

}

div.hi_mans_block_image_caption-title h1 {

    color: #fff;
    font-size: 70px;
    line-height: 60px;
    font-weight: 700;

}

.big-dash {
    display: inline-block;
    height: 10px;
    background-color: #21d760;
    width: 260px;
    margin-left: 20px;
    position: relative;
    top: -12px;
}

h3.hi_mans_block_title {

    padding: 0;
    font-size: 32px;
    line-height: 32px;
    color: #ffffff;
    font-weight: 700;

}

.hi-text-block.w895 h3.hi_mans_block_title {
	
	font-size: 26px;
    line-height: 32px;
	
}

p.hi_mans_block_title {

    padding: 0;
    font-size: 32px;
    line-height: 32px;
    color: #ffffff;
    font-weight: 700;
	margin-top: 0;
	margin-bottom: 0;

}

.bg-grey h5.hi_mans_block_subtitle {

    margin-bottom: 28px;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;

}

.bg-grey h3.hi_mans_block_title {

    color: #000;
    line-height: 32px;

}

.bg-grey h5.hi_mans_block_subtitle {

    color: #727272;

}

.section-spacer {

    height: 20px;

}

.g10 {

    gap: 10px;

}

.g14 {

    gap: 14px;

}


.g20 {

    gap:20px;

}

.g100 {

    gap: 100px;

}

.hi_row {

    display: flex;
    flex-direction: row;
    position: relative;

}

.hi_col {

    display: flex;
    flex-direction: column;
    width: 100%;
    position: relative;

}

.hi-block-img {

    position: relative;

}

.hi-text-block {

    position: relative;

}

.hi-text-block.w285 {

    width: 285px;

}

.hi-text-block.w386 {

    width: 386px;

}

.hi-text-block.h290 {

    height: 290px;

}

.hi-text-block.h320 {

    height: 320px;

}

.hi-text-block.w895 {

    width: 895px;
	padding: 14px 26px;

}

.hi-text-block.h110 {

    height: 110px;

}

.hi-text-block.h80 {

    height: 80px;

}

.hi-text-block.h500 {

    height: 500px;

}

.hi-text-block.h230 {

    height: 230px;

}

.hi-text-block.w590 {

    width: 590px;

}

.hi-text-block.w590 .hi_mans_block_title {

    font-size: 24px;

}


.hi-text-block-caption {

    position: absolute;
    bottom: 30px;
    padding-right: 30px;
    padding-left: 30px;

}

.hi-text-block-caption .title {

        margin-bottom: 30px;
        padding: 0;
        font-size: 32px;
        line-height: 32px;
        color: #000000;
        font-weight: 700;

}

.hi-text-block-caption p.title {
    margin-bottom: 30px;
    padding: 0;
    font-size: 32px;
    line-height: 32px;
    color: #000000;
    font-weight: 700;
}

.hi-text-block-caption .subtitle {

    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #727272;

}

.top-banner-wrapper {

    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	position: relative;

}

.top-banner-caption {
	
	position: relative;
	z-index: 2;
	/*bottom: 26px;*/
	
}

.top-banner-social-buttons {

    width: 110px;

}

.top-banner-social-buttons img {

    max-width: 30px;

}

span.top-banner-caption-head-title {

    color: #fff;
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    display: block;

}

h1.top-banner-caption-title {

    color: #fff;
    font-size: 55px;
    line-height: 60px;
    font-weight: 700;

}

span.top-banner-caption-title {

	color: #fff;
    font-size: 55px;
    line-height: 60px;
    font-weight: 700;
    display: block;

}

span.top-banner-caption-title-small {

    font-family: 'Mont-Bold';
	color: #fff;
    font-size: 48px;
    line-height: 50px;
    font-weight: 700;
    display: block;
	margin: 22px 0;

}

h1.top-banner-caption-title.category {

    color: #fff;
    font-size: 40px;
    line-height: 45px;

}

h3.top-banner-caption-subtitle.category {

    color: #fff;
    font-size: 18px;
    line-height: 20px;

}

span.top-banner-caption-title.category {

    color: #fff;
    font-size: 40px;
    line-height: 40px;
    font-weight: 700;
    display: block;

}

span.top-banner-caption-title.tag {

    color: #fff;
    font-size: 40px;
    line-height: 40px;
    font-weight: 700;
    display: block;

}

h1.top-banner-caption-title.category .big-dash {

    height: 6px;
    width: 138px;
    top: -8px;

}

span.top-banner-caption-title.category .big-dash {

    height: 6px;
    width: 138px;
    top: -8px;

}

.top-catalog-image-wrapper {

    padding: 30px;
    background-position: center center;
    background-size: cover;

}

.top-catalog-image-title {

    color: #fff;
    font-size: 42px;
    line-height: 60px;
    font-weight: 700;

}

.top-catalog-image-subtitle {

    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: 300;

}

.catalog-category-title {

    font-size: 18px;
    line-height: 24px;
    color: #727272;
    margin-bottom: 10px;
    font-weight: 500;
	display: inline-block;

}

.custom-category-title {

    font-size: 36px;
    line-height: 24px;
    font-weight: 700;

}

.custom-category-title-divider {

    border: none; 
    height: 1px;
    background-color: #dfdfdf;

}

/*.catalog-description-title.dashed {

    padding-bottom: 26px;
    border-bottom: 1px solid #e9e9e9;

}*/

.catalog-description {

    margin-bottom: 90px;

}

.catalog-description p {

    font-size: 18px;
    line-height: 24px;
    color: #727272;

}

.catalog-items {

    padding-top: 46px;

}

.catalog-item {

    position: relative;

}

.catalog-item .hi-block-img {

    width: 590px;
    height: 330px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-color: #f5f5f7;

}

.catalog-item-mini .hi-block-img {

    width: 285px;
    height: 175px;

}

.catalog-item-full .hi-block-img {

    width: 1200px;
    height: 600px;

}

.teammate img {
	
	/*-webkit-filter: grayscale(1); 
    filter: grayscale(1);*/
	height: 290px;
	
}

.catalog-item .info_text {

    padding-left: 15px;

}

.catalog-product-techs {

    width: 340px;
    margin-bottom: 90px;

}

.product-techs-wrapper {

    margin: 24px 0;
    padding: 24px 0;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;

}

.product-tech-name,
.product-tech-value {

    line-height: 24px;;
    font-size: 16px;
    font-weight: 500;

}

.product-section-title {

    font-size: 36px;
    font-weight: 700;

}

.product-tech-name {

    color: #727272;

}

.product-tech-value {

    color: #000;

}

.tag_item a {

    color: #000;
	padding: 15px 32px;
	font-size: 16px;
	border: 1px solid #e4e4e4;
	border-radius: 25px;

}

.gallery-image-holder {

    background-color: #ccc;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    /*border-radius: 18px;*/
    cursor: pointer;

}

#plan-description {

    background-color: #f5f5f5;
    padding-top: 80px;
    padding-bottom: 140px;

}

#plan-description .accordion {

    max-width: 286px;
    margin: unset !important;

}

.plans-wrapper {

    margin: 30px 0;
    /*padding: 90px 100px;*/
    background-color: #fff;
    border-radius: 25px;

}

.plans-wrapper .plans-control-switch {
	
	padding: 90px 0 90px 100px;
	
}

.plans-wrapper .plans-images-holder {
	
	padding: 50px 60px 50px 0;
	
}

.plans-wrapper .plans-images-holder img {
	
	min-width: 620px;
	
}

.plans-images-holder {

    cursor: pointer;

}

.placement-area {

    color: #000;

}

.placement-amount {

    color: #000 !important;
    padding-left: 16px !important;
    padding-top: 10px !important;

}

.room-description {

    color: #7e7e7e;
    font-size: 16px;

}

.room-images {

    margin-top: 32px;
    margin-bottom: 64px;

}

.recent-project-intro {

    height: 600px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    margin-top: 32px;
    margin-bottom: 64px;
    padding: 35px;
	/*border-radius: 28px;*/
	
}

.intro-label {

    background-color: #e3e3e3;
    width: 330px;
    height: 66px;
    border-radius: 34px;
    padding-left: 30px;
    padding-right: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	z-index: 9;

}

.intro-label-button {


}

.intro-label-button .hi_btn {



}

.intro-label-title {

    font-size: 16px;
    font-weight: 500;

}

.intro-label-project-name {

    font-size: 14px;
    font-weight: 300;
    color: #606060;

}

#extMenu {

    margin-top: 46px;
    margin-bottom: 54px;

}

.hi_ext_menu_item {
    
    margin-right: 16px;

}

.hi_ext_menu_item.w-icon {
    
    padding-right: 10px;

}

.hi_ext_menu_item:last-child {

    margin-right: 0;

}

.hi_ext_menu_item_icon {

    width: 38px;
    height: 38px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;

}

.hi_ext_menu_item.bg-black a {

    color: #fff;

}

.fp_title {

    border-bottom: 1px solid #dfdfdf;
    margin-bottom: 62px;

}

.fp_title h2 {

    font-weight: 700;
    font-size: 36px;
    padding-bottom: 24px;

}

.featuredProductsWrapper {

    position: relative;

}

.randomProductsWrapper {

    position: relative;
    padding: 76px 0;

}

.featuredProductsWrapper .hi_badge,
.badgedProductsWrapper .hi_badge,
.product-year-wrapper .hi_badge {

    position: absolute;
    top: 16px;
    left: 16px;

}

.featuredProductsWrapper .catalog-item-full .intro-label {

    position: absolute;
    bottom: 30px;
    left: 30px;
}

.catalog-item .intro-label {

    position: absolute;
    bottom: 30px;
    left: 30px;

}


.lazy-bg {
    min-height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f0f0f0;
    margin: 20px 0;
    padding: 20px;
    color: white;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
    transition: background-image 0.5s ease;
  }

  .pumpochka {

    background-image: url(/images/hi_logo_green.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 11px;
    height: 11px;
    display: inline-block;
    position: relative;
    top: -22px;
    left: -5px;

  }

  .bordered {

    border: 1px solid #ccc;

  }

  .service-wrapper {

    padding: 60px 0;

  }
  
  .service-items {
	  
	  padding: 60px 0;
	  
  }

  .company-wrapper {

    /*background-color: #f0f0f5;*/
    padding-top: 0;
    /*padding-bottom: 60px;*/

  }

  .service-item {

    padding: 42px;
    background-color: #ffffff;
    border-radius: 25px;

  }

  .service-item .hi_mans_block_title {

    color: #000;
    font-size: 26px;
    line-height: 32px;

  }
 
  .company-item .hi_mans_block_title {

    color: #000;
    font-size: 30px;
    line-height: 32px;

  }

  .company-item {

    padding-top: 70px;
    /*padding-bottom: 130px;*/

  }

  .company-item .hi_mans_block_title {

    margin-top: 52px;

  }

  .service-item-icon {

    width: 54px;
    height: 42px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;

  }

  .service-item-link a {

    font-weight: 300;
    font-size: 16px;
    color: #3772de;

  }

  .service-item-link a .link-arrow {

    height: 10px;
    width: 6px;
    display: inline-block;
    background-image: url(/images/link-arrow.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 13px;

  }

  span.hi_underline {
    
    background-image: url('/images/hi_underline.png');
    background-position: 0 26px;
    background-repeat: no-repeat;
    background-size: contain;
        
  }

  span.hi_rectangle_underline {
    
    background-image: url(/images/rectangle-underline.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    height: 12px;
    width: 100%;
    display: block;
    position: absolute;
    top: 27px;
    left: 0;
    z-index: -1;
        
  }

    span.hi_cloud_bg {

		background-image: url(/images/hi_cloud_bg.png);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		width: 250px;
		height: 49px;
		display: inline-block;
		position: absolute;
		top: -3px;
		left: -24px;
		z-index: -1;

    }
	
	.accordion.vakansii .list-title {
		
		font-size: 20px;
		font-weight: 500;
		padding-bottom: 6px;
		color: #000;
	
	}
	
	.accordion.vakansii .list-item.last {
		
		margin-bottom: 26px;
	
	}
	
	.accordion.vakansii .resume-mail-info {
		
		margin-left: 36px;
		font-size: 12px;
		font-weight: 500;
	
	}
	
	.accordion.vakansii .accordion-item-title {
		
		font-size: 24px;
		font-weight: bold;
	
	}
	
	.contacts-block p {
		
		font-size: 18px;
		line-height: 24px;
		margin: 0;
		padding: 0;
		font-weight: 500;
		
	}
	
	.contacts-block p a {
		
		color: #000;
		
	}

    .plan-mob-img {

        display: none;

    }

    #top-category-section {

        background-color: #f5f5f7;
        z-index: 0;
        position: relative;

    }

    .category-banner-title {

        text-align: center;
        font-size: 55px;
        line-height: 58px;
        font-weight: 800;
        margin-bottom: 36px;

    }

    .category-banner-title .pumpochka {

        top: -26px;
        left: 2px;

    }

    p.category-banner-text {

        font-size: 28px;
        line-height: 33px;
        font-weight: 600;
        color: #616161;
        margin-top: 0;
        margin-bottom: 16px;
        position: relative;

    }

    p.category-banner-mini-text {

        font-size: 15px;
        line-height: 18px;
        font-weight: 300;
        color: #616161;
        margin-top: 0;
        margin-bottom: 36px;
        position: relative;

    }

    .decorated {

        display: inline-block;
        position: relative;
        color: #fff;
    
    }

    .decorated:before {
        content: "";
        display: block;
        position: absolute;
        width: 110%;
        height: 100%;
        transform: translate(-7%, 1px) rotate(0deg);
        background-image: url(/images/hi_line_bg.png);
        background-repeat: no-repeat;
        background-size: 100% 100%;
        z-index: -1;
    
    }
	
	.price_wrapper {

        background-color: #f5f5f7;
		margin-bottom: 68px;

    }

    .hi_prices {

        padding: 50px 0;
        margin-top: 32px;
        max-width: 980px;

    }

    .hi_price_item {

        padding: 55px 30px;
        flex: 1;
		border-radius: 20px;
		position: relative;

    }

    p.hi_price_title {

        margin-top: 0;
        margin-bottom: 10px;
        font-size: 22px;
        line-height: 1em;
        font-weight: 700;
        color: #383838;

    }

    p.hi_price_price {

        margin-top: 0;
        margin-bottom: 11px;
        font-size: 40px;
        line-height: 1em;
        font-weight: 700;
        color: #383838;

    }

    p.hi_price_description {

        margin-top: 0;
        margin-bottom: 0;
        font-size: 17px;
        line-height: 20px;
        font-weight: 400;
        color: #000;

    }
	
	p.hi_price_description_2 {

        margin-top: 25px;
        margin-bottom: 0;
        font-size: 12px;
        line-height: 20px;
        font-weight: 400;
        color: #000;

    }

    hr.hi_price_divider {

        margin-top: 25px;
        margin-bottom: 25px;
        color: #868383;

    }

    ul.hi_price_techs {

        padding-left: 16px;
		list-style: none;
		position: relative;

    }
	
	ul.hi_price_techs li::before {

		content: "•";
		position: absolute;
		left: -20px;
		top: -1px;
		font-size: 24px;
		color: #000;
	
	}

    li.hi_price_tech {

        font-size: 16px;
        line-height:  26px;
        color: #000;
        font-weight: 600;
		position: relative;

    }
	
	.round_plus_button {
		
		position: relative;
		width: 30px;
		height: 30px;
		background-color: #000000;
		border-radius: 50%;
		color: white;
		font-size: 30px;
		font-weight: 700;
		padding: 0;
		margin: 0;
		cursor: pointer;
		
	}
	
	.round_plus_button:hover {
		
		background-color: #4b4b4b;
		
	}
	
	.round_plus_button span {
		
		position: relative;
		line-height: 1;
		top: -2px;
		padding: 0;
		margin: 0;
		
	}
	
	.hi_price_item .round_plus_button {
		
		position: absolute;
		right: 15px;
		bottom: 15px;
	
	}
	
	p.hi_price_note {
		
		font-size: 12px;
		color: #868686;
		margin-top: 45px;
		
	}
	
	.tag-category {
		
		
	}
	
	.built-in-tags {
		
		padding: 74px 0;
		border-top: 1px solid #e4e4e4;
		border-bottom: 1px solid #e4e4e4;
		margin: 32px 0;
		
	}
	
	.seo_text_wrapper {
		
		max-width: 940px;
		margin: 0 auto;
		
	}
	
	.seo_text_wrapper p {
		
		font-size: 13px;
		line-height: 16px;
		color: #909090;
		font-weight: 300;
		
		
	}
	
	h1.tag-title {
		
		color: #fff;
		/*max-width: 50%;*/
		padding: 10px 0;
		font-size: 20px;
		
	}
	
	.prod_year_section,
	.imgset_cat_section	{
		
		font-size: 36px;
		font-weight: 700;
		border-bottom: 1px solid #cdcdcd;
		padding: 30px 0;
		margin-bottom: 50px;
		
	}
	
	.product-year-wrapper {
		
		margin-bottom: 60px;
		
	}
	
	.hi_s_text {
		
		position: relative;
		
	}
	
	.hi_s_text_wrapper {
	  position: relative;
	  /*padding-top: 20px;*/
	  padding-bottom: 20px;
	  background: white;
	  max-height: 250px;
	  overflow: hidden;
	  transition: max-height 0.7s ease-in;
	}

	.hi_s_text_wrapper::after {
	  content: "";
	  position: absolute;
	  left: 0;
	  bottom: 0;
	  width: 100%;
	  height: 20%;
	  background: linear-gradient(to top, rgba(255, 255, 255, 1), transparent);
	  pointer-events: none;
	}

	#expand {
	  
	  display: none; /* Скрываем чекбокс */
	
	}

	.read-more-button {

		  margin-top: 10px;
		  cursor: pointer;
		  user-select: none;
		  font-size: 14px;
	
	}
	
	.read-more-button .collapse,
	.read-more-button .expand {
		
		border-bottom: 1px solid #000;
		padding-bottom: 6px;
		
	}

	.read-more-button .collapse {
	 
	 display: none;
	
	}
	
	.read-more-button .expand {
	 
	 display: inline-block;
	
	}

	#expand:checked ~ .read-more-button .expand {
	  
	  display: none;
	
	}

	#expand:checked ~ .read-more-button .collapse {
	  
	  display: inline-block;
	
	}

	#expand:checked ~ .hi_s_text_wrapper {
	  max-height: 3900px; /* или auto, если высота динамическая */
	  transition: max-height 0.7s ease-in;
	  background: none;
	  overflow: visible;
	}
	
	#expand:checked ~ .hi_s_text_wrapper::after {
	  
	  background: none;
	
	}
	
	.hi_s_text h2 {
		
		font-size: 18px;
		font-weight: 700;
		line-height: 20px;
		margin-bottom: 12px;
		
	}
	
	.hi_s_text h3 {
		
		font-size: 16px;
		font-weight: 700;
		line-height: 18px;
		margin: 12px 0;
		
	}
	
	.hi_s_text p,
	.hi_s_text ul li,
	.hi_s_text ol li,
	.hi_s_text table tr td,
	.hi_s_text table tr th {
		
		font-size: 12px;
		line-height: 16px;
		font-weight: 300;
		
	}
	
	.hi_s_text p {
		
		margin-bottom: 1em;
		
	}
	
	.hi_s_text ul ul,
	.hi_s_text ol ul {
		
		/*margin-left: -80px;*/
		list-style-type: none;    
		margin-top: 5px;
		margin-bottom: 5px;
		padding-left: 10px;
		
	}
	
	#hi_s_text {
		
		padding-top: 100px;
		/*border-top: 1px solid #cdcdcd;*/
		
	}
	
	.ph-widget {
		position: fixed;
		bottom: 100px;
		right: 40px;
		width: 50px;
		height: 50px;
		z-index: 1000;
	}

	.ph-widget img {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		transition: transform 0.3s ease;
	}

	.ph-widget img:hover {
		transform: scale(1.1);
	}
	
	.tg-widget {
		position: fixed;
		bottom: 40px;
		right: 40px;
		width: 50px;
		height: 50px;
		z-index: 1000;
	}

	.tg-widget img {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		transition: transform 0.3s ease;
	}

	.tg-widget img:hover {
		transform: scale(1.1);
	}

	@keyframes pulse {
		0% {
			transform: scale(1);
			opacity: 1;
		}
		50% {
			transform: scale(1.05);
			opacity: 0.8;
		}
		100% {
			transform: scale(1);
			opacity: 1;
		}
	}

	.ph-widget img {
		animation: pulse 2s infinite;
	}

	.tg-widget img {
		animation: pulse 2s infinite;
	}
	
	.mob-ais {

        align-items: flex-start;

    }
	
	#badgedProducts {
		
		margin-top: 120px;
		margin-bottom: 60px;
		
	}
	
	.hi-light-text {
		
		font-size: 28px;
		line-height: 36px;
		font-weight: 600;
		
	}

    .contacts-items {

        margin-top: 150px;
        margin-bottom: 150px;

    }

    .contacts-city {

        font-size: 26px;
        font-weight: 500;
        margin-bottom: 4px;

    }

    .contacts-city-url a {

        font-size: 12px;
        font-weight: 500;
        color: #696969;
        border-bottom: 2px solid #b3cd20;
        display: inline-block;
        padding-bottom: 4px;
        margin-bottom: 18px;

    }

    .contacts-address {

        font-size: 14px;
        line-height: 18px;

    }

    .contacts-wrapper .contact-item {

        width: 28%;

    }

    .contacts-gallery-item img {

        width: 232px;

    }
	
	.city-switcher-holder {
		
		position: relative;
		
	}

    .city-switcher {

        margin-left: 13px;
        margin-right: 13px;
        padding: 0 12px;
        background-color: #000;
        border-radius: 12px;
        width: fit-content;
        height: 21px;
        cursor: pointer;

    }

    .current-switch-city {

        font-size: 12px;
        font-weight: bold;
        color: #ffffff;
		text-transform: uppercase;

    }

    .current-city-marker {

        width: 8px;
        height: 8px;
        background-color: #21d760;
        border-radius: 50%;
		margin-right: 8px;

    }

    .city-switcher.city-menu {

		opacity: 0;
		background: none;
		transition: 0.5s;
		padding: 0;
		margin: 0;
		width: fit-content;

    }

    .city-switcher.city-menu a {

        line-height: 0;

    }

    .city-switcher.city-menu .current-switch-city {

        width: unset;
        margin-right: 18px;
        display: none;

    }

    .city-switcher.city-menu .current-city-marker {

        display: none;

    }

    .city-switcher.city-menu.active {

        width: fit-content;
		height: 21px;
        padding-left: 13px;
        margin: 0;
		opacity: 1;
		background: #000;

    }

    #city-switcher-menu a .current-city-marker {

        background-color: unset;

    }

    #city-switcher-menu a:hover .current-city-marker {

        background-color: #b3cd20;

    }

    #city-switcher-menu a.current .current-city-marker {

        background-color: #b3cd20;

    }
    
    .city-switcher.city-menu.active .current-switch-city,
    .city-switcher.city-menu.active .current-city-marker {

        display: inline-block;

    }
	
	.two-columns-text {
		
		column-count: 2;          /* Количество колонок */
        column-gap: 20px;
		
	}
	
	
	.blog-items-wrapper {
		
		width: 100%;
		
	}
	
	.blog-head {
		
		padding: 55px 0;
		
	}
	
	.blog-head-title {
		
		font-size: 48px;
		
	}
	
	.blog-head-description {
		
		font-size: 24px;
		max-width: 60%;
		line-height:1.8rem;
		
	}
	
	.blog-head-divider {
		
		border-top: 4px solid #21d760;
		max-width: 300px;
		margin-top: 88px;
		
	}
	
	.blog-item {
		
		flex: 0 1 calc(33.333% - 20px); /* 33.333% ширины, минус отступы от gap */
		box-sizing: border-box; /* Учитываем padding и border в ширину */
		margin-bottom: 30px;
		
	}
	
	.blog-item .article-preview-img-holder {
		
		overflow: hidden;
		position: relative;
		height: 300px;
		margin-bottom: 20px;
		
	}
	
	.blog-item.lead-article {
		
		flex: 0 1 100%;
		margin-bottom: 30px;
		
	}
	
	.blog-item.lead-article .lead-article-preview-img-holder {
		
		width: 65%;
		height: 350px;
		overflow: hidden;
		position: relative;
		
	}
	
	.blog-item .lead-article-preview-img-holder img,
	.blog-item .article-preview-img-holder.article-preview-img-holder img {
    
		width: 100%;
		height: 100%;
		object-fit: cover;   /* Масштабируем изображение, чтобы заполнить контейнер */
		object-position: center; /* Центрируем изображение */
	
	}
	
	.blog-item .article-info {
		
		width: 100%;
		
	}
	
	.blog-item .lead-article-info {
		
		width: 35%;
		
	}
	
	.blog-item .article-title {
		
		font-size: 18px;
		
	}
	
	.blog-item .article-title,
	.blog-item .lead-article-title {
		
		margin-bottom: 10px;
		
	}
	
	.blog-item .article-preview-text,
	.blog-item .lead-article-preview-text {

		color: #727272;
		
	}
	
	.blog-item .article-preview-text p,
	.blog-item .lead-article-preview-text p {

		font-size: 16px;
		line-height: 22px;
		font-weight: 300;
		
	}
	
	.article-details .article-date,
	.article-details .article-author,
	.article-details .article-category,
	.lead-article-details .article-date,
	.lead-article-details .article-author,
	.lead-article-details .article-category {
		
		padding-left: 20px;
		background-position: left center;
		background-repeat: no-repeat;
		background-size: 14px;
		font-size: 14px;
		margin-right: 14px;
		
	}
	
	.article-details .article-date,
	.lead-article-details .article-date {
		
		background-image: url('/images/calendar_icon.png');
		
	}
	
	.article-details .article-author,
	.lead-article-details .article-author {
		
		background-image: url('/images/author_icon.png');
		
	}
	
	.article-details .article-category,
	.lead-article-details .article-category {
		
		background-image: url('/images/category_icon.png');
		
	}
	
	.single-article-head-image {
		
		height: 60vh;
		overflow: hidden;
		position: relative;
		margin-bottom: 30px;
		
	}
	
	.single-article-head-image img {
	
		width: 100%;
		height: 100%;
		object-fit: cover;   /* Масштабируем изображение, чтобы заполнить контейнер */
		object-position: center; /* Центрируем изображение */
	
	}
	
	.single-article-title {
		
		position: absolute;
		bottom: 40px;
		left: 30px;
		color: #fff;
		
	}
	
	.single-article-content {
		
		margin-top: 30px;
		margin-bottom: 50px;
		
	}
	
	ul.pagination {
		
		display: flex;
		list-style-type: none;
		align-items: center;
		justify-content: center;
		
	}
	
	ul.pagination li {
		
		margin-right: 10px;
		
	}
	
	ul.pagination li:last-child {
		
		margin-right: 0;
		
	}
	
	.hi-image-container {
	  overflow: hidden; /* чтобы обрезать то, что выходит за границы */
	  position: relative;
	  height: 100%;
	}

	.hi-responsive-img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover; /* Изображение пропорционально вписывается и заполняет контейнер, обрезая лишнее */
	  object-position: center center; /* Центрируем изображение */
	  display: block; /* Убирает возможные пробелы под изображением */
	}
	
	picture {
		
		width: 100%;
		height: 100%;
		
	}
	
	.badged_text {
		
		color: #fff;
		
	}
	
	section.hero-form {
	
	background-color: #000;
	padding: 50px 0;
	
	}

	.brand-color {
		
		color: #21d760;
		
	}

	.hero-form-title {
		
		font-size: 30px;
		line-height: 30px;
		color: #fff;
		margin-bottom: 28px;
		
	}
	
	.hero-form-small-title {
		
		font-size: 24px;
		line-height: 26px;
		color: #1e1d1d;
		margin-bottom: 30px;
		
	}

	.hero-form-logo {
		
		margin-bottom: 20px;
		
	}
	
	.hero-form-small-logo {
		
		margin-bottom: 30px;
		
	}

	.hero-form-logo img,
	.hero-form-small-logo img,
	.team-vacan-logo img {
		
		width: 45px;
		
	}

	.hero-form-input-group {
		
		width: 356px;
		position: relative;
		margin-bottom: 28px;
		
	}
	
	.hero-form-small-input-group {
		
		width: 198px;
		position: relative;
		margin-bottom: 28px;
		
	}

	.hero-form-input-group button,
	.hero-form-input-group input {
		
		flex-shrink: 0;
		margin-bottom: 0;
		
	}

	.hero-form-input-group input {
		
		font-size: 15px;
		border: 1px solid #e4e4e4;
		
	}

	.hero-form-input-group button {

		position: absolute;
		right: 0;
		
	}

	.hero-form-end-text {
		
		font-size: 15px;
		color: #fff;
		
	}
	
	.hero-form .response-message {
		
		border: none !important;
		padding-top: 32px;
		padding-bottom: 68px;
		
	}
	
	.full-width-hi-block {
	  width: 99.11111vw;
	  margin-left: calc(-50vw + 50% + 8.5px);
	  margin-right: calc(-50vw + 50% + 8.5px);
	}
	
	.category-intro-text-logo img,
	.team-intro-text-logo img {
		
		width: 46px;
		height: 46px;
		
	}
	
	#category-inro-text {
		
		padding: 66px 0 128px 0;
		
	}
	
	#team-intro-text {
		
		padding: 48px 0;
		
	}
	
	.category-intro-text {
		
		font-size: 23px;
		line-height: 28px;
		color: #727272;
		margin: 47px auto;
		font-weight: 500;
		
	}
	
	.category-intro-text-call {
		
		font-size: 12px;
		line-height: 18px;
		font-weight: 300;
		
	}
	
	.form-messages.error {
		
		color: #ff0000;
		text-align: center;
		font-size: 14px;
		padding: 10px 0;
		
	}
	
	.form-messages.error ul {
		
		list-style-type: none;
		padding: 0;
		
	}
	
	p.error-field {
		
		margin: 6px 0;
		
	}
	
.grid-container {
  display: grid;
}

.one-column {

    grid-template-columns: repeat(1, 1fr);

}

.two-columns {
	
	grid-template-columns: repeat(2, 1fr);
	
}

.four-columns {
	
	grid-template-columns: repeat(4, 1fr);
	
}

.five-columns {
	
	grid-template-columns: repeat(5, 1fr);
	
}

.grid-item {

	display: block;

}

/* Ключевая часть: объединение двух строк */
.special-block {
  grid-column: 4; /* Четвертая колонка */
  grid-row: 3 / span 2; /* Начиная со 2-го ряда, занимает 2 ряда */
  display: flex;
  align-items: center;
  justify-content: center;
}

.special-block.prod-year-form {
	
	height: 437px;
	background-color: #f5f5f7;
	
}

.prod-year {
	
	padding-bottom: 50px;
	
}


.year-product-item {
	
	position: relative;
	
}

.year-product-item .hi_badge {
	
	position: absolute;
    top: 16px;
    left: 16px;
	
}

.prod-year-title {
	
	font-size: 36px;
	color: #888888;
	
}

.prod-year-separator,
.team-separator {
	
	width: 100%;
	border-top: 1px solid #cdcdcd;
	margin: 36px 0 48px 0;
	
}

.team-separator {
	
	margin: 80px 0 116px 0;
	
}

.team-vacan-block {
	
	background-color: #f5f5f7;
	height: 290px;
	padding: 32px 0;
	
}

.team-vacan-logo img {
	
	width: 34px;
	
}

.team-vacan-text {
	
	font-size: 24px;
	line-height: 26px;
	font-weight: 700;
	
}



.prod-year-info {
	
	padding: 11px 0 11px 14px;
	
}

.prod-year-info span {
	
	display: block;
	
}

.prod-year-name,
.prod-year-params {
	
	font-size: 15px;
	line-height: 18px;
	font-weight: 700;
	
}

.prod-year-params {
	
	font-size: 14px;
	color: #9b9b9b;
	font-weight: 300;
	
}

.team-intro-text-logo {
	
	
	
}

.team-intro-text {

	font-size: 48px;
    line-height: 52px;
    padding: 60px 0;
	font-weight: 900;
	
}

.highlight-brand-text {
   
    background-color: #1afa67;
    display: inline-block;
    padding: 0 calc(var(--highlight-padding) * 2);
    margin: 0;
    line-height: 1;
    position: relative;
    top: calc(var(--highlight-padding) * -1);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
	padding-bottom: 4px;
}

/* Тонкая настройка под конкретный текст */
.highlight-brand-text[data-text="в выдающемся"] {
    --highlight-padding: 0.03em 0;  /* меньше отступов */
}

.blur {
	
	position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1;
	
}


.mobile-br {
		
	display: none;
		
}

.catalog-items.dizayn .hi-image-container {

    height: 600px;

}

/*-----------------ADAPTIVE SECTION-----------------------*/

/* Мобильные устройства (портретная ориентация) */
@media (max-width: 430px) {
	
	.catalog-items.dizayn .hi-image-container {

        height: 400px;

    }
    
    
    .catalog-items.dizayn .catalog-item {

        width: 300px;
        margin-bottom: 30px;

    }
    
    .catalog-items.dizayn .catalog-item .intro-label {

        display: none !important;

    }
	
    .catalog-items.dizayn .grid-container {

        scroll-behavior: smooth;

    }
    
    
    
    .desktop-br {
		
		display: none;
		
	}
	
	.mobile-br {
		
		display: unset !important;
		
	}
	
	.team-intro-text {
	
		font-size: 34px;
		line-height: 42px;
		padding: 32px 0;
	
	}
	
	.teammate img {
	
		height: 390px;
	
	}
	
	.grid-container {
		grid-template-columns: 1fr;
	}

	.special-block.prod-year-form {
		grid-column: 1;
		grid-row: 3;
	}

	.category-intro-text {
		
		font-size: 18px;
		line-height: 23px;
		margin: 50px auto;
		
	}
	
	
	.hero-form-logo {
		
		margin-bottom: 74px;
		
	}
	
	.hero-form-title {
		
		font-size: 28px;
		
	}

	.hero-form-input-group {
		width: 202px;
		margin-bottom: 28px;
	}
	
	.hero-form-input-group input {
		margin-bottom: 12px !important;
	}
	
	.hero-form-input-group button {
		position: relative;
		right: unset;
	}
	
	.mobile-header-phone {
	
		display: unset;
	
	}
	
	.mobile-header-phone a {
		
		font-size: 14px;
		color: #000;
		
	}
	
	
	.blog-head-description {
		
		max-width: 100%;
		
	}
	
	.blog-item.lead-article .lead-article-preview-img-holder {
    
		width: 100%;
	
	}
	
	.blog-item .lead-article-info {
		
		width: 100%;
	
	}
	
	.city-switcher.city-menu {
		height: fit-content;
		position: absolute;
		bottom: -88px;

	}
	
	.city-switcher.city-menu a {
        margin-bottom: 14px;
    }

    .city-switcher.city-menu a:last-child {
        margin-bottom: 0;
    }

    .city-switcher.city-menu.active {
       
        height: fit-content;
        position: absolute;
        bottom: -88px;
        padding: 14px 10px;
        z-index: 9;
        opacity: 1;

    }
 
    .footer-info {

        padding: 0;
        width: 100%;

    }

    .footer-city,
    .footer-menu {

        width: 50%;

    }

    .contacts-items {
        margin-top: 15px;
        margin-bottom: 15px;
    }
    
    
    .contact-item {

        width: 100% !important;
        text-align: center;
        margin-bottom: 35px;

    }

    .contacts-gallery .contacts-gallery-item {

        margin-left: auto;
        margin-right: auto;
        margin-bottom: 25px;

    }

    .contacts-gallery-item img {

        width: 100%;

    }
    
    .hi-block {

        width: 100%;

    }

    .hi-text-block {

        width: 100% !important;
        height: unset !important;
        padding: 12px;

    }
    
    .hi-text-block.h290 {
        
        height: unset;

    }
    
    .hi-block-img img {

        width: 100%;

    }

    .hi-text-block.w895.absolute {

        position: relative !important;

    }
	
	.hi-text-block-caption {
		
		position: static;
		padding-right: 0;
		padding-left: 0;
	
	}
	
	.hi-text-block-caption .title {
		
		margin-bottom: auto !important;
		padding: 0 !important;
		font-size: 22px !important;
		line-height: 1em !important;
		color: #000000 !important;

	}
	
	.hi-text-block-caption .subtitle {
		
		font-size: 14px;
		line-height: 1.3em;
		color: #727272;
	}

    .container {
        
        padding-left: 5%;
        padding-right: 5%;
    
    }

    .mob-d-none {

        display: none;

    }

    .hi_menu_item {

        display: none;

    }

    div.hi_mans_block_image_caption-title h1 {
        font-size: 42px;
        line-height: 42px;
        font-weight: 700;
        margin-bottom: 25px;
    }

    .top-banner-social-buttons {

        margin-bottom: 0 !important;

    }

    .top-banner-caption-title.category .big-dash {

        margin-left: 10px;

    }

    .big-dash {
        width: 260px;
        margin-left: 0px;
        top: -8px;
    }

    .mob-fdc {

        flex-direction: column !important;

    }
	
	.mob-fdcr {
		
		flex-direction: column-reverse !important;
		
	}

    .mob-fdr {
        
        flex-direction: row !important;
    
    }

    .mob-ais {

        align-items: flex-start;

    }

    .mob-cr {

        flex-direction: column-reverse !important;

    }

    .mob-aic {

        align-items: center !important;

    }

    .mob-jcs {

        justify-content: flex-start;

    }

    .mob-w100 {

        width: 100% !important;

    }

    .mob-g0 {

        gap: 0;

    }

    .mob-g34 {

        gap: 34px;

    }

    h3.hi_mans_block_title {

        font-size: 18px !important;
        line-height: 18px;

    }
	
	p.hi_mans_block_title {

        font-size: 18px !important;
        line-height: 18px;

    }

    .page-title h2 {
        
        font-size: 34px;
    
    }

    h1.top-banner-caption-title,
    top-banner-caption-title.category {

        font-size: 36px !important;
        line-height: 40px !important;

    }

    .catalog-item .hi-block-img {

        width: unset !important;
        height: unset !important;
        aspect-ratio: 16/9;

    }

    .plans-wrapper {

        padding: 15% 10%;

    }

    #extMenu {

        display: none;
    
    }

    .service-item {

        padding: 42px;
    
    }
    
    .service-item .hi_mans_block_title {

        font-size: 22px !important;
        line-height: 26px;
        margin: 26px 0;
    
    }

    span.hi_cloud_bg {

        width: 164px;
        height: 32px;

    }

    span.hi_rectangle_underline {

        top: 20px;

    }

    .company-item .hi_mans_block_title {
        margin-top: 28px;
    }
    
    .service-item .hi_mans_block_title, .company-item .hi_mans_block_title {
        line-height: 24px;
    }

    .mob_menu_btn {

		display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;

    }

    .catalog-item-full .intro-label {
		
		display: none !important;
		
	}
	
	.plans-wrapper .plans-images-holder {
	
		display: none !important;
	
	}
	
	.plans-wrapper .plans-control-switch {
    
		padding: unset !important;
	
	}

    .plan-mob-img {

        display: block !important;

    }

    span.top-banner-caption-title {

        font-size: 42px;
        line-height: 46px;

    }
	
	span.top-banner-caption-title-small {

		font-size: 34px;
		line-height: 40px;

	}
	
	.category-banner-title {
		
		font-size: 36px;
        line-height: 40px;
		
	}
	
	p.category-banner-text {
		
		font-size: 22px;
		line-height: 24px;
		
	}
	
	.custom-category-title {
		
		font-size: 32px;
		
	}
	
	.dizayn .catalog-item-full {
		
		margin-bottom: 30px;
		
	}
	
	.tags_wrapper {
		
		margin-top: 34px;
		
	}
	
	.tag_item {
		
		margin-bottom: 32px;
		
	}
	
	.hi_prices {

        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;


    }

    .hi_price_item {

        flex: 0 0 auto;
        width: 74vw;
        scroll-snap-align: center;

    }
	
	.top-catalog-image-title {

		font-size: 42px;
		line-height: 60px;

	}
	
	.top-catalog-image-title {

		font-size: 34px;
		line-height: 40px;

	}
	
	.product-section-title {
    
		font-size: 30px;
	
	}
	
	.company-item {
    
		padding-top: 20px;
		padding-bottom: 70px;
	
	}
	
	.popup_wrapper {

		width: 95%;
		padding: 56px 20px;
	
	}
	
	.fp_title h2 {

		font-size: 30px;
	
	}
	
	.fp_title {
		
		margin-bottom: 36px;
	
	}
	
	.ph-widget {

		right: 20px;
        bottom: 86px;
		
	}
	
	.tg-widget {

		right: 20px;
        bottom: 20px;
		
	}
	
	.footer-copyright {

		font-size: 12px;

	}
	
	.two-columns-text {
		
		column-count: 1;
        column-gap: unset;
		
	}
    
}

/* Планшеты (портретная ориентация) */
@media (min-width: 426px) and (max-width: 768px) {

    
	.teammates.grid-container {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.hi_menu_item {

        display: none;

    }
	
	.mob_menu_btn {

		display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;

    }
	
	#extMenu {

        display: none;

    }

    .catalog-item-full {
        width: 100% !important;
    }

    .catalog-item-full .hi-block-img {

        width: 100%;

    }

    .hi_mans_block_info_line {
        display: none;
    }
	
	.mob-fdcr {
		
		flex-direction: column-reverse !important;
		
	}
	
    .mob-fdc {

        flex-direction: column !important;

    }
	
	.plans-wrapper {
        
		padding: 15% 10%;
    
	}
	
	.mob-w100 {
		
		width: 100% !important;
		
	}
	
	.container {
        
        padding-left: 5%;
        padding-right: 5%;
    
    }
	
	h1.top-banner-caption-title {

		font-size: 36px;
		line-height: 40px;
	
	}

    .hi-text-block.w386 {
        width: 100%;
    }

    .catalog-item .hi-block-img {
        width: unset !important;
        height: unset !important;
        aspect-ratio: 16 / 9;
    }
	
	.catalog-item-full .intro-label {
        display: none !important;
    }
	
	.hi-block {
        width: 100%;
    }
	
	.tag_item {
        margin-bottom: 32px;
    }
	
	.plans-wrapper .plans-control-switch,
	.plans-wrapper .plans-images-holder	{
	
		padding: 8% 0%;

	}
	
	.plans-wrapper .plans-images-holder img {
    
		min-width: unset;
	
	}
	
	#plan-description .accordion {
    
		max-width: unset;
	
	}

}


/* Планшеты (альбомная ориентация) и небольшие ноутбуки */
@media (min-width: 769px) and (max-width: 1024px) {
	
	
	.teammates.grid-container {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.category-banner-title {

        font-size: 36px;
        line-height: 36px;
        font-weight: 800;
        margin-bottom: 20px;

    }
	
	p.category-banner-text {
		
		font-size: 20px;
        line-height: 22px;
		
	}
	
	
	.featuredProductsWrapper .catalog-item-full .hi_mans_block_info_line {
		
		display: none !important;
		
	}
	
	/*.mob-fdc {

        flex-direction: column !important;

    }*/

    .container {
        
        padding-left: 5%;
        padding-right: 5%;
    
    }

    #extMenu {
        display: none;
    }

    .catalog-item-full {
        width: 100% !important;
    }

    .catalog-item-full .hi-block-img {
        width: 100% !important;
    }

    /*.catalog-item .hi-block-img {
        
        width: 444px; 

    }*/

    .featuredProductsWrapper .catalog-item {

        width: calc(50% - 10px);

    }

    .catalog-item {
        
        width: calc(50% - 10px) !important; 

    }

    .catalog-item .hi-block-img {
        
        width: 100% !important; 

    }

    .service-item {
        padding: 3%;
        height: 250px !important;
    }

    .service-item .hi_mans_block_title, .company-item .hi_mans_block_title {
        font-size: 1.2em;
        line-height: 24px;
    }
	
    span.hi_cloud_bg {

        width: 160px;
        height: 35px;

    }

    span.hi_rectangle_underline {

        top: 18px;

    }
	
	.city-switcher {
		
		display: none !important;
		
	}
	
	.catalog-item-full {
        width: 100% !important;
    }
	
}

/* Неведомая херня, но заходят и такие */

@media (min-width: 1025px) and (max-width: 1199px) {
	
	.teammates.grid-container {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.container {
		
		padding-left: 5%;
        padding-right: 5%;
		
	}
	
	.featuredProductsWrapper .catalog-item,
	.catalog-item {
		
		width: calc(50% - 10px);
	
	}
	
	.catalog-item.catalog-item-full {
		
		width: 100% !important;
		
	}
	
	.catalog-item .hi-block-img {
		
		width: 100% !important;
		
	}
	
	
}

/* Ноутбуки и десктопы */
@media (min-width: 1200px) and (max-width: 2560px) {

	/*.featuredProductsWrapper .catalog-item-full .hi_mans_block_info_line {
		
		display: none !important;
		
	}*/

    .catalog-item-full .hi_mans_block_info_line {
		
		display: none !important;
		
	}

    .catalog-items.dizayn .catalog-item .hi_mans_block_info_line {

        display: none !important;

    }
	


}

/*@media (hover: none) and (pointer: coarse) {
    button:hover {
      all: unset;
    }
  }*/
/*-----------------ADAPTIVE SECTION-----------------------*/

/*-------------TEST---------------------*/

.gallery-image-holder img {
	
	width: 100%;
	height: 100%;
	object-fit: cover;
	
}


/*-------------TEST---------------------*/