b, strong {
	font-weight: 500;
}
html, body {
	background-color:#F1F1F1 !important;
	font-family: 'Rubik';
	color: #2D2D2D;
}
html {
	font-size:16px;
	line-height:1.3em;
}
a {
	color: #2FA871;
	text-decoration: none;
}
header {
	
}
img.logo {
	max-width:100%;
}
.block {
	padding:24px 32px;
	margin-top:20px;
	background:#ffffff;
	border-radius: 20px;
	margin-bottom:40px;
}
header .menu {
	margin-left: 28px;
}
header .login, header .login a {
	color:#7E35A9;
	text-decoration:none;
	font-size:1em;
	font-weight: 600;
	
}
.btn {
	border-radius:100px;
	font-size:14px;
	padding: 12px 24px;
}

h1, h2, h3 {
	font-size:3em;
	font-weight:600;
}
h2, .h2 {
	font-size:2em;
	margin-top: 60px;
	margin-bottom:20px;
}
h3, .h3 {
	font-size:1.5em;
	margin-bottom: 20px;
}
h1 span, h2 span, .h2 span, h3 span, .h3:not(.company_h3) span {
	color: #DF006A;
}
.company_h3 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:10px;
}
p.subheading {
	font-weight: 400;
	font-size:1.125em;
	margin:24px 0;
}
.btn.big {
	padding:14px 72px;
	font-size:1.125em;
	font-weight: 600;
}
.slide img {
	max-width:100%;
	border-radius: 20px;
}
.catalogizator .btn {
	border: 2px solid #7E35A9;
	color:#2D2D2D;
	font-weight: 600;
	background:#ffffff;
	margin:4px;
}
.articlezator .btn {
	border: 2px solid #E6E6E6;
	color:#666666;
	font-weight: 600;
	background:#FBF9FF;
	margin:4px;
	border-radius:16px;
}
.articlezator .btn.active {
	border: 2px solid #DF006A;
	color:#DF006A;
	background:#FFF3F6;
}
.articlezator .btn:hover{
	border: 2px solid #DF006A;
	color:#ffffff;
	background:#DF006A;
}
.catblock {
	width:380px;
	height:300px;
	background-size: cover;
	display: flex;
	flex-direction: column;
	background-repeat: no-repeat;
	border-radius:20px;
	padding:8px;
	background-color:#888888;
	margin-bottom:40px;
	float:left;
}
#kuda_mobile .catblock {
	background-size: cover;
}
#kuda_mobile .catblock a {
	color:#666666 !important;
}
.catblock div, .slide-text {
	border-radius:20px;
	margin-top:auto;
	background: #FFFFFFCC;
	backdrop-filter: blur(10px);
	padding:16px;
	font-size:1em;
}
.glide__slide  {
	position: relative;
}
.glide__arrow {
	border-radius:50% !important;
	background:#FFFFFFDD !important;
	color:#000000 !important;
	border: none !important;
}
.glide__slide .slide-text {
	position:absolute;
	bottom:15px;
	right:20px;
	width:60%;
}
.catblock div p {
	color: #666666;
	font-size:1em;
}
.catblock1 {
	background-image: url('/media/images/layer-1.jpg');
}
.catblock2 {
	background-image: url('/media/images/layer-2.jpg');
}
.catblock3 {
	background-image: url('/media/images/layer-3.jpg');
}
.catblock4 {
	background-image: url('/media/images/layer-4.jpg');
}
.catblock5 {
	background-image: url('/media/images/layer-5.jpg');
}
.catblock6 {
	background-image: url('/media/images/layer-6.png');
}
.catblock7 {
	background-image: url('/media/images/layer-7.jpg');
}
.newsblock {
	border-radius:20px;
	background-color: #ffffff;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}
.news, .articles {
	gap:2em;
}
.news .newsblock { 
	width: 290px;
	}

.articles .newsblock { 
	width: 400px;
	}
.news .newsblock:nth-child(4n) {
	margin-right:0;
}
.articles .newsblock:nth-child(3n) {
	margin-right:0;
}
.newsblock:not(.newsblock2) div:first-child {
		height:200px;
	overflow:hidden;
	background-size: 100%;
	background-repeat:no-repeat;
	background-position:top center;
	margin-bottom:24px;
}
.newsblock div{
	padding-left:24px;
	padding-right:24px;
}
.newsblock div:last-child{
	padding-bottom:24px;
}
.h4 {
	font-size:1.125em;
	font-weight: 600;
	margin-bottom:20px;
}
.newsblock p a {
	color: #666666;
	font-size:1em;
}
.grey-badge, .green-badge {
	background: #F6F6F6;
	display:inline-block;
	padding: 6px 16px;
	border-radius:24px;
	color:#666666;
	margin-top:12px;
}
.green-badge {
	color:#2FA871;
	background:#EDF8F0;
}
.grey-badge i {
	color: #B4B4B4;
}
.info-text {
	font-size:1em;
	font-weight:400;
}
.dropdown-menu {
	border-radius:24px;
	padding:24px;
}
.dropdown-item {
	font-size:1.125em;
	font-weight:600;
	color:#666666;
}
.dropdown-item:hover, .dropdown-item:active{
	background:none;
	color:#666666;
}
.dropdown-toggle::after {
	border:none;
	content:"";
}
.dropdown-toggle.show .fa-chevron-down {
    --fa: "\f077";
}
.wa {
	background-image: URL('/media/images/wa.png');
	background-position:right bottom;
	background-repeat: no-repeat;
	margin-top:0;
	padding:40px;
}
.whatsappp i {
	font-size:2.5em;
	margin-right:18px;
	
}
.whatsappp {
	display: flex;
	align-items: center;
	padding:24px 32px;
}
.grey {
	color:#666666;
}
.block.green {
	background:#EDF8F0;
}
footer {
	background:#ffffff;
	padding-top:40px;
	padding-bottom:40px;
	font-size:1em;
}
.small {
	font-size:12px;
}
.form-control {
	background: #F1F1F1;
	border-radius:100px;
	padding:12px 20px;
}
.form-control:focus {
	box-shadow: none;
	background: #F1F1F1;
	border-color:#2FA871;
	
}
.menu p {
	color:#2D2D2D;
}
.menu a {
	color:#666666;
	font-weight:400;
}
.social {
	width:40px;
	height:40px;
	padding:14px;
	border-radius:100px;
	background:#F1F1F1;
	margin-right:12px;
}
.banner {
	max-width:100%;
}
.navbar-toggler {
	border:none;
}
.navbar-toggler:focus {
		box-shadow:none;
}
.navbar-expand-xl .navbar-nav {
        width: 100%;
		justify-content: center;
}

.navbar-expand-xl .navbar-nav a:first-child {
	margin-left:auto
}
.group, .company__events  {
	background: #ffffff;
	padding:24px;
	border-radius:24px;
}
.heading-group, .heading-group__item {
	background: #ffffff !important;
}
.company_image {
	width:120px;
	height:120px;
	border-radius: 120px;
	border: 1px solid #E6E6E6;
	margin-bottom: 24px;
	display: flex;
	flex-direction:column;
	justify-content:center;
	align-content: center;
	align-items:center;
	overflow: hidden;
}
.company_image img{
	max-width:120px;
	width:100%;
}
.company_info {
	font-size: 14px;
}
.company_info .phone {
	font-weight:500;
	font-size: 16px;
	display:inline-block;
	margin-top: 12px;
}
.company__events:not('.inside') .btn,
.tags .btn {
    border: 2px solid #7E35A9;
    color: #2D2D2D;
    font-weight: 500;
    background: #FBF9FF;
    margin: 4px;
	font-size:16px;
	padding:12px 16px;
}
.company__events:not('.inside')  .btn:hover,
.company__events:not('.inside')  .btn:active,
.company__events:not('.inside')  .btn.active 
{
    border: 2px solid #7E35A9;
    background: #7E35A9;
    color: #ffffff;
	padding:12px 16px;
}
.company__events:not('.inside')  .buttons {
    margin-bottom:32px;
}
.company__events:not('.inside')  .btn.active  .badge{
	background: #ffffff;
	color:#666666;
}
.company__events .newsblock{
	width:278px;
}
.company__events .newsblock a.image{
	display:block;
	height: 200px;
	background-position:top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.company__events .badge, .tags .badge{
	background: #7E35A9;
		padding: 6px;
    line-height: 10px;
	width:25px;
}
.tags .btn.active .badge, .events-colorized .btn.active .badge {
	background: #ffffff;
	color: #7E35A9;
	padding: 7px 0px;
    line-height: 10px;
}
.events-colorized .btn.active, .catalogizator .active, .catalogizator .active:hover{
	border: 1px solid #7E35A9;
	color:#FFFFFF;
	background:#7E35A9;
}
.tags .btn {
	border: 2px solid #7E35A9;
	color:#2D2D2D;
	font-weight: 600;
	background:#FBF9FF;
	margin:4px;
}
.tags .btn, .btn-purple-outline, .btn-purple:active, .btn-purple:hover  {
	border: 2px solid #7E35A9;
	color:#2D2D2D;
	font-weight: 600;
	background:#FBF9FF;
}
.tags .btn .badge, .btn-purple .badge{
	color:#ffffff;
	font-weight: 500;
	background:#7E35A9;
	border-radius:50%;
	padding: 6px;
    line-height: 10px;
}
.tags .btn.active, .btn-purple, .btn-purple-outline:active, .btn-purple-outline:hover {
	border: 2px solid #7E35A9;
	color:#ffffff;
	font-weight: 600;
	background:#7E35A9;
}

input.round
{
    display: none;
}

/* Создание кастомного внешнего вида для checkbox */
input.round + label 
{
    position: relative;
	width: 48px;
    height: 48px;
	display: flex;
    align-items: center;
    justify-content: center;
	color: #666666;
	font-size: 16px;
	font-weight: 500;
}

input.round + label::before 
{
    content: attr(value);
    position: absolute;
    left: 0;
    top: 0;
    width: 48px;
    height: 48px;
    border: 2px solid #E6E6E6;
	border-radius:50%;
	cursor: pointer;
}

/* Стилизация кастомного checkbox при выборе */
input.round:checked + label::before 
{
    border-color: #7E35A9;
}
input.round:checked + label 
{
	color:  #7E35A9;
}
.ages, .classes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items:center;

}
.form-check-input[type=checkbox]{
	width:24px;
	height:24px;
	border-color: #E6E6E6;
	cursor: pointer;
}
.form-check-input:checked {
	background-color: #fff;
	background-image: url('/media/img/chk.svg');
	background-size:14px;
	border-color: #E6E6E6;
	outline: none;
	box-shadow: none;
}
.btn-outline-light, .btn-outline-light:hover {
	border: 2px solid #7E35A9;
	background: #FBF9FF;
	color: #2D2D2D;
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
}
.check_values {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.form-check{
	display: flex;
	gap: 10px;
	align-items: center;
	cursor: pointer;
}
label {
	cursor: pointer;
}
.g24 {
	gap:24px;
}
#filter-clear {
	font-size: 1.125em;
    padding: 12px 24px;
}
.buttons {
	display: flex;
    flex-wrap: wrap;
    gap: 8px;
	margin-bottom: 24px;
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1280px;
    }
}
.row>* {
	padding-left: 10px;
	padding-right: 10px;
}
.margintop-8 {
	margin-top: -12px;
}
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2FA871;
    --bs-btn-border-color: #2FA871;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754;
}
.company__info__phone-number {
	font-weight: normal;
	font-size: 14px;
}
.company__info__web {
	overflow: hidden;
	text-overflow: ellipsis;
}
.page {
	margin-top:-20px;
}
.company__info__phone-number {
	font-weight:500 !important;
	padding:10px 16px !important;
}
.company__info__phone-number :hover{
	font-weight:500 !important;
}
.company h2 {
	margin-top:32px;
}
.company-gal {
	margin-left:-32px;
	margin-right:-32px;
	margin-top:-32px;
	display: flex;
	gap:20px;
	flex-direction:column;
	
}
.company-gal-first {

}
.company-gal-second {
	gap:15px;
	display: flex;
	flex-wrap: wrap;
}
.company-gal-first div, .company-gal-second div{
	width: 100%;
	aspect-ratio: auto 4/3;
	background-repeat: no-repeat;
	background-size:cover;
	background-position:center;
}
@media (min-width: 1200px) {
	.company-gal { 
		margin-top:-24px;
		flex-direction: row;
	}
	.company-gal-first {
	        flex: 1 0 57%;
}
.company-gal-second div{
	width:249px;
	height: 219px;
}
.company-gal-first div {
	height:458px;
	width: 100%;
	aspect-ratio: auto 4/3;
}
}
.tabs-navigation {
	display:flex;
	column-gap:24px;
	margin-bottom:-32px;
}
a.tabs__link {
	font-size: 16px;
	display:flex;
	gap:10px;
	color:#949494;
	height:46px;
	align-items:center;
	white-space:nowrap;
}
a.tabs__link span{
	font-size: 10px;
	background: #2FA871;
	border-radius:50%;
	color:#ffffff;
	width:22px;
	height:22px;
	display:flex;
	align-items: end;
	justify-content: center;
	flex-basis: 40px;
}
a.tabs__link.active {
	color: #2FA871;
	font-weight: 600;
	border-bottom:2px solid #2FA871;
}

