/** ============================================
    UNIVERSAL TYPOGRAPHY
    ============================================ */

.bs-uni-typography {
	line-height: 1.6;
	font-weight: 400;
}


/* Headings */

.bs-uni-typography h2 {
	font-size: 30px;
	margin-top: 0;
	margin-bottom: 12px;
	line-height: 1.2;
	text-transform: var(--h2_transform);
	color: var(--h2_color);
	font-weight: var(--h2_weight);
	font-family: var(--font-title);
}


.bs-uni-typography h4,
.bs-uni-typography h5 {
	margin-top: 0;
	margin-bottom: 12px;
	line-height: 1.2;
}

.bs-uni-typography p + h2,
.bs-uni-typography p + h3,
.bs-uni-typography p + h4,
.bs-uni-typography p + h5,
.bs-uni-typography ul + h2,
.bs-uni-typography ul + h3,
.bs-uni-typography ol + h2,
.bs-uni-typography ol + h3,
.bs-uni-typography table + h2,
.bs-uni-typography table + h3 {
	margin-top: 24px;
	margin-bottom: 10px;
}

.bs-uni-typography h2:first-child{
	margin-top: 0;
	margin-bottom: 24px;
	line-height: 110%;
}


/* Section titles */

body.front-page h1,
#poststuff .postbox .inside .acfe-fc-preview h1 {
	font-size: var(--h1_size);
	text-transform: var(--h1_transform);
	color: var(--h1_color);
	font-weight: var(--h1_weight);
	line-height: 1.18;
	font-family: var(--font-title);
}

.text.bs-uni-typography .text_wrap>h2:first-of-type,
.odds.bs-uni-typography .odds_text_box>h2:first-of-type,
h2.common-h2,
body.front-page h2.common-h2,
#poststuff .postbox .inside .acfe-fc-preview h2.common-h2,
.h2 {
	font-size: var(--h2_size);
	text-transform: var(--h2_transform);
	color: var(--h2_color);
	font-weight: var(--h2_weight);
	line-height: 1.18;
	font-family: var(--font-title);
}

.bs-uni-typography h3,
body.front-page h3,
#poststuff .postbox .inside .acfe-fc-preview h3 {
	font-size: var(--h3_size);
	text-transform: var(--h3_transform);
	color: var(--h3_color);
	line-height:1.18;
	font-weight: var(--h3_weight);
	font-family: var(--font-title);
	margin-bottom:12px;
}


/* Heading colors */

.colored_text_id.text_color,
.h2.text_color,
.h1.text_color,
h1.text_color,
h2.common-h2.text_color,
h3.common-h2.text_color {
	color: var(--text_color);
}

.colored_text_id.white_color,
.h2.white_color,
.h1.white_color,
h1.white_color,
h2.common-h2.white_color {
	color: var(--white_color);
}

.colored_text_id.main_color,
.h1.main_color,
.h2.main_color,
.h3.main_color,
h1.main_color,
h2.common-h2.main_color,
h3.common-h2.main_color {
	color: var(--main_color);
}

.colored_text_id.second_color,
.h1.second_color,
.h2.second_color,
.h3.second_color,
h1.second_color,
h2.common-h2.second_color,
h3.common-h2.second_color {
	color: var(--second_color);
}

.colored_text_id.extra_color,
.h1.extra_color,
.h2.extra_color,
.h3.extra_color,
h1.extra_color,
h2.common-h2.extra_color,
h3.common-h2.extra_color {
	color: var(--extra_color);
}

.colored_text_id.extra_color_2,
.h1.extra_color_2,
.h2.extra_color_2,
.h3.extra_color_2,
h1.extra_color_2,
h2.common-h2.extra_color_2,
h3.common-h2.extra_color_2 {
	color: var(--extra_color_2);
}

.colored_text_id.extra_color_3,
.h1.extra_color_3,
.h2.extra_color_3,
.h3.extra_color_3,
h1.extra_color_3,
h2.common-h2.extra_color_3,
h3.common-h2.extra_color_3 {
	color: var(--extra_color_3);
}


/* Paragraphs */

.bs-uni-typography p {
	margin-bottom: 10px;
}

.bs-uni-typography strong {
	font-weight: 500;
}

.bs-uni-typography a {
	font-weight: 700;
}


/* Lists */

.bs-uni-typography ul,
.bs-uni-typography ol {
	padding: 0;
	margin: 0 0 24px;
	list-style-type: none;
	overflow: hidden;
}

.bs-uni-typography ul li,
.bs-uni-typography ol li {
	list-style-type: none;
	margin: 0 0 8px;
	padding-left: 22px;
	position: relative;
	display: table;
	width: 100%;
}

.bs-uni-typography ul li:before {
	background-color: var(--main_color);
	width: 8px;
	height: 8px;
	opacity: 0.7;
	border-radius: 4px;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0.8em;
	transform: translateY(-50%);
}

.bs-uni-typography ol {
	counter-reset: list-counter;
}

