/* Общие стили */
html { visibility: visible !important; }
.page, #page { overflow-x: clip!important; }

.row-flex { display: flex; flex-wrap: wrap; margin-bottom: 0; }
.center { flex: 0 0 auto; } 
.pswp__caption__center { text-align: center!important; }
.fit-content { width: fit-content; }
.equal_blocks { display: flex!important; align-items: stretch!important; min-height: 100%!important; }
.w-800 { max-width: 800px; }

.border-1 { border-width: 1px !important; }
.border-2 { border-width: 2px !important; }
.border-3 { border-width: 3px !important; }
.border-4 { border-width: 4px !important; }
.border-5 { border-width: 5px !important; }

.rounded-0 { border-radius: 0!important; }	
.rounded-1 { border-radius: 0.8rem!important; }
.rounded-2 { border-radius: 1.5rem!important; }

.shadow-sm { box-shadow: 0 0.1rem 0.7rem rgb(26 26 26 / 18%) !important; }


/* Стили заголовков */
.content_item h1:first-child, .content_item h2:first-child, .content_item h3:first-child, .content_item h4:first-child, 
.content_item h5:first-child, .content_item h6:first-child { margin-top: 0; }

.main_title_block { line-height: 1.1!important; }
.title_main { font-size: 3.438rem!important; }
.title_secondary { font-size: 2.125rem!important; }
.title_small { font-size: 2.625rem!important; }
.title_medium { font-size: 2.938rem!important; }
.title_large { font-size: 3.438rem!important; }

.sub_title_main { font-size: 1.313rem!important; }
.sub_title_secondary { font-size: 1.313rem!important; }


/* Десктопные стили */
@media (min-width: 768px) {

    .content_item h2 { font-size: 1.65rem; margin-top: 3.2rem; margin-bottom: 1.4rem; }
    .content_item h3 { font-size: 1.4rem; margin-top: 1.8rem; margin-bottom: 1.1rem; }
    .content_item p { margin-top: 0; margin-bottom: 1.5rem; }
	
}

