@CHARSET "UTF-8";


@media screen and (max-width: 1400px) {
	.isIndexSlidertrue #headerContainer {margin-left:20px; margin-right:20px;}
	#indexSlider {height:calc(100vh - 40px);}
	#headerContainer {padding-top:20px;}
	#mainLogo a {width:190px;}
	
	#indexSlider .slide .data {padding:150px 100px 100px 100px;}
	#indexSlider .navigator {width:100px; }
	
	.specialistVecotrBlock .groupList .item {width:25%;}
	
	.textstyle h1, .textstyle .h1 {font-size:44px; padding-bottom:40px; }
	
	#copyrightData .copyright {font-size:14px; }
	#copyrightData {width:230px;}
	#footerContentData {padding-left:260px;}
}


@media screen and (max-width: 1200px) {
	.specialistSlider .slideData a .name {font-size:24px; }
	#specialistItemList .itemData a .name {font-size:24px; }

	#specialistVecotrOne .columns.isColumntrue .content {float:none; width:100%; }
	#specialistVecotrOne .columns .rightSide {float:none; width:100%; padding:0; }
	#specialistVecotrOne .blogListContainer {display:flex; flex-wrap:wrap; margin:0 -10px;}
	#specialistVecotrOne .blogListContainer .blogListItem {width:33.33%; padding:0 10px 50px 10px; }
	#fullBlogList .blogListContainer .blogListItem {width:33.33%; padding:0 10px 50px 10px; }
	
	#blogArticleOne .columns.isColumntrue .content {float:none; width:100%; }
	#blogArticleOne .columns .rightSide {float:none; width:100%; padding:0; }
	#blogArticleOne .blogListContainer {display:flex; flex-wrap:wrap; margin:0 -10px;}
	#blogArticleOne .blogListContainer .blogListItem {width:33.33%; padding:0 10px 50px 10px; }
	
	#bottomMenu {width:100%; padding:0; float:none; }
	#bottomMenu .cols {padding-top:0; padding-bottom:15px;}
	#bottomContacts {width:100%;  float:none; }
	#bottomContacts .caption {height:35px; }
	#pageFrames {margin-bottom:-440px;}
	#footerProtect {height:440px;}
	#footer {height:440px;}
}

@media screen and (max-width: 1100px) {
	#headerMainContent {height:50px; }
	.isIndexSliderfalse #headerMainData {padding-bottom:10px;  }
	.isIndexSliderfalse #mainLogo {top:-4px; }
	#mainLogo a {width:140px; }
	#headerContacts .whatsapp i {width:32px; height:32px; line-height:32px; font-size:18px; }
	#headerContacts .telegram i {width:32px; height:32px; line-height:32px; font-size:18px; }
	#headerContacts .search i {width:30px; height:30px; line-height:30px; font-size:16px; }
	
	#mainMenuData {display:none; }
	#headerContacts {right:70px; }
	#mobileMenuOpen {display:block; }
	
	.isFixHeader #mainLogo {top:0px;}
	.isFixHeader #headerMainContent {height:38px;}
	.isFixHeader.isIndexSlidertrue #headerMainContent {height:48px;}
	.isFixHeader #headerMainDataHeight {height:80px;}
	.isFixHeader.isIndexSlidertrue #headerMainDataHeight {height:100px;}
	.isFixHeader.isHeaderBannertrue #headerMainData {height:76px; }
	
	#indexSlider {margin-top:-80px; height:calc(100vh - 40px);}
	#indexSlider .slide .data {padding:70px 20px 20px 20px; }
	
	#specialistFilters .filterBlock {width:33.33%;}
	#specialistFilters .filterBlock.filterspecList {padding-right:10px;}
	#specialistFilters .filterBlock.filterpodList {padding:0 5px;}
	#specialistFilters .filterBlock.filtersectList {padding:0 0 0 10px;}
	#specialistFilters .filterBlock.control {width:100%; }
	
	#specialistItemList .itemData {width:33.33%;}
	
	.specialistVecotrBlock .groupList .item {width:33.33%;}
	
	#specialistVectorAnonsList .data {column-count:1; }
	#specialistVectorAnonsList .group {padding-bottom:30px; }
	#specialistVectorAnonsList .group:last-child {padding-bottom:0px; }
	
	#specialistMainOne .columns .right .buttonCols.isFirstPricetrue { display:block; }
	#specialistMainOne .columns .right .isFirstPricetrue .button {width:100%;}
	#specialistMainOne .columns .right .isFirstPricetrue .workSchedule {width:100%; margin-left:0; margin-top:30px; }
	
	
	/* Блоки с картинкой */
	.textBlockGallery2 {column-gap:20px; }
	.textBlockGallery2 > div {width:calc(50% - 10px); }
	
	.textBlockGallery3 {column-gap:21px; }
	.textBlockGallery3 > div {width:calc(33.33% - 14px); }
	
	
}

