

:root{
	--bg_gray_card: #F2F3F7;
}

/* global */
.rounded, .r, .r-1, .r-2, .r-3, .r-4, .r-5{
	border-radius: 20px;
	overflow: hidden;
}

.r-1{border-radius: 5px;}
.r-2{border-radius: 10px;}
.r-3{border-radius: 15px;}
.r-4{border-radius: 20px;}
.r-5{border-radius: 25px;}
.r-10{border-radius: 500px;}
	
.h1-mt{
	margin-top: 10rem;
}
.h1-m, .elementor-widget.h1-m, .e-con .elementor-widget.elementor-widget.h1-m{
	margin-top: 10rem;
	margin-bottom: 3rem;
	margin-block-end: 3rem;
}
.mt-5{
	margin-top: 5rem;
}
.mb-1, .elementor-widget.mb-1, .e-con .elementor-widget.elementor-widget.mb-1{
	margin-bottom: 1rem;
	margin-block-end: 1rem;
}
.mb-2, .elementor-widget.mb-2, .e-con .elementor-widget.elementor-widget.mb-2{
	margin-bottom: 2rem;
	margin-block-end: 2rem;
}
.mb-3, .elementor-widget.mb-3, .e-con .elementor-widget.elementor-widget.mb-3{
	margin-bottom: 3rem;
	margin-block-end: 3rem;
}
.mb-4, .elementor-widget.mb-4, .e-con .elementor-widget.elementor-widget.mb-4{
	margin-bottom: 4rem;
	margin-block-end: 4rem;
}
.mb-5, .elementor-widget.mb-5, .e-con .elementor-widget.elementor-widget.mb-5{
	margin-bottom: 5rem;
	margin-block-end: 5rem;
}


.p-0{padding: 0;}
.p-1{padding: 1rem;}
.p-2{padding: 2rem;}
.p-3{padding: 3rem;}
.p-4{padding: 4rem;}
.p-5{padding: 5rem;}
.pb-1, .elementor-widget.pb-1, .e-con .elementor-widget.elementor-widget.pb-1{
	padding-bottom: 1rem;
	padding-block-end: 1rem;
}
.pb-2, .elementor-widget.pb-2, .e-con .elementor-widget.elementor-widget.pb-2{
	padding-bottom: 2rem;
	padding-block-end: 2rem;
}
.pb-3, .elementor-widget.pb-3, .e-con .elementor-widget.elementor-widget.pb-3{
	padding-bottom: 3rem;
	padding-block-end: 3rem;
}
.pb-4, .elementor-widget.pb-4, .e-con .elementor-widget.elementor-widget.pb-4{
	padding-bottom: 4rem;
	margin-block-end: 4rem;
}
.pb-5, .elementor-widget.pb-5, .e-con .elementor-widget.elementor-widget.pb-5{
	padding-bottom: 5rem;
	padding-block-end: 5rem;
}
@media (max-width: 767px) {
	.p-1{padding: 0.5rem;}
	.p-2{padding: 1rem;}
	.p-3{padding: 1.5rem;}
	.p-4{padding: 2rem;}
	.p-5{padding: 2.5rem;}
	.pb-1, .elementor-widget.pb-1, .e-con .elementor-widget.elementor-widget.pb-1{
		padding-bottom: 0.5rem;
		padding-block-end: 0.5rem;
	}
	.pb-2, .elementor-widget.pb-2, .e-con .elementor-widget.elementor-widget.pb-2{
		padding-bottom: 1rem;
		padding-block-end: 1rem;
	}
	.pb-3, .elementor-widget.pb-3, .e-con .elementor-widget.elementor-widget.pb-3{
		padding-bottom: 1.5rem;
		padding-block-end: 1.5rem;
	}
	.pb-4, .elementor-widget.pb-4, .e-con .elementor-widget.elementor-widget.pb-4{
		padding-bottom: 2rem;
		margin-block-end: 2rem;
	}
	.pb-5, .elementor-widget.pb-5, .e-con .elementor-widget.elementor-widget.pb-5{
		padding-bottom: 2.5rem;
		padding-block-end: 2.5rem;
	}
}

.backdrop{
	backdrop-filter: blur(15px);
}