/* Адаптивные таблицы */
.adaptive_table_div { overflow-x:auto!important; }
.adaptive_table { width:100%!important; }
.adaptive_table_div::-webkit-scrollbar { width: 12px; height: 4px; }
.adaptive_table_div::-webkit-scrollbar-track { background: #9393934d; }
.adaptive_table_div::-webkit-scrollbar-thumb {  background-color: #9393934d; }


/* Стили меню */
#desktop_device_type .icms-navbar .nav-link { padding-top:0.8rem!important; padding-bottom:0.8rem!important; }
.icms-user-menu { background: none!important; }
.light_wrapper .widget_user_avatar .dropdown-menu, .light_wrapper .widget_user_avatar .dropdown-menu { background: #fff!important; }
.light_wrapper .widget_user_avatar .dropdown-menu .dropdown-item, .light_wrapper .widget_user_avatar .dropdown-menu a, 
.light_wrapper .widget_user_avatar .dropdown-menu .dropdown-item { color:#000!important; }
.dark_wrapper .widget_user_avatar .dropdown-menu, .dark_wrapper .widget_user_avatar .dropdown-menu { background: #272727!important; }
.dark_wrapper .widget_user_avatar .dropdown-menu .dropdown-item, .dark_wrapper .widget_user_avatar .dropdown-menu a, 
.dark_wrapper .widget_user_avatar .dropdown-menu .dropdown-item { color:#ececec!important; border-color:#454545!important; }
.mobile_header_buttons .btn { width: 100%!important; }


/* Стили мобильного меню */
#header .custom_menu #mmenu {  }
#panel-menu .mm-navbar, #panel-profile .mm-navbar { display:none; }
.mm-wrapper__blocker { background: none; }
.mm-panel .mm-navbar .mm-navbar__title { }
.mm-panel, .mmenu_dropdown .mm-panels { position:inherit!important; }
.mm-listview { }
.mm-listitem { }
.mm-listitem > a { }
.mm-listitem > a:hover { }
.mm-menu .mm-navbar__title { justify-content: left!important; margin-top: 12px; margin-bottom: 10px; }
.mm-menu .mm-navbar__title .avatar__mini, .mm-menu .mm-navbar__title img { border-radius: 50%; display: inline-block; margin-right: 8px; }
.mm-menu .mm-navbar__title .nickname { margin-bottom: 15px; display: inline-block; }
.mobile_menu_icon { padding-left:10px; margin-right:10px; }
.dropdown_mobile_menu #mmenu_content, .dropdown_mobile_menu .mm-blocker, .dropdown_mobile_menu .mm-panel:after { display:none; } 
.dropdown_mobile_menu #mmenu, .dropdown_mobile_menu .mm-menu--offcanvas { width:100%; position:absolute!important; }
.dropdown_menu_block .mm-listitem__text { padding-left:8px!important; }
.dropdown_menu_block .mm-listitem:after { inset-inline-start: 0px!important; }
.mmenu_dropdown #mmenu_content, .mmenu_dropdown .mm-blocker, .mmenu_dropdown #mmenu, .mmenu_dropdown .mm-menu--offcanvas { width:100%; }
.mmenu_dropdown #mmenu_block { height:100%!important; }
.mmenu_dropdown .mm-panel { display:none; }
.mmenu_dropdown .mm-panel--opened, .mm-listitem--opened .mm-panel { display:block; }
.mmenu_dropdown #mmenu_block, .mmenu_dropdown #mmenu, .mmenu_dropdown .mm-menu--offcanvas, .mmenu_dropdown 
.sliding_dropdown #mmenu_block { height:350px; position:relative!important; }


/* Стили форм */
.icms-forms__wrap .success-text { margin-left: 50px!important; font-size: 2.3em!important; }
.icms-forms__wrap .alert { background-color: rgb(255 255 255)!important; }
.icms-forms__full-msg { z-index: 99; top: 0; left: 0; background-color: rgba(255, 255, 255, 0.85); color: #1a1a1a; }
.contact_form_block .button-submit, .contact_form_block input { width: 100%; height: 50px; }
.form_container { max-width: 580px; margin: auto; }
.constructor_forms .form-control { min-height: calc(1.5em + 0.75rem + 10px)!important; font-size: 1.1rem!important; }
.constructor_forms textarea { font-size: 1.1rem!important; }
.constructor_forms .close { color: #000000!important; } 
.icms-form__password-field-icon { font-size: 1.45rem; top: 0.24rem; }
@media all and (min-width: 1200px) and (max-width: 3500px) { .constructor_forms textarea { height: calc(3em + 0.75rem + 10px); } }
@media all and (min-width: 992px) and (max-width: 1199px) { .constructor_forms textarea { height: calc(3em + 0.75rem + 10px); } }
@media all and (min-width: 768px) and (max-width: 991px) { .constructor_forms textarea { height: calc(3em + 0.75rem + 10px); } }
@media all and (min-width: 576px) and (max-width: 767px) { .constructor_forms textarea { height: calc(4em + 0.75rem + 10px); } }
@media all and (max-width: 575px) { .constructor_forms textarea { height: calc(4em + 0.75rem + 10px); } }


/* Стили видеоблоков */
.min_height_desktop { min-height: 520px; }
.min_height_mobile { min-height: 400px; }
.video-container { overflow: hidden; max-width: 640px; max-height: 400px; width: 100%; position: relative; }
.video-container:before{ content: ""; display: block; padding-top: 62%; }
.video-container video { background:black; }
.video-container iframe, .video-container video { position:  absolute; top: 0; left: 0; bottom: 0; right: 0; max-width: 640px; max-height: 400px; }
.mx-auto .video-container { margin:auto; }


/* Стили кнопок */
.constructor .btn span { white-space:nowrap!important; }

.main_block .btn-mega { max-width: 350px!important; } 
.main_block .btn-mega { height: 3.3rem; line-height: 3.3rem; display: inline-table!important; font-size: 1.4rem; padding-left:2rem; padding-right:2rem; }

@media all and (min-width: 1200px) and (max-width: 3500px) { .album-btn-group { display: flex !important; } }
@media all and (min-width: 992px) and (max-width: 1199px) { .btn-lg-block {} .album-btn-group { display: flex !important; } }
@media all and (min-width: 768px) and (max-width: 991px) { .btn-md-block { } .album-btn-group { display: flex !important; } }
@media all and (min-width: 576px) and (max-width: 767px) {
		
	.btn-sm-style {	width:fit-content !important; margin-bottom:1.2rem !important; }
	.btn-sm-block { display: block !important; margin:0 auto 1rem auto !important; }
	.album-btn-group { display: block !important; }
	.album-btn-group .btn { margin-left:0px !important; margin-right:0px !important; }	
	
}
@media all and (max-width: 575px) {
	
	.btn-xs-style { width:fit-content !important; margin-bottom:1.2rem !important; }
    .btn-xs-block { display: block !important; margin:0 auto 1rem auto !important; }
	.album-btn-group { display: block !important; }
	.album-btn-group .btn { margin-left:0px !important; margin-right:0px !important; }
	
}


/* Стили карточек */
.card-cover { background-repeat: no-repeat; background-position: center center; background-size: cover; }


/* Модальные окна */
.modal-header { background:#fff!important; border-radius: 18px 18px 0 0; }
.modal-title, .userpay_payments_inputs .input-has-suffix .prefix, .userpay_payments_inputs .input-has-suffix .suffix { color:#000!important; }
.modal-title { margin-left: 30px; margin-top: 15px; padding-bottom: 25px; }
.modal-body { background:#fff!important; padding: 0px 30px 30px 30px; color:#000!important; border-radius: 0 0 18px 18px; }
.modal-backdrop { background: rgb(6 6 6 / 51%)!important; }
.modal-header .modal-close { padding:0.4rem 0.8rem 1rem 0!important; z-index: 10000!important; }
.modal-header .modal-close>svg { width: 1rem!important; height: 1rem!important; color: #ccc; }
.close { color: #000!important; box-shadow: none!important; text-shadow: none!important; }
.modal .constructor_forms { width: 100%; max-width: 480px; margin: 0 auto 0.5rem auto; padding: 0 0.4rem 0 0.4rem; }
.modal-dialog { display: flex!important; align-items: center!important; margin-left: auto!important; margin-right: auto!important; min-height: calc(100% - 3.5rem)!important; }
.modal .constructor_forms .close { display:none!important; }
.modal .icms-forms__full-msg { /* top:-35px!important; */ }


/* Стили групп полей */
.fieldgroup_block label:hover { cursor:move; }


/* Стили виджета-конструктора */
.modal_form .sortable_fieldset .field { background:#fff; }
.modal_form .sortable_fieldset label:hover { cursor:move; }

.widget_constructor_menu { list-style-type:none; margin:0px; padding:0px; }
.widget_constructor_menu li { float:left; margin-right: 15px; }


/* Стили collapsable text */
.main_block_text div.collapse:not(.show) { -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden!important; text-overflow: ellipsis; }
.main_block_text .collapse_link a.collapsed:hover { text-decoration:none; }
.main_block_text .collapse_link a:not(.collapsed) svg { transform: rotate(180deg); }
.main_block_text .collapse_link_min a.collapsed svg, .main_block_text .collapse_link_min a:not(.collapsed) svg { font-size: 16px; }
.main_block_text .collapse_link_small a.collapsed svg, .main_block_text .collapse_link_small a:not(.collapsed) svg { font-size: 21px; }
.main_block_text .collapse_link_standart a.collapsed svg, .main_block_text .collapse_link_standart a:not(.collapsed) svg { font-size: 24px; }
.main_block_text .collapse_link_big a.collapsed svg, .main_block_text .collapse_link_big a:not(.collapsed) svg { font-size: 28px; }
.main_block_text .area_min div.collapse:not(.show) { height: 42px !important; }
.main_block_text .area_min div.collapsing { min-height: 42px !important; }
.main_block_text .area_small div.collapse:not(.show) { height: 100px !important; }
.main_block_text .area_small div.collapsing { min-height: 100px !important; }
.main_block_text .area_standart div.collapse:not(.show) { height: 150px !important; }
.main_block_text .area_standart div.collapsing { min-height: 150px !important; }
.main_block_text .area_big div.collapse:not(.show) { height: 200px !important; }
.main_block_text .area_big div.collapsing { min-height: 200px !important; }
.main_block_text .area_extra div.collapse:not(.show) { height: 250px !important; }
.main_block_text .area_extra div.collapsing { min-height: 250px !important; }
.main_block_text .area_max div.collapse:not(.show) { height: 300px !important; }
.main_block_text .area_max div.collapsing { min-height: 300px !important; }
.main_block_text .collapse_link { margin-top: 10px !important; }


/* Стили видеофонов */
.block_content { position: relative; z-index: 2; }
.video_block { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 1; pointer-events: none; }
.video_background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; opacity: 0; transition: opacity 1s ease-in-out; }


/* Стили галереи */
.cfgallery .first_type_image, .cfgallery> .first_type_image img { width:100%!important; }
.cfgallery .gallery-item .img-fluid { max-width: fit-content!important; width: 100%!important; height: fit-content!important; }
.cfgallery_light_dots .flickity-page-dots .dot { background: #fff!important; } 
.img-cfgallery { position:relative; display:inline-block; }


/* Бегущая строка */
.marquee_block { white-space: nowrap; }


/* Карта на фоне блока */
.constructor .map_block { position:absolute; z-index:0; width:100%; height:100%; }
.main_block .map_block_container  { pointer-events: none!important; }
.main_block .map_block_container  .inner_element  { pointer-events: all!important; }


/* Адаптивные блоки в главном блоке */
.mainblock_adaptive a:hover { text-decoration:none; } 
.mainblock_adaptive_overlay::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.35); border-radius: inherit; z-index: 1; }
.mainblock_adaptive_overlay > * { position: relative; z-index: 2; }


/* Фиксированная шапка */
.sticky-header { position: sticky; top: 0; z-index: 1000; }


/* Налегающая шапка */
.layer-header { position: absolute; width: 100%; z-index: 100000; }


/* Стили квизов */
.flip-horizontal { transform: rotate(180deg)!important; display: inline-block; }
.radio_simple, .checkbox_simple { width: 20px; height: 20px; margin-right: 8px; }
.progress-bar-container { width: 100%; height: 4px; position: relative; border-radius: 2px; overflow: hidden; background-color: #e0e0e0; }
.progress-bar { width: 0%; height: 100%; transition: width 0.3s ease-in-out; } 


/* Стили виджета Adaptive */
.adaptive_block a:hover { text-decoration:none; }
.adaptive_block .album .card-body, .adaptive_block .card_light .card-body { padding: 15px 1.25rem 0 1.25rem!important; }


/* Стили табов */
.tabs_catalog_block { border-top: 2px solid #ffffff26; }
.vertical_slider_animation .tab-pane { transition: transform 0.3s ease-out; }
.vertical_slider_animation .tab-pane.collapsed { animation: collapse 0.3s ease-in forwards; }
.vertical_slider_animation .tab-pane.expanded { animation: expand 0.3s ease-out forwards; }
@keyframes collapse { 0% { transform: scaleY(1); } 100% { transform: scaleY(0); } }
@keyframes expand { 0% { transform: scaleY(0); } 100% { transform: scaleY(1); } }


/* Стили слайдера */
.carousel .flickity-slider > .rounded-1, .carousel .flickity-slider > .rounded-2 { transform: scaleX(0.97); margin-left: -9px!important; }
.carousel-content { max-width: 1000px; margin: 0 auto; position: relative; }
.expand_content { min-width: max-content; }
.cell_scaled { transform: scaleX(1)!important; margin-left: 0px!important; }
.carousel-cell { margin-right: 10px!important; }
.flickity-prev-next-button .flickity-button-icon { color: #adadad; }	
.flickity-prev-next-button { width:30px; height:30px; background-color: #1c1c1c1c; }
.flickity-prev-next-button:hover, .flickity-page-dots .dot { background-color: #1c1c1c91!important; }
.controls_in .flickity-page-dots { bottom:20px!important; }
.controls_in .flickity-prev-next-button.previous { left:15px!important; }
.controls_in .flickity-prev-next-button.next { right:15px!important; }
.controls_out .flickity-page-dots { bottom:-35px!important; }
.controls_out .flickity-page-dots .dot { background-color:#161616d6!important; }
.controls_out .flickity-prev-next-button.previous { left:-35px!important; }
.controls_out .flickity-prev-next-button.next { right:-35px!important; }
.flat_dots .flickity-page-dots .dot { height: 4px!important; width: 40px!important; margin: 0!important; border-radius: 0!important; }
.square_arrows .flickity-prev-next-button { width: 30px!important; height: 30px!important; border-radius: 5px!important; }
.big_arrows .flickity-button { background: transparent!important; }
.big_arrows .flickity-prev-next-button { width: 100px!important; height: 100px!important; }
.big_arrows .flickity-button-icon { fill: white!important; }
.big_arrows .flickity-button:disabled { display: none!important; }
.carousel .cells1 { width: 100%; }
.carousel .cells2 { width: 50%; }
.carousel .cells3 { width: 32.8%; }
.carousel .cells4 { width: 24.3%; }
.carousel .cells5 { width: 20%; }
.carousel .cells6 { width: 16.666666%; }
.carousel .cells7 { width: 14.285714%; }
.carousel .cells8 { width: 12.5%; }
.carousel .cells9 { width: 11.111111%; }
.carousel .cells10 { width: 10%; }


/* Стили аккордеона */
.adaptive_block .accordion .accordion_item { border: none!important; }
.adaptive_block .accordion .accordion-header { border: 0; margin-bottom: 0; overflow:hidden; cursor: pointer; border-radius: 2px; }
.adaptive_block .accordion .accordion-header .accicon { float: right; }
.adaptive_block .accordion .accordion-header:not(.collapsed) .rotate-180 { transform: rotate(180deg); }
.adaptive_block .accordion .accordion-header:not(.collapsed) .rotate-45 { transform: rotate(45deg); }
.adaptive_block .accordion .card .collapse { border: 0; }
.adaptive_block .accordion .card .collapse.show { line-height: 30px; }
.adaptive_block .accordion .card .collapsing { line-height: 30px; }

.adaptive_image a { height: 100%!important; }

@media (max-width: 768px) { .col-mobile { flex: 0 0 100%; max-width: 100%; padding-right: 15px; padding-left: 15px; } } 

.free-col { padding-right: 15px; padding-left: 15px; }

/* Для xs (≤576px) */
@media (max-width: 576px) {
	
    .adaptive_block .col-xs-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .adaptive_block .col-xs-3 { flex: 0 0 25%; max-width: 25%; }
    .adaptive_block .col-xs-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .adaptive_block .col-xs-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .adaptive_block .col-xs-6 { flex: 0 0 50%; max-width: 50%; }
    .adaptive_block .col-xs-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .adaptive_block .col-xs-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .adaptive_block .col-xs-9 { flex: 0 0 75%; max-width: 75%; }
    .adaptive_block .col-xs-12 { flex: 0 0 100%; max-width: 100%; }
	
}

/* Для sm (≥576px и ≤768px) */
@media (min-width: 576px) and (max-width: 768px) {
	
    .adaptive_block .col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .adaptive_block .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
    .adaptive_block .col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .adaptive_block .col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .adaptive_block .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .adaptive_block .col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .adaptive_block .col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .adaptive_block .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
    .adaptive_block .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .adaptive_block .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .adaptive_block .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
	
}