.wide-news {
	display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
.wide-news {
	  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
}
}
.wide-news .block{
	margin:0;	
}
.short-news__pic {
	width:100%;
}
.rounded {
	border-radius: 24px !important;
}
.article {
	border: 1px solid #E6E6E6;
    border-radius: 16px;
	width: 100%;
	display:flex;
	gap: 16px;
	margin-bottom:20px;
	font-weight: bold;
	align-items:center;
}
.article-img {
	width: 140px;
	height: 140px;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius:24px;
	flex: 0 0 140px;
}
.company-header {
	margin-top:-32px;
	margin-left:-32px;
	margin-right:-32px;
	padding:16px 32px;
	border-radius: 16px 16px 0 0;
	background: #ffffff;
	position: relative;
	z-index:999;
	display:flex;
	gap:8px;
	align-items:center;
}
.company .tabs-navigation {
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}
.logo-img {
	width:108px;
	height:108px;
	background-size: 75%;
	background-repeat: no-repeat;
	background-position: center;
	border-radius:50%;
	border:1px solid #E6E6E6;
	flex:0 0 108px;	
}
.container-fluid {
	max-width:1280px;
}
.muted {
	color: #666666;
}
#kuda_desktop a{
	color: inherit;
}
.w400 {
	width:400px !important;
	
}
.cat-hero {
	height: 250px;
	 background-size:cover; margin:-32px -0 16px;
	 background-size:cover; background-repeat:no-repeat; border-radius:24px;
	 background-position: center;
	 aspect-ratio: 4/3;
}
@media (min-width: 1200px) {
.cat-hero {
	margin:0;
	height: auto;
	aspect-ratio: 16/9;
}
}
.text-content img {
	margin-right:10px !important;
	margin-bottom:10px !important;
}