@media screen and (max-width: 1000px) {
	#specialistMainOne .columns .right .vectors .vectorsList .item {width:100%;}
}

@media screen and (max-width: 960px) {
	.maxWidth {padding:0 20px;}
	.blockMargin {margin-bottom:50px;}
	.blockPadding {padding-bottom:50px;}
	.contentMargin {margin-bottom:30px;}
	.contentPadding {padding-bottom:30px;}
	.contentMarginTop {margin-top:30px;}
	.contentPaddingTop {padding-top:30px;}
	
	#headerMainData {padding-top:20px; }
	#indexSlider {margin-top:-70px; }
	
	#onlineForm .cols {display:block; }
	#onlineForm .cols .formText {display:block; width:100%; margin-bottom:30px; padding:25px; }
	#onlineForm .cols .formData {display:block; width:100%; padding:0; }
	
	.swiper-button-prev:after {font-size:36px;}
	.swiper-button-next:after {font-size:36px;}
	#specialistIndexSlider .swiper-button-next {top:-47px;}
	#specialistIndexSlider .swiper-button-prev {top:-47px;}
	.aboutSlider  .swiper-button-next {top:-47px;}
	.aboutSlider .swiper-button-prev {top:-47px;}
	
	.specialistVectorSliderBlock .h2 span::before {top:9px;}

	#specialistPriceList .priceList h3 a:before {top:7px; }
		
	#specialistMainOne .columns .right .buttonCols { display:block; }
	#specialistMainOne .columns .right .workSchedule {width:100%; margin-left:0; margin-top:30px; }
		
		
	.textstyle h1, .textstyle .h1 {font-size:40px; padding-bottom:35px; }
	.textstyle h2, .textstyle .h2 {font-size:28px; padding-top:30px; padding-bottom:30px; }
	.textstyle h3, .textstyle .h3 {font-size:24px; padding-top:20px; padding-bottom:20px; }
	
	html {min-height:auto; height:auto;}
	body {min-height:auto; height:auto;}
	#pageFrames {margin-bottom:0;}
	#footerProtect {height:0;}
	#footer {height:auto; }
	#footerContent {padding-bottom:260px; }
	#copyrightData {width:100%; bottom:30px; }
	#footerContentData {padding:0; }
}

