/**
* 	@version      v.1.0 (07/02/2025)
*/

body {
	overflow-y: auto;
	/* Необходимый отступ поскольку header имеет свойство position: fixed; для фиксации в верхней части экрана. Иначе перекрывает часть первой секции */
	padding-top: var(--header_height);
}

header {
	width: 100%;
	box-sizing: content-box;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2;
}

ul {
	margin: 0;
	padding: 0;
}


/* Хедер */
header .container {
	display: flex;
	align-items: center;
	height: var(--header_height);
	position: relative;
}

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
}

.buttons_container,
.bizon_header_logo_container {
	width: auto;
	flex: 0 1 auto;
}
.buttons_container {
	position: absolute;
	right: var(--padding_lg);
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	align-items: center;
	gap: calc( var(--padding_lg) * 2 );
}
.desktop_navigation_menu,
.desktop_navigation_menu ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
}

.desktop_navigation_menu ul li {
	padding: 0 20px;
}

.desktop_navigation_menu ul a {
	padding: 0;
}

button.mobile_navigation_menu_toggle {
	display: none;
}
.mobile_navigation_menu ul {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.mobile_navigation_menu ul a,
.mobile_navigation_menu ul span{
	display: inline-block;
	width: 100%;
	padding: var(--padding_sm) 0;
}

.mobile_navigation_menu_capability_items {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: none;
}
.button_list_system_capabilities {
	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
	position: relative;
}
.button_list_system_capabilities::after {
	width: var(--icon_width);
	height: var(--icon_height);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	margin: auto 0;
}
.mobile_navigation_menu_capability_trigger::after,
.mobile_navigation_menu_capability_back::before {
	content: "";
	width: var(--icon_width);
	height: var(--icon_height);
	margin: auto 0;
}
.mobile_navigation_menu_capability_back {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: var(--padding_sm);
}
.menu_list_system_capabilities {
	position: absolute;
	top: 31px;
	right: 0;
	flex-direction: column;
	width: 320px;
	display: none;
	z-index: var(--secondary_layer_z_index);
}
.menu_list_system_capabilities::before {
	content: '';
	position: absolute;
	top: -3px;
	height: 3px;
	width: 100%;
}
.menu_list_system_capabilities a {
	min-height: 37px;
	width: 100%;
}
.list_system_capabilities_toggle .menu_list_system_capabilities {
	display: flex;
}
.list_system_capabilities_toggle .button_list_system_capabilities::after {
	transform: rotateX(180deg);
}
section .container {
	padding: 80px 0;
}

.section_system_features_title .container {
	padding-bottom: 0;
}

section.section_start .container {
	padding-top: 64px;
	padding-bottom: 50px;
}

section.section_start a.btn {
	margin-top: 40px;
	margin-bottom: 72px;
}

.grid_container {
    display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	grid-gap: var(--padding_xl);
    /* grid-auto-rows: 332px; */
    width: 100%
}

.section_module_welcome .container {
	padding: 89px 0 92px 0;
}
.section_target_audience .target_audience_descriptions_block {
	width: calc(50% - 12px);
}

.section_target_audience .wrapper_target_audience_descriptions {
	display: flex;
	gap: 24px;
}

.video_container {
	width: 100%;
	height: 517px;
	max-width: 920px;
	margin-right: auto;
	margin-left: auto;
}


@media (max-width: 991px) {
	.video_container {
		height: 396px;
	}
}

@media (max-width: 768px) {
	.video_container {
		height: 284px;
	}
	.list_system_capabilities_toggle .menu_list_system_capabilities {
		display: none;
	}
}
@media(max-width: 460px) {
	.video_container {
		height: 193px;
	}
}
.section_system_features_title .description {
	margin-top: 12px;
}
.system_features_work_space_image {
	max-width: 940px;
	width: 100%;
	height: auto;
	display: block;
	margin-top: 50px;
}
.bizon_module_card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.bizon_module_card .card_number {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bizon_module_card h3 {
	margin: var(--padding_md) 0;
}
/*	Секция функции модуля	*/
.section_module_features .container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: calc(var(--padding_md) * 2);
}
.section_module_features--reverse .container {
	flex-direction: row-reverse;
}
.features_content_column {
	display: flex;
	flex-direction: column;
	max-width: 382px;
}
.features_content_column span {
	margin-top: calc(var(--padding_xl) / 2);
}
.features_content_column .btn {
	width: fit-content;
	margin-top: var(--padding_xl);
}

.features_content_image {
	width: 50%;
	max-width: 544px;
	object-fit: contain;
}
@media (max-width: 1200px) {
	.features_content_image {
		height: 320px;
	}
}
@media (max-width: 991px) {
	.features_content_image {
		height: 280px;
	}
	/*.features_content_image img {*/
	/*	padding: 25px 0 0 25px;*/
	/*}*/
}
@media (max-width: 768px) {
	.features_content_column {
		max-width: unset;
	}
	.section_module_features .container {
		flex-direction: column;
	}
	.section_module_features--reverse .container {
		flex-direction: column;
	}
	.features_content_image {
		height: auto;
		max-width: unset;
		width: 100%;
	}
	.features_content_column .btn {
		width: 100%;
	}
}

/*  Секция обратной связи  */
.section_feedback_and_contact .container {
	display: flex;
	flex-direction: column;
}
.wrapper_feedback_and_contact {
	display: flex;
	flex-direction: row;
}
.section_feedback_and_contact .container {
	gap: var(--padding_xl);
}
.registration {
	display: flex;
	flex-direction: column;
	gap: var(--padding_xl);
	width: 100%;
	align-items: center;
}
.registration_link_list {
	display: flex;
	flex-direction: row;
	gap: var(--padding_md);
	max-width: 736px;
	width: 100%;
}
.registration_content {
	max-width: 530px;
	gap: var(--padding_md);
	display: flex;
	flex-direction: column;
}
.registration_link_list a {
	width: 50%;
}
.wrapper_feedback_and_contact {
	display: flex;
	flex-direction: row;
	gap: var(--padding_xl);
	width: 100%;
}
.wrapper_feedback_and_contact > div {
	display: flex;
	flex-direction: column;
	width: 50%;
	padding: 30px;
}
.wrapper_feedback_and_contact .feedback {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.wrapper_feedback_and_contact .feedback div {
	display: flex;
	flex-direction: column;
	gap: var(--padding_md);
}
.wrapper_feedback_and_contact .contact {
	display: flex;
	flex-direction: column;
	gap: var(--padding_md);
}
.wrapper_feedback_and_contact .contact .contact_links {
	display: flex;
	flex-direction: column;
	gap: var(--padding_md);
	font-weight: 400;
}
.wrapper_feedback_and_contact .contact .contact_links div {
	gap: var(--padding_sm);
	display: flex;
	flex-direction: row;
}

@media (max-width: 1450px) {
	.buttons_container {
		gap: var(--padding_md);
	}
}
@media(max-width: 1070px) {
	.header_tel_link {
		display: none;
	}
}
@media(max-width: 1070px) {
	.header_tel_link {
		display: block;
	}
	.list_system_capabilities {
		display: none;
	}
	button.mobile_navigation_menu_toggle {
		display: block;
	}
	.desktop_navigation_menu {
		display: none;
	}
}
@media (max-width: 1050px) {
	footer .container,
	header .container {
		justify-content: space-between;
	}
}

/* Медиа запросы */
@media (max-width: 992px) {
	.form_contact_wrapper {
		flex-direction: column;
	}

	.form_contact_wrapper > div {
		width: 100%;
	}

	.form_contact_wrapper .form_image {
		display: none;
	}

	.bizon_consulting_services_inner {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas: "a b" "a d" "c e";
	}

	.bizon_consulting_advantages_inner {
		grid-template-columns: repeat(2, 1fr);
	}

	section.section_feedback_and_contact .wrapper_feedback_and_contact {
		flex-direction: column;
	}

	section.section_feedback_and_contact .wrapper_feedback_and_contact {
		margin: 0;
	}
	.wrapper_feedback_and_contact > div {
		width: 100%;
	}
	.wrapper_feedback_and_contact .feedback {
		gap: var(--padding_md);
	}
}

@media (max-width: 768px) {
	.list_system_capabilities {
		display: none;
	}

	.bizon_consulting_work_algorithm {
		flex-direction: column;
		justify-content: center;
	}

	section .container {
		padding: 40px 0;
	}

	.company_information {
		width: 100%
	}

	.section_module_welcome .container {
		padding: 24px 0;
	}
	.section_feedback_and_contact .container {
		width: 100%;
		max-width: unset;
		padding: 0;
		gap: 0;
	}
	.wrapper_feedback_and_contact {
		gap: 0;
	}
}

@media (max-width: 576px) {
	section .container {
		padding: var(--padding_xl) var(--padding_md);
	}

	.form_contact_wrapper > div {
		padding: 32px 24px;
	}

	.bizon_consulting_services_inner {
		grid-template-columns: auto;
		grid-template-areas: "a" "b" "c" "d" "e";
	}

	.bizon_consulting_advantages_inner {
		grid-template-columns: auto;
	}

	section.section_feedback_and_contact .container {
		margin: 0;
		padding: 0;
		min-width: 100%;
	}
	
	section.section_feedback_and_contact .wrapper_feedback_and_contact > div,
	section.section_feedback_and_contact .registration {
		padding: 30px var(--padding_md);
	}

	.buttons_container {
		right: var(--padding_md);
	}
}


/* @override  Переопределение стилей bootstrap */
.container {
	padding: 0;
}

header .container {
	max-width: 1400px;
	padding: 0 var(--padding_xl);
}

@media (min-width: 992px) {
	.container {
		max-width: 900px;
	}
}
@media (min-width: 1200px) {
	.container {
		max-width: 1160px;
	}
}

@media (max-width: 768px) {

	section.section_target_audience .text-box {
		display: inline-block;
		width: 100%;
		text-align: center;
	}

	section.section_target_audience .wrapper_target_audience_descriptions {
		flex-direction: column;
		margin-top: var(--padding_xl);
		gap: 16px;
	}

	section.section_target_audience .target_audience_descriptions_block {
		margin: 0;
		border: none;
		padding: 0;
		width: 100%;
	}
}

@media (max-width: 576px) {
	header .container,
	footer .container {
		padding: 0 var(--padding_md);
	}
	
	section {
		padding: 0 var(--padding_md) 
	}

	section .container {
		padding: 40px 0;
	}

	section.section_feedback_and_contact {
		margin: 0;
		padding: 0;
	}
	
	section.section_start .container {
		padding-top: 24px;
		padding-bottom: 0;
	}
}

.substrate_layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
}

/* Промо Банер */
.section_promo_banner_info .wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
	position: relative;
	padding: 0 80px;
}
.promo_banner_info .btn {
	font-size: var(--font_size_lg);
	line-height: var(--line_height_md);
	height: 40px;
	padding: 8px 24px;
	width: fit-content;
}
.section_promo_banner_info .heading_lead {
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 355px;
}
.section_promo_banner_info .promo_banner_info {
	padding: 84px 0;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: calc(var(--padding_md) * 2);
}