.elementor-widget-taxonomy-filter{
	--e-filter-direction: row;
    --e-filter-white-space: nowrap;
    --e-filter-justify-content: flex-start;
    --e-filter-item-width: initial;
    --e-filter-item-flex-grow: 0;
    --e-filter-wrap: wrap;
    --e-filter-overflow-x: initial;
    background-color: var(--e-global-color-cc40e98);
    --e-filter-space-between: 20px;
    --e-filter-normal-text-color: #34B5B5;
    --e-filter-hover-text-color: var(--e-global-color-accent);
    --e-filter-active-text-color: var(--e-global-color-cc40e98);
    --e-filter-item-border-radius: 20px 20px 20px 20px;
	--e-filter-item-padding: 0.48em 1.2em;

}
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"] {
    background-color: var(--e-global-color-accent);
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-color: var(--e-global-color-7d61737);
}
.e-filter-item:not( [aria-pressed=true] ):not( :hover ) {
    border-style: solid;
    border-width: 2px;
    border-color: #CCEDEC;
}
.elementor-widget-taxonomy-filter .e-filter-item:hover:not([aria-pressed=true]) {
	border-width: 2px;
    border: 2px solid;
    
    color: var(--e-filter-hover-text-color);
}
}
.elementor-widget-taxonomy-filter .e-filter-item {
    font-family: var(--e-global-typography-c96d765-font-family), inter, tahoma, arial, Sans-serif;
    font-size: var(--e-global-typography-c96d765-font-size);
    font-weight: var(--e-global-typography-c96d765-font-weight);
    line-height: var(--e-global-typography-c96d765-line-height);
    padding: 0.5em 1.2em 0.5em 1.2em;
	align-items: var(--e-filter-item-align-items);
    background-color: initial;
    border: 1px #69727d;
    border-radius: var(--e-filter-item-border-radius);
    box-sizing: var(--e-filter-item-box-sizing);
    color: var(--e-filter-normal-text-color);
    display: var(--e-filter-display);
    flex-basis: content;
    flex-grow: var(--e-filter-item-flex-grow);
    flex-shrink: 0;
    justify-content: var(--e-filter-item-justify-content);
    line-height: normal;
    max-width: var(--e-filter-item-max-width);
    overflow: hidden;
    overflow-wrap: break-word;
    padding: 1em 1.2em;
    text-align: var(--e-filter-item-align-text);
    white-space: var(--e-filter-white-space);
    width: var(--e-filter-item-width);
}
 
/* HERO banner */
.page_hero {
	min-height: 920px;
	max-width: 1920px;
	padding: 2rem 0 7rem 0;
}
.page_hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 15, 142, 0) 41%,
    rgba(0, 15, 142, 0.8) 84.5%
  );
  z-index: 1;
}

.page_hero.green::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(1, 162, 163, 0) 41%,
    rgba(1, 162, 163, 0.8) 84.5%
  );
  z-index: 1;
}

.page_hero > * {
  position: relative;
  z-index: 2; /* контент выше градиента */
}
.page_hero_content{
	max-width: 800px;
}

@media (max-width: 767px) {
	.page_hero {
		min-height: 320px;
	}
}




/* events */
.icon.arrow .elementor-heading-title:after {
     content: '';
  display: inline-block;
  width: 19px;
  height: 15px;
  background-color: currentColor; /* берёт цвет текста */
  -webkit-mask: url(../img/arrow-right.svg) no-repeat center / contain;
  mask: url(../img/arrow-right.svg) no-repeat center / contain;
  margin-left: .4em;
}

.list-meta span{
    margin-right: 1em;
	margin-bottom: 1em;
	align-items: center;
	padding: 4px 15px;
	gap: 7px;

	 
	background: #ffffffcc;
	border-radius: 20px;


	 
	font-size: 14px;
	line-height: 17px;
	/* identical to box height */
	text-align: left;

	color: var(--e-global-color-accent);
	display: inline-flex;
}
.list-meta-dark span{
	background: var(--e-global-color-accent);
	color: #FFFFFF;
}
.reg_on{
	background-color: var(--bg_gray_card);
}

.reg_on1{
	background-color: var(--e-global-color-0148c3b);
}



/* BALOON */
.expertise_baloon{
	border-radius: 50px;
    display: block;
	
}
.expertise_baloon ul{
	padding:0;
}

.expertise_baloon span, .expertise_baloon li {
	 
	border-radius: 50px;
	padding: 1em 2.0em 0.5em 2em;
	display: inline-block;
	margin: 0 0.75em 0.75em 0;
	font-size: 1.2rem;
	border: 2px solid var(--e-global-color-primary);
	color: var(--e-global-color-primary);
}
.expertise_baloon li{
	padding: 0.5em 2.5em 0.5em 2em;
}
.expertise_baloon li:after{
	margin-top: 0.2em;
}