@media screen and (max-width: 800px) {
	
	#specialistMainOne .columns .left {float:none; width:100%; }
	#specialistMainOne .columns .left img {width:auto; margin:0 auto; }
	#specialistMainOne .columns .right {padding-left:0; padding-top:30px;}
	#specialistMainOne .priceListBlock .prices .item {float:none; padding-right:0; padding-left:0; }
	#specialistMainOne .priceListBlock .prices .item:nth-child(odd) {padding-right:0px;}
	#specialistMainOne .priceListBlock .prices .item:nth-child(even) {padding-left:0px;}

	#specialistMainOne .columns .right .vectors .vectorsList .item {width:calc(50% - 5px);}

	.specialistVecotrBlock .groupList .item {width:50%;}	
	
	.priceList .table {display:block;}
	.priceList .table .tr {display:block;}
	.priceList .table .td {display:block; }
	.priceList .table .tr.head {display:none;}
	
	.priceList .table .tr.line .td {border-bottom:none; }
	.priceList .table .tr.line .td.name {border-bottom:none; }
	/* #specialistPriceList .priceList .table .tr.line .td.code {width:33.33%; float:left; padding:5px; border-radius:5px 0 0 5px; background:#f2f2f2; } */
	.priceList .table .tr.line .td.time {width:50%; float:left; padding:5px; background:#f2f2f2; border-radius:5px 0 0 5px; }
	.priceList .table .tr.line .td.price {width:50%; float:left; padding:5px; border-radius:0 5px 5px 0; background:#f2f2f2; }
	.priceList .table .tr.line .td span {display:block;}

	.specialistVectorSlider {padding-right:50px;}

	#specialistMainOne .priceListBlock .prices {padding:20px 15px; }
	#specialistMainOne .priceList .table .tr.line .td.time {background:#fff;}
	#specialistMainOne .priceList .table .tr.line .td.price {background:#fff; }

	#specialistItemList .itemData a .icons.type11.isHover1 .icon.fast {left:calc(100% - 40px);}
	
	#specialistVecotrOne .blogListContainer .blogListItem {width:50%; }
	#fullBlogList .blogListContainer .blogListItem {width:50%; }
	#blogArticleOne .blogListContainer .blogListItem {width:50%; }
	.blogListItem .author .authorName {font-size:20px;}
	.blogListItem .name {font-size:19px;}
	
	#contactsData .blue {width:100%; padding:30px; }
	#contactsData .button {position:relative; top:auto; right:auto; margin:30px 0; text-align:center; }
	#mapsData {margin-top:0;}
	
	#onlineForm .cols .formText .orderSpecialicName {font-size:22px; font-weight:500;}
	
	/* Блоки с картинкой */
	.textBlockGallery3 {column-gap:0; }
	.textBlockGallery3 > div {width:100%; }
	
	#indexSlider .slide .text1 {font-size:26px; padding-bottom:15px; }
	#indexSlider .slide .text2 {font-size:16px;}

	
}	

@media screen and (max-width: 700px) {
	body {font-size:17px; }
	.maxWidth {padding:0 15px;}
	
	#headerBanner table td {font-size:16px; line-height:17px;}
	
	.isIndexSlidertrue #headerContainer {margin-left:15px; margin-right:15px;}
	#headerContainer {padding-top:15px; margin-bottom:30px; }
	
	#mainLogo {top:5px; }
	.isIndexSliderfalse #mainLogo {top:5px;}
	#mainLogo a {position:relative; width:120px; height:25px; overflow:hidden; }
	#mainLogo a img.mainLogo {position:absolute; left:0; top:-16px; width:130px; max-width:none; }
	#headerContacts {right:55px;}
	#headerContacts .phone {font-size:0; transition:transform 0.2s; margin-left:7px;}
	#headerContacts .phone i {display:block; border-radius:100px; background:#7db828; }
	#headerContacts .phone:hover {transform:scale(1.2);}
	#headerContacts .whatsapp {margin-left:7px;}
	#headerContacts .telegram {margin-left:7px;}
	#headerContacts a:first-child {margin-left:0px;}
	
	.isFixHeader #mainLogo a {width:115px; height:auto; top:-1px; }
	.isFixHeader.isIndexSlidertrue #mainLogo a {top:5px; }

	#indexSlider {height:calc(100vh - 30px)}
	#indexSlider .sliderSizeImage {display:none;}
	#indexSlider .sliderSizeImageMob {display:block;}
	#indexSlider .slide .desktop {display:none;}
	#indexSlider .slide .mobile {display:block;}
	
	
	#specialistIndexSlider .swiper-button-next {top:-35px;}
	#specialistIndexSlider .swiper-button-prev {top:-35px;}
	.aboutSlider  .swiper-button-next {top:-35px;}
	.aboutSlider .swiper-button-prev {top:-35px;}
	
	.textstyle h1, .textstyle .h1 {font-size:30px; padding-bottom:25px; }
	.textstyle h2, .textstyle .h2 {font-size:28px; padding-top:20px; padding-bottom:20px; }
	.textstyle h3, .textstyle .h3 {font-size:24px; padding-top:15px; padding-bottom:15px; }
	
	#indexSlider .slide .data {padding:90px 40px 60px 40px;}
	#indexSlider .navigator {width:100%; top:auto; bottom:0; height:50px; }
	#indexSlider .navigator table td span {display:inline-block; margin:0 7px; width:24px; height:24px; }
	#indexSlider .navigator table td span i {left:5px; top:5px; }
	
	.aboutBlock .left {float:none; width:100%; }
	.aboutBlock .right {float:none; width:100%; }
	.aboutBlock .right img.main {display:none;}
	.aboutBlock .right img.point {display:none;}
	.aboutBlock .right .more {font-size:0;}
	.aboutBlock .right .more a {min-width:auto; padding:20px 0; }
	.aboutBlock .right .more a.price {width:calc(39% - 10px); font-size:16px; margin:0 10px 0 0; }
	.aboutBlock .right .more a.online {width:61%; font-size:16px; margin:0; }
	
	.specialistSlider .slideData a .name {font-size:21px; }
	#specialistItemList .itemData a .name {font-size:21px; }
	
	#specialistFilters .filterBlock {width:100%; padding:0 !important; margin-bottom:25px;}
	#specialistFilters .filterBlock .caption {height:30px;}
	#specialistItemList .itemData {width:50%;}
	
	#bottomMenu {column-count:auto; }
	#bottomContacts .contacts {column-count:auto; }
	#bottomContacts .contacts .address {padding-bottom:20px;}
	#bottomContacts .socials span {display:block; padding-bottom:10px; }
	#bottomContacts .socials a {margin-left:0; margin-right:7px;}
	
	.textBlockGallery2 {column-gap:0px;}
	.textBlockGallery2 > div {width:100%; }
	
	.gfx-tooltip .tooltiptext {left:50%; transform:translateX(-50%); visibility:visible; opacity:1; display:none; }
	.gfx-tooltip.active .tooltiptext {display:block;}
	
}

@media screen and (max-width: 560px) {
	#specialistVectorAnonsList .group .items {column-count:1; }
	#specialistMainOne .columns .right .vectors .vectorsList .item {width:100%;}
	
	#specialistMainOne .columns .right .isFirstPricetrue .button {display:block; text-align:center; padding:20px; border-radius:30px; }
	#specialistMainOne .columns .right .isFirstPricetrue .button .text {position:relative; left:auto; top:auto; margin-bottom:20px; }
 
	#indexSlider .slide .text1 {font-size:30px; padding-bottom:25px; }
	#indexSlider .slide .text2 {font-size:18px;}
 
}

@media screen and (max-width: 440px) {
	#specialistItemList .itemData {width:100%;}
	#specialistItemList .itemData:last-child {margin-bottom:0;}
	
	#specialistMainOne .textListBlock .buttons .button {margin-right:0; width:100%;}
	#specialistMainOne .right .button a {width:100%;}
	
	#specialistMainOne .textListBlock .buttons .tab {margin-right:0; width:100%; border:2px solid #29a9eb; border-radius:20px;}
	#specialistMainOne .textListBlock .buttons .tab:hover {border:2px solid #7db828; color:#7db828; }
	#specialistMainOne .textListBlock .buttons .tab.active {background:#7db828; border:2px solid #7db828; color:#fff; }
	
	.specialistVecotrBlock .groupList .item {width:100%;}
	.specialistVecotrBlock .groupList .item a {min-height:90px;}
	
	#specialistVecotrOne .blogListContainer .blogListItem {width:100%; }
	#fullBlogList .blogListContainer .blogListItem {width:100%; }
	#blogArticleOne .blogListContainer .blogListItem {width:100%; }
	
	#onlineForm .cols .formData .stdFormData .rowLine {float:none; width:100%; padding-bottom:20px;}
	#onlineForm .cols .formData .stdFormData .rowLine:nth-child(odd) {padding-right:0px;}
	#onlineForm .cols .formData .stdFormData .rowLine:nth-child(even) {padding-left:0px;}

}

@media screen and (max-width: 370px){
	#headerContacts .search {display:none;}
	.menuOpen #headerContacts .search {display:inline-block;}
}


/* ================================
   GFX CODE: styleSelect (filters) — mobile fix
   перенос строк + отступ выпадашки + мягкая тень
   ================================ */

@media screen and (max-width: 700px){

  /* 1) Кнопка селекта: разрешаем перенос */
  #specialistFilters .styleSelect{
    height: auto;
    min-height: 46px;
  }

  #specialistFilters .styleSelect .selected{
    height: auto;
    min-height: 46px;
    line-height: 1.2;          /* вместо 46px, чтобы перенос работал */
    padding-top: 12px;         /* выравнивание по высоте */
    padding-bottom: 12px;
  }

  #specialistFilters .styleSelect .selected .data{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.2;
  }

  /* стрелку держим по центру относительно блока */
  #specialistFilters .styleSelect .arrow{
    top: 50%;
    transform: translateY(-50%);
  }
  #specialistFilters .styleSelect.isOpen .arrow{
    transform: translateY(-50%) rotate(-180deg);
  }

  /* 2) Выпадашка: делаем зазор от “кнопки” */
  #specialistFilters .styleSelect .expandList{
    top: calc(100% + 10px);
    margin-top: 0;

    /* 3) Тень — “едва заметная”, без грязи */
    box-shadow: 0 10px 25px rgba(0,0,0,0.10);
    border: 1px solid rgba(0,0,0,0.06);
  }

  /* 4) Пункты списка: разрешаем перенос */
  #specialistFilters .styleSelect .expandList .item{
    white-space: normal !important;
    height: auto !important;
    line-height: 20px !important;
    overflow: visible !important;
    text-overflow: clip !important;

    padding-top: 6px;
    padding-bottom: 6px;

    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