.bs-uni-typography ol li:before {
	content: counter(list-counter) ".";
	counter-increment: list-counter;
	color: var(--main_color);
	font-weight: 500;
	position: absolute;
	left: 0;
	top: 0;
}


/* Blockquote */

.bs-uni-typography .odds_text_box>blockquote:first-of-type {
	margin-top:0px;
}

.bs-uni-typography blockquote {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	padding: 0px;
	margin: 24px 0;
	color: var(--main_color);
	position: relative;
}

/* Images & Gallery */

.bs-uni-typography img {
	max-width: 100%;
	height: auto;
	border-radius: var(--big_border_radius);
}

.bs-uni-typography .gallery {
	width: 100% !important;
	height: auto !important;
	margin: 0 -12px;
	display: flex;
	flex-wrap: wrap;
}

.bs-uni-typography .gallery-item {
	width: 50% !important;
	margin-bottom: 24px;
	margin-top: 24px;
	padding-left: 12px;
	padding-right: 12px;
	height: auto !important;
}

.bs-uni-typography .gallery-item img {
	height: 264px !important;
	object-fit: cover;
	width: 100% !important;
	margin: 0 !important;
}


/* Important block */

.bs-uni-typography .redcoder-editor-important {
	margin: 45px 0 55px;
	padding: 30px 40px;
	border-radius: var(--button_border_radius);
	background-color: var(--second_color_opacity_10);
}

.bs-uni-typography .redcoder-editor-important table tbody,
.bs-uni-typography .redcoder-editor-important table {
	width: auto !important;
	display: block;
	border-radius: 0 !important;
	border: 0 none;
	margin: 0;
}

.bs-uni-typography .redcoder-editor-important table tr {
	display: flex;
	margin: 0 -12px;
	flex-wrap: wrap;
}

.bs-uni-typography .redcoder-editor-important table tr td {
	padding: 0 12px;
	font-weight: 300;
	display: block;
	width: 50% !important;
	border: 0 none;
}


/* Blockquote colors */

.blockquote_color_main_color .bs-uni-typography blockquote { color: var(--main_color); }
.blockquote_color_main_color .bs-uni-typography blockquote:before { background-color: var(--main_color); }

.blockquote_color_second_color .bs-uni-typography blockquote { color: var(--second_color); }
.blockquote_color_second_color .bs-uni-typography blockquote:before { background-color: var(--second_color); }

.blockquote_color_extra_color .bs-uni-typography blockquote { color: var(--extra_color); }
.blockquote_color_extra_color .bs-uni-typography blockquote:before { background-color: var(--extra_color); }

.blockquote_color_extra_color_2 .bs-uni-typography blockquote { color: var(--extra_color_2); }
.blockquote_color_extra_color_2 .bs-uni-typography blockquote:before { background-color: var(--extra_color_2); }

.blockquote_color_extra_color_3 .bs-uni-typography blockquote { color: var(--extra_color_3); }
.blockquote_color_extra_color_3 .bs-uni-typography blockquote:before { background-color: var(--extra_color_3); }

.blockquote_color_text_color .bs-uni-typography blockquote { color: var(--text_color); }
.blockquote_color_text_color .bs-uni-typography blockquote:before { background-color: var(--text_color); }


/* List colors */

.list_color_main_color .bs-uni-typography ul li:before { background-color: var(--main_color); }
.list_color_second_color .bs-uni-typography ul li:before { background-color: var(--second_color); }
.list_color_extra_color .bs-uni-typography ul li:before { background-color: var(--extra_color); }
.list_color_extra_color_2 .bs-uni-typography ul li:before { background-color: var(--extra_color_2); }
.list_color_extra_color_3 .bs-uni-typography ul li:before { background-color: var(--extra_color_3); }
.list_color_text_color .bs-uni-typography ul li:before { background-color: var(--text_color); }


/* Size modifiers */

.bs-uni-typography.typography-sm { font-size: 14px; }
.bs-uni-typography.typography-sm blockquote { font-size: 14px; }

.bs-uni-typography.typography-lg { font-size: 16px; }
.bs-uni-typography.typography-lg blockquote { font-size: 18px; }


/* Expandable text */

.text-expandable {
	position: relative;
}

.text-expandable.is-collapsed .bs-uni-typography {
	height: 390px;
	overflow: hidden;
}

.text-expandable.is-collapsed:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120px;
	background: linear-gradient(0deg, #fff 19.64%, #fff 19.65%, rgba(255, 255, 255, 0.10) 100%);
	transition: all 0.5s;
	pointer-events: none;
}

.text-expandable.is-expanded .bs-uni-typography {
	height: auto;
}

.text-expandable.is-expanded:after {
	opacity: 0;
	height: 30px;
}

.text-expand-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--main_color);
	font-weight: 500;
	margin-top: 20px;
	transition: all 0.3s;
}

.text-expand-btn:hover {
	opacity: 0.7;
}