/* pervee_counter */
.pervee_counter .elementor-widget-counter{
	background: rgba(1, 163, 162, 0.1);
	padding: 40px;
	border-radius: 20px;
	min-height: 100%;
}
.pervee_counter.white .elementor-widget-counter{
	background: white;

}
.pervee_counter .elementor-counter .elementor-counter-number-wrapper{
	 
	color: var(--e-global-color-primary);
	font-size: 2.75rem;
	font-weight: normal;
	text-align: left;
	display: inline-block;
}
.pervee_counter .elementor-counter .elementor-counter-title {
    text-align: left;
    font-size: 1rem;
    font-weight: normal;
    line-height: 150%;
	color: var(--e-global-color-primary);
	margin-top: 1rem;
}
@media (max-width: 767px) {
	.pervee_counter .elementor-widget-counter{
		min-height: 100%;
		padding: 20px;
		border-radius: 20px;

	}
}


/* ОТЗЫВЫ */
.elementor-widget-reviews.elementor-review--has-separator .elementor-testimonial__header {
    border-block-end: 0px;
}

/* ДЛЯ КЕЙСОВ */
.research_total ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.research_total li {
  background: rgba(242, 243, 247, 1);
  border-radius: 20px;
  padding: 30px 30px;
  text-align: left;
  font-size: 1rem ;
  line-height: 1.4;
	color: var(--e-global-color-primary);
  
  position: relative;
}

/* иконка сверху */
.research_total li::before {
  content: "";
  background: url(/wp-content/uploads/2025/09/done_outline_24dp_000f8e_fill0_wght300_grad0_opsz24.svg) no-repeat; 
  background-size: contain; 
  height: 35px;
  width: 35px;
  display: block;
  margin-bottom: 25px;
}


/* progress */
.elementor-widget-progress {
    display: flex;
    flex-direction: column-reverse;
	gap: 1em;
}
.elementor-widget-progress .elementor-title{
	color: var(--primary);;
}
.elementor-progress-wrapper {

    border-radius: 500px;
}	
.elementor-progress-bar {
    background-color: var(--e-global-color-accent);
	height: 50px;
	border-radius: 500px;
}

@media (max-width: 767px) {
	.elementor-progress-bar {
		
		height: 20px;
		
	}
}

/* accordion для events */
.e-n-accordion-item-title-text u {
    display: block;
    font-size: 1rem;
    text-decoration: none;
  
    color: var(--e-global-color-accent);
    margin-bottom: .5em;
}
/* price-list */
.elementor-price-list .elementor-price-list-item .elementor-price-list-header {
	gap: 1rem;
    flex-direction: column-reverse;
    align-items: flex-start;
}
/* Явно задаём порядок, чтобы получить: title → price → separator (правый край) */
.elementor-price-list-title { order: 1; }
.elementor-price-list-price { order: 2; }
.elementor-price-list-separator { order: 3; margin: 0 !important; width: 100%;}

/* Elementor 4 emits a generic Heading widget typography rule in generated post CSS.
   RU templates rely on the active Kit heading tag sizes, so restore that cascade locally. */
.elementor-kit-5 .elementor-widget-heading h1.elementor-heading-title {
	font-family: var(--e-global-typography-876b09d-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-876b09d-font-size);
	line-height: var(--e-global-typography-876b09d-line-height);
}

.elementor-kit-5 .elementor-widget-heading h2.elementor-heading-title {
	font-family: var(--e-global-typography-1129a83-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-1129a83-font-size);
	line-height: 1em;
}

.elementor-kit-5 .elementor-widget-heading h3.elementor-heading-title {
	font-family: var(--e-global-typography-2017b9c-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-2017b9c-font-size);
	line-height: var(--e-global-typography-2017b9c-line-height);
}

.elementor-kit-5 .elementor-widget-heading h4.elementor-heading-title {
	font-family: var(--e-global-typography-de74718-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-de74718-font-size);
	font-weight: var(--e-global-typography-de74718-font-weight);
	line-height: var(--e-global-typography-de74718-line-height);
}

.elementor-kit-5 .elementor-widget-heading h5.elementor-heading-title {
	font-family: var(--e-global-typography-c96d765-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-c96d765-font-size);
	line-height: var(--e-global-typography-c96d765-line-height);
}

.elementor-kit-5 .elementor-widget-heading h6.elementor-heading-title {
	font-family: var(--e-global-typography-fe0599c-font-family), inter, tahoma, arial, Sans-serif;
	font-size: var(--e-global-typography-fe0599c-font-size);
	line-height: var(--e-global-typography-fe0599c-line-height);
}