.section_promo_banner_info .promo_banner_container {
	flex: 1 0 min(350px,100%);
	overflow: visible;
	display: flex;
	justify-content: center
}

.section_promo_banner_info .banner_wrapper {
	height: 380px;
	position: relative;
	width: min(350px, 100%);
}

.section_promo_banner_info .promo_banner_container img {
	z-index: 1;
}
.section_promo_banner_info .promo_banner_container::after {
	content: "";
	position: absolute;
	bottom: -102px;
	right: -83px;
	width: 463px;
	height: 584px;
	z-index: 0;
}
@media(max-width: 1199px) {
	.section_promo_banner_info .promo_banner_container::after {
		right: -200px;
	}
}
@media (max-width: 992px) {
	.section_promo_banner_info .promo_banner_info {
		padding: 60px 0;
	}
	.section_promo_banner_info .wrapper {
		padding: 0 40px;
	}
	.section_promo_banner_info .promo_banner_container::after {
		right: -250px;
	}
}
@media (max-width: 768px) {
	.section_promo_banner_info .promo_banner_info {
		padding: 0;
	}
	.section_promo_banner_info .wrapper {
		padding: 30px 16px;
	}
	.section_promo_banner_info .promo_banner_container::after {
		right: -80px;
		top: 241px;
		bottom: unset;
	}
	.section_promo_banner_info .wrapper {
		flex-direction: column;
		gap: 54px;
	}
	.section_promo_banner_info .heading_lead {
		margin: 0 auto;
	}
	.promo_banner_info .btn {
		width: 100%;
		max-width: 450px;
		margin: 0 auto;
	}
	.section_promo_banner_info .promo_banner_info {
		gap: 24px;
		width: 100%;
	}
	.section_promo_banner_info .container {
		min-width: 100%;
		padding: 0;
		margin: 0;
	}
}
@media (max-width: 710px) {
	.section_promo_banner_info .wrapper .heading_lead {
		width: 100%;
	}

	.section_promo_banner_info .wrapper .promo_banner_container {
		width: 100%;
	}
}
@media (max-width: 576px) {
	section.section_promo_banner_info {
		padding: 0;
	}
}
@media (max-width: 556px) {
	.section_promo_banner_info .promo_banner_container::after {
		right: -200px;
		top: 241px;
		bottom: unset;
	}
}
/* Футер */
footer .container {
	padding: 40px 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: calc(var(--padding_md) * 2);
}
.bizon_footer_logo_container {
	display: flex;
	flex-direction: column;
	gap: 13px;
	max-width: 200px;
}
.bizon_footer_contact_info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.bizon_footer_description {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 440px;
}
.bizon_footer_description_links {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.bizon_footer_links_wrapper {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 200px;
}
.bizon_footer_links_wrapper .bizon_footer_links {
	display: flex;
	flex-direction: column;
	gap: var(--padding_md);
}
.bizon_footer_links_wrapper .bizon_footer_links a {
	font-weight: 400;
	font-size: var(--font_size_md);
	line-height: var(--line_height_md);
	color: var(--color_blue_700);
	text-decoration: underline;
}
.bizon_footer_links_wrapper .bizon_footer_links_social {
	display: flex;
	flex-direction: row;
	gap: 20px;
}
@media (max-width: 1199px) {
	.bizon_footer_links_wrapper {
		min-width: unset;
	}
}
@media (max-width: 768px) {
	footer .container {
		max-width: unset;
		padding: 20px var(--padding_xl);
		flex-direction: column;
		gap: 20px;
	}
	.bizon_footer_logo_container {
		gap: 0;
	}
	.bizon_footer_legal_info {
		margin-top: 14px;
	}
	.bizon_footer_contact_info {
		margin-top: 8px;
	}
	.bizon_footer_description {
		max-width: unset;
	}
	.bizon_footer_links_wrapper {
		gap: 20px;
	}
}