.text-expand-btn svg {
	margin-left: 8px;
	transition: transform 0.3s;
}

.text-expandable.is-expanded .text-expand-btn svg {
	transform: rotate(-90deg);
}


/* Media queries */

@media (max-width: 1290px) {
	.bs-uni-typography {
		font-size: 14px;
	}

	.bs-uni-typography blockquote {
		font-size: 14px;
		font-weight: 700;
	}
}

@media (max-width: 1240px) {
	h1,
	body.front-page h1,
	#poststuff .postbox .inside .acfe-fc-preview h1 {
		font-size: 30px;
	}
}

@media (max-width: 990px) {
	.bs-uni-typography h2 {
		font-size: 24px;
	}

	.bs-uni-typography h3 {
		font-size: 18px;
	}

	.bs-uni-typography .gallery-item img {
		height: 164px !important;
	}

	.bs-uni-typography .redcoder-editor-important table tr td {
		width: 100% !important;
		padding-bottom: 12px;
	}

	.bs-uni-typography .redcoder-editor-important {
		padding: 24px;
	}

	.bs-uni-typography blockquote {
		font-size: 14px;
		line-height: 1.4;
	}

	.text-expandable.is-collapsed:after {
		height: 270px;
		background: linear-gradient(0deg, #fff 0%, #fff 0%, rgba(255, 255, 255, 0.05) 100%);
	}
	
	.odds.bs-uni-typography .odds_text_box > h2:first-of-type,
	.text.bs-uni-typography .text_wrap > h2:first-of-type,
	h2.common-h2,
	body.front-page h2.common-h2,
	#poststuff .postbox .inside .acfe-fc-preview h2.common-h2 {
		font-size: 27px;
	}
}

@media (max-width: 768px) {
	.text.bs-uni-typography .text_wrap > h2:first-of-type,
	.odds.bs-uni-typography .odds_text_box > h2:first-of-type,
	h2.common-h2,
	body.front-page h2.common-h2,
	#poststuff .postbox .inside .acfe-fc-preview h2.common-h2 {
		font-size: 30px;
	}
}

@media (max-width: 540px) {
	.text.bs-uni-typography .text_wrap > h2:first-of-type,
	.odds.bs-uni-typography .odds_text_box > h2:first-of-type,
	h2.common-h2,
	body.front-page h2.common-h2,
	#poststuff .postbox .inside .acfe-fc-preview h2.common-h2 {
		font-size: 24px;
	}
}


/* Text expandable block */

.text.hide_text .text_wrap {
	height: 450px;
	overflow: hidden;
	transition: height 0.5s ease;
}

.text.active .text_wrap {
	height: auto;
}

.text.hide_text .text_wrap:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	transition: all 0.5s;
	height: 120px;
	background: linear-gradient(0deg, #fff 19.64%, #fff 19.65%, rgba(255, 255, 255, 0.10) 100%);
}

.text.active .text_wrap:after {
	opacity: 0;
	height: 30px;
}

.text_wrap_smarter {
	cursor: default;
}

.text.hide_text .text_wrap_smarter {
	cursor: pointer;
	position:relative;
}

.text.active .text_wrap_smarter {
	cursor: default;
}

@media (max-width: 990px) {
	
	.text.hide_text .text_wrap:after {
		height: 270px;
		background: linear-gradient(0deg, #fff 0%, #fff 0%, rgba(255, 255, 255, 0.05) 100%);
	}
	
	.tariff_row.mobile-scroll{
		padding-top:4px;
	}
	
	.set_classic .employees_list_in.slick-initialized{
		margin-left:-22px;
		margin-right:-22px;
	}
	
	.tariff_row.mobile-scroll,
	.services-items-row.mobile-scroll,
	.mobile-scroll.blog_in{
		padding-left:22px;
		padding-right:22px;
		margin-left:-22px;
		margin-right:-22px;
	}
	
	.section_simple_plus_item_text,
	.item_value,
	.contact_item_mail a,
	.item_value_micro,
	.compact .rcp_form_subtitle,
	.setable_footer_description,
	.contact_text,
	.tariff_item_in ul li,
	.tariff_item_text,
	.odds_text_box blockquote,
	.odds_text_box,
	.review_text,
	html body .vacancy_item_text_in ul li,
	html body .vacancy_item_text,
	.blog_short_des,
	.employe_item_value,
	.employe_item_text,
	.faq_offer_text{
		font-size:14px;
	}
	
	.text_page_text_more,.simple_section_title_more_btn,
	.order_button_review_position_top_content .order_button,
	.contact_actions .order_button,
	.bnr .order_button,
	.docs_item_order_button .order_button,
	.product_cart_offer_btn .order_button,
	.odds_btn_group .order_button,
	.vacancy_item .order_button{
		height:44px;
		font-size:12px;
	}
	
}

@media (max-width: 490px) {
	  .tariff_row.mobile-scroll > div {
		max-width: 85%;
	  }
 }