.page{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden auto;
	background: linear-gradient(192.01deg, #ffffff 2.03%, #e1e1e1 100.78%);
}

.page[display="0"],
.page[display="2"],
.page[display="4"]{
	transform: translateX(100%);
	z-index: 0;
}

.page[display="1"]{
	z-index: 2;
	animation: pd1 0.3s;
}

.page[display="2"]{
	animation: pd2 0.3s;
}

.page[display="3"]{
	z-index: 2;
	animation: pd3 0.3s;
}

.page[display="4"]{
	animation: pd4 0.3s;
}

@keyframes pd1{
	from { transform: translateX(100%); }
	to   { transform: translateX(0px);  }
}

@keyframes pd2{
	from { transform: translateX(0px);  }
	to   { transform: translateX(-20%); }
}

@keyframes pd3{
	from { transform: translateX(-100%); }
	to   { transform: translateX(0px);   }
}

@keyframes pd4{
	from { transform: translateX(0px);  }
	to   { transform: translateX(20%);  }
}

.page[object]{
	padding: 0 10px 10px;
}

.page_sticky{
	padding-top: 35px;
	position: sticky;
	top: 0;
	z-index: 0;
}

.page_menu{
	display: flex;
	height: 30px;
	align-items: center;
	font-size: 15px;
}

.page_back{
	display: flex;
	align-items: center;
}

.page_back_icon{
	width: 35px;
	height: 30px;
	background: url(/static/img/back_button.svg) center/auto no-repeat;
	margin: 0 10px 0 0;
}

.page_desktop_close{
	display: none;
}

.page_object_remove_button{
	font-family: 'MontserratMedium';
	color: #FF0000;
	margin: 0 0 0 auto;
}

.page_middle{
	margin: 25px 0 0;
	display: flex;
	align-items: flex-end;
	height: 52px;
	padding-bottom: 4px;
	position: relative;
}

.page_middle[edit="1"]::after{
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	background: #353535;
	left: 0;
	bottom: -1px;
}

.page_name_wrap{
	width: calc(100% - 35px);
}

.page_name_label{
	font-size: 15px;
	font-family: 'MontserratLight';
	color: #A5A5A5;
	margin-bottom: 5px;
}

.page_name{
	font-size: 20px;
	line-height: 24px;
}

.page_name_input{
	width: 100%;
	display: block;
	font-size: 20px;
	line-height: 24px;
	height: 24px;
}


.page_name_button{
	width: 27px;
	height: 27px;
	margin: 0 0 0 auto;
}

.page_name_button[type="edit"]{
	background: url(/static/img/edit_button.svg) center/auto no-repeat;
}

.page_name_button[type="save"]{
	background: url(/static/img/save_button_2.svg) center/auto no-repeat;
}

.page_middle[edit="0"] .page_name_input,
.page_middle[edit="0"] .page_name_button[type="save"],
.page_middle[edit="1"] .page_name,
.page_middle[edit="1"] .page_name_button[type="edit"],
.page_middle[edit="2"] .page_name,
.page_middle[edit="2"] .page_name_input,
.page_middle[edit="2"] .page_name_button{
	display: none;
}

.page_middle_loading{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	background: linear-gradient(270deg, transparent, white, transparent) center/200%, #e9e9e9;
	animation: page_name_loading 2s linear infinite;
}

@keyframes page_name_loading{
	from{
		background-position-x: 200%;
	}
	to{
		background-position-x: 0%;
	}
}

.page_middle[edit="2"] .page_middle_loading,
.page_list[loading="1"] .page_middle_loading{
	display: block;
}

.page_list{
	position: relative;
	z-index: 1;
}

.page_list_loader{
	position: relative;
	width: 80px;
	height: 80px;
	margin: 50px auto 0;
}
.page_list_loader div{
	position: absolute;
	width: 16px;
	background: #fff;
	animation: page_list_loader 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
	border-radius: 5px;
	box-shadow: 0px 3px 5px rgb(0 0 0 / 26%);
}
.page_list_loader div:nth-child(1){
	left: 8px;
	animation-delay: -0.24s;
}
.page_list_loader div:nth-child(2){
	left: 32px;
	animation-delay: -0.12s;
}
.page_list_loader div:nth-child(3){
	left: 56px;
	animation-delay: 0;
}
@keyframes page_list_loader {
	0% {
		top: 8px;
		height: 64px;
	}
	50%, 100% {
		top: 24px;
		height: 32px;
	}
}



.page_list_item{
	display: flex;
	align-items: center;
	color: #000000;
	height: 51px;
	margin: 10px 0 0;
	background: white;
	padding: 12px;
	border-radius: 5px;
	box-shadow: 0px 3px 5px rgb(0 0 0 / 12%);
}

.page_list_item_type{
	min-width: 0;
}

.page_list_item_label{
	font-size: 12px;
	font-family: 'MontserratLight';
}

.page_list_item_name{
	font-size: 15px;
	font-family: 'MontserratMedium';
	color: black;
}

.page_list_item_name[type="num"]{
	font-size: 20px;
	font-family: 'MontserratSemiBold';
}

.page_list_item_elevator_count{
	flex-shrink: 0;
	font-size: 12px;
	margin-left: auto;
}

.page_list_item_elevator_count_num{
	font-family: 'MontserratSemiBold';
	font-size: 14px;
}

.page_item_add_button{
	width: 100%;
	height: 34px;
	line-height: 34px;
	text-align: center;
	font-size: 13px;
	font-family: 'MontserratMedium';
	border-radius: 5px;
	margin: 10px 0 0;
	background: #353535;
	color: #ffffff;
	box-shadow: 0px 3px 5px rgb(0 0 0 / 12%);
}

.page_item_status{
	font-family: 'MontserratMedium';
	font-size: 20px;
	line-height: 24px;
	display: flex;
	align-items: center;
	margin-left: auto;
	flex-shrink: 0;
}

.page_item_status::after{
	display: block;
	width: 22px;
	height: 22px;
	margin-left: 10px;
	border-radius: 50%;
}

.page_item_status[type="0"]::before{
	content: 'Не в сети';
	color: #E34A4A;
}

.page_item_status[type="1"]::before{
	content: 'В сети';
	color: #28BA2D;
}

.page_item_status[type="0"]::after{
	content: '';
	background: #E34A4A;
}

.page_item_status[type="1"]::after{
	content: '';
	background: #28BA2D;
}

.page_download_header{
	text-align: center;
	margin: 10px 0 0;
	font-family: 'MontserratMedium';
	font-size: 24px;
	line-height: 29px;
}

.page_list_item_download_column{
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 12px;
}

.page_list_item_download_column > span{
	font-size: 15px;
	font-family: 'MontserratMedium';
}

.page_list_item_download_column:first-child{
	width: 37%;
	margin-right: 10px;
}

.page_list_item_download_column:nth-child(2){
	width: 25%;
}


.page_list_item_download_progress_wrap{
	flex-shrink: 0;
	margin-left: auto;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: var(--blue);
	font-size: 15px;
}

.page_list_item_download_progress{
	width: 40px;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
}

.page_list_item_download_progress_meter{
	stroke: rgb(43 75 155 / 20%);
}

.page_list_item_download_progress_value{
	stroke: #2B4B9B;
	stroke-dasharray: 340;
	stroke-linecap: round;
	transform-origin: 50%;
	transition: stroke-dashoffset 0.5s;
}

.page_list_item_download_progress_meter,
.page_list_item_download_progress_value{
	fill: none;
}

.page_list_item_download_progress_complete{
	width: 31px;
	height: 22px;
	background: url(/static/img/download/complete.svg) center/auto no-repeat;
	animation: fade_in 0.2s forwards;
}

.page_list_item_download_null{
	text-align: center;
	font-size: 15px;
	margin: 50px 0 0;
}

.elevator_profile_status{
	margin: 50px 0 0;
}

.elevator_profile_status .page_item_status{
	justify-content: center;
}

.elevator_profile_info{

}

.elevator_profile_status .show_time_label{
	margin: 40px 0 0;
}

.elevator_profile_status .show_time_input_value{
	margin: 16px auto 0;
}

.elevator_profile_media_header{
	text-align: center;
	margin: 60px 0 0;
	font-size: 20px;
	line-height: 24px;
}

.elevator_profile_media_list{

}

.elevator_profile_media{
	width: 100%;
	height: calc(((100vw - 20px) / 16) * 9);
	object-fit: cover;
	margin: 30px 0 0;
}

.elevator_profile_offline{
	color: #E34A4A;
	text-align: center;
	width: 285px;
	margin: 75px auto 0;
	font-size: 20px;
	line-height: 24px;
}

.elevator_profile_status[online="1"] .elevator_profile_offline,
.elevator_profile_status[online="0"] .elevator_profile_info{
	display: none;
}


.elevator_add_serial_wrap{
	margin: 20px 0 0;
	display: flex;
}

.elevator_add_serial_input_wrap{
	flex: 1;
}

.elevator_add_serial_qr{
	width: 46px;
	height: 46px;
	background: url(/static/img/qr_icon.png) center/ 36px no-repeat #ededed;
	border-radius: 5px;
	margin: 0 0 0 10px;
}


.elevator_add_serial_input_wrap input[name="serial"]{
	height: 30px;
	background: #ededed;
	padding: 0 8px;
	font-size: 15px;
	border-radius: 5px;
}


.qr_scanner_wrap{
	display: none;
	flex-direction: column;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: black;
}

.qr_scanner_wrap video{
	width: 100%;
	height: calc(100vw / 16 * 9);
}

.qr_scanner_cancel{
	width: 130px;
	height: 35px;
	text-align: center;
	line-height: 35px;
	color: white;
	background: var(--blue);
	border-radius: 5px;
	margin-top: 70px;
}



.fade_out{
	animation: fade_out 0.2s forwards;
}

.fade_in{
	animation: fade_in 0.2s forwards;
}

.rotate{
	animation: rotate 1.8s linear infinite;
}


@keyframes fade_out{from{opacity: 1;}to{opacity: 0;}}
@keyframes fade_in{from{opacity: 0;}to{opacity: 1;}}
@keyframes rotate{from{transform: rotate(0deg);}to{transform: rotate(-360deg);}}



@media(min-width: 720px){
	.page_middle,
	.page_item_add_button,
	.page_list{
		width: 480px;
	}

	.page_middle{
		margin: 25px auto 0;
	}

	.page_item_add_button{
		margin: 10px auto 0;
	}

	.page_list{
		margin: auto;
	}
}

@media(min-width: 960px){
	.page_middle,
	.page_item_add_button,
	.page_list{
		width: 600px;
	}
}

@media(min-width: 1120px){
	/*.page,
	.page[object]{
		padding: 107px 10px 10px;
	}*/

	.page_back[close] .page_back_icon,
	.page_back[close] span{
		display: none;
	}

	.page_desktop_close{
		display: block;
		font-family: 'MontserratMedium';
	}
	.page[type="main"]{
		display: flex;
		flex-direction: column;
	}

	.page_sticky{
		padding-top: 0px;
	}

	.page_menu{
		font-size: 20px;
		line-height: 24px;
		width: 100%;
		margin: auto;
		height: 40px;
	}

	.page_sticky,
	.page_middle,
	.page_item_add_button,
	.page_list{
		width: 445px;
	}

	.page_list{
		margin: 0;
		padding: 0 0 10px;
	}

	.page_middle{
		margin: 20px 0;
		height: 51px;
	}

	.page_item_add_button{
		height: 40px;
		line-height: 40px;
		font-size: 15px;
	}

	.page_list_item_type,
	.page_list_item_elevator_count{
		font-size: 15px;
	}

	.page_list_item_name,
	.page_list_item_name[type="num"],
	.page_list_item_elevator_count_num{
		font-size: 22px;
	}

	.elevator_profile_media{
		height: 250px;
		margin: 20px 0 0;
	}

	.elevator_add_serial_wrap{
		width: 300px;
		margin: 40px auto;
	}

	.elevator_add_serial_input_wrap input[name="serial"]{
		border-radius: 5px 5px 0 0;
	}

	.elevator_add_serial_qr{
		display: none;
	}

	.page_wrapper{
		flex: 1;
	}

	.page_desktop_wrapper{
		position: absolute;
		left: 496px;
		top: 30px;
		overflow: hidden;
		height: 567px;
		width: 445px;
	}

	.page_desktop_scroll{
		height: 100%;
		width: 500px;
		overflow: hidden scroll;
	}

	.page[object]{
		position: absolute;
		padding: 0;
		background: none;
		opacity: 0;
		width: 445px;
		overflow: hidden;
	}

	.page[type="main"][display="1"],
	.page[type="main"][display="2"],
	.page[type="main"][display="3"],
	.page[type="main"][display="4"]{
		animation: none;
	}

	.page[display="0"],
	.page[display="2"],
	.page[display="4"]{
		transform: translateX(0);
		z-index: 0;
	}

	.page[display="1"]{
		animation: fade_in 0.3s forwards 0.2s;
	}

	.page[display="2"]{
		animation: fade_out 0.2s forwards;
	}

	.page[display="3"]{
		animation: fade_in 0.3s forwards 0.2s;
	}

	.page[display="4"]{
		animation: fade_out 0.2s forwards;
	}
}

@media(min-width: 1120px) and (min-height: 705px){
	.page_desktop_wrapper{
		height: calc(100vh - 138px);
	}
}