@charset "UTF-8";

body.isUkitMenuOpen {
	overflow: hidden;
}

/* Layout
================================================== */
.um-l-wrap {
	font-size: 13px;
	right: 0;
	position: fixed;
	top: 0;
	z-index: 5000;
}

/* Close */
.um-l-wrap {
	right: -280px;
	transition: right .4s ease;
}

/* Open */
.um-l-wrap.isOpen {
	right: 0;
}

/* Basis
-------------------------------------------------- */
.um-l-wrap .um-l-basis {
	position: relative;
}

/* Toggle button */
.um-l-wrap .um-l-toggle {
	right: 100%;
	position: absolute;
	top: 0px;
	z-index: 30;
}

@media screen and (min-width: 768px) {
	.um-l-wrap .um-l-toggle {
		display: none;
	}
}

/* Content */
.um-l-wrap .um-l-content {
	background: #fff;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100vh;
	overflow-y: scroll;
	position: relative;
	width: 280px;
	z-index: 20;
}

/* Mask */
.um-l-wrap .um-l-mask {
	background: rgba(0,0,0,.4);
	height: 100vh;
	right: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 10;
}

/* Close */
.um-l-wrap .um-l-mask {
	opacity: 0;
	pointer-events: none;
	transition: All .4s ease;
}

/* Open */
.um-l-wrap.isOpen .um-l-mask {
	opacity: 1;
	pointer-events: auto;
}


.um-l-wrap.isOpen .um-l-toggle {
	right: 0!important;
	position: absolute;
	top: 0;
	z-index: 30;
}

/* Main link list
================================================== */
.um-mianList {
	order: 200;
	height: inherit;
	overflow: auto;
}

/* Link
-------------------------------------------------- */
.um-mianList a {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	line-height: 1.2;
	overflow: hidden;
	padding: 20px 0;
	position: relative;
	text-decoration: none;
	transition: All .4s ease;
	width: 100%;
	justify-content: center;
}

.um-mianList a:after {
	bottom: 0;
	content: '';
	display: block;
	position: absolute;
	right: 0;
	width: 100%;
	z-index: 30;
}

.um-mianList .no-border a:after {
	border-bottom: 0;
}

.um-mianList .first {
	margin-top: 45px;
}

/* First layer
-------------------------------------------------- */

/* Second layer
-------------------------------------------------- */
.um-mianList .hasChild ul {
	overflow: hidden;
}

.um-mianList .hasChild li a:after {
	width: 100%;
}
.um-mianList .hasChild li:not(.hasChild):last-child a:after {
	width: calc(100% + 1.5em);
}
.um-mianList li.hasChild > ul {
}
.um-mianList li.hasChild.isOpen > ul {
	opacity: 1;
	pointer-events: auto;
}
.um-mianList li.hasChild:not(.isOpen) > ul {
	max-height: 0px !important;
	opacity: 0;
	pointer-events: none;
}

/* Label node
-------------------------------------------------- */
.um-mianList li.label {
	background: #f2f2f2;
	border-bottom: 1px solid #e5e5e5;
	border-top: 1px solid #e5e5e5;
	color: rgba(0,0,0,.7);
	line-height: 20px;
	padding: 0 8px;
}

/* Parent layer
-------------------------------------------------- */
.um-mianList .hasChild {
	position: relative;
}
.um-mianList .hasChild > a {
	position: relative;
	z-index: 10;
}
.um-mianList .hasChild > .um-plusBtn {
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	z-index: 20;
}
.um-mianList .hasChild > ul {
	transition: all .4s ease;
}

/* Cross button
================================================== */
.um-crossBtn .um-crossBtn-basis {
	height: 45px;
	position: relative;
	width: 45px;
}
.um-crossBtn .um-crossBtn-basis:hover {
	cursor: pointer;
}

/* Border
-------------------------------------------------- */
.um-crossBtn .um-crossBtn-border,
.um-crossBtn .um-crossBtn-border:before,
.um-crossBtn .um-crossBtn-border:after {
	content: '';
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	top: 50%;
	transition: All .4s ease;
	width: 22px;
}

/* Close */
.um-crossBtn .um-crossBtn-border {
	transform: translateY(-50%) translateX(-50%);
}
.um-crossBtn .um-crossBtn-border:before {
	transform: translateY(7px) translateX(-50%);
}
.um-crossBtn .um-crossBtn-border:after {
	transform: translateY(-9px) translateX(-50%);
}

/* Open */
.isOpen .um-crossBtn .um-crossBtn-border {
	background: transparent;
}
.isOpen .um-crossBtn .um-crossBtn-border:before {
	transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.isOpen .um-crossBtn .um-crossBtn-border:after {
	transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

/* Plus button
================================================== */
.um-plusBtn .um-plusBtn-basis {
	box-sizing: border-box;
	padding: 28px 0;
	position: relative;
	transition: All .4s ease;
	background: rgba(0, 0, 0, 0.1);
}
.um-plusBtn .um-plusBtn-basis:hover {
	cursor: pointer;
}

/* Border
-------------------------------------------------- */
.um-plusBtn .um-plusBtn-border:before,
.um-plusBtn .um-plusBtn-border:after {
	background: #2f2f2f;
	content: '';
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	transition: All .4s ease;
	width: 16px;
}

/* Close */
.um-plusBtn .um-plusBtn-border:after {
	transform: translateY(-50%) translateX(-50%) rotate(-90deg);
}

/* Open */
.isOpen > .um-plusBtn .um-plusBtn-border:after {
	opacity: 0;
	transform: translateY(-50%) translateX(-50%) rotate(0deg);
}

/* Search form
================================================== */
.um-l-searchForm {
	border-bottom: 1px solid #e5e5e5;
	display: flex;
	justify-content: space-between;
	order: 100;
	padding: 8px;
}

/* Input form
-------------------------------------------------- */
.um-searchForm-input {
	border-radius: 4px;
	border: 2px solid #e5e5e5;
	box-sizing: border-box;
	height: 36px;
	line-height: 12px;
	padding: 0 16px;
	transition: all .4s ease;
}
.um-l-wrap:not(.isSearchResult) .um-searchForm-input {
	width: 100%;
}
.isSearchResult .um-searchForm-input {
	width: calc(100% - 58px);
}
.um-searchForm-input:focus {
	border-color: #74b9ff;
	outline: none;
}

.um-searchForm-input:placeholder-shown {
	color: #ccc;
}
.um-searchForm-input::-webkit-input-placeholder {
	color: #ccc;
}
.um-searchForm-input:-moz-placeholder {
	color: #ccc;
	opacity: 1;
}
.um-searchForm-input::-moz-placeholder {
	color: #ccc;
	opacity: 1;
}
.um-searchForm-input:-ms-input-placeholder {
	color: #ccc;
}

/* Clear botton
-------------------------------------------------- */
.um-searchForm-clear {
	align-items: center;
	border-radius: 4px;
	color: #ccc;
	display: flex;
	height: 36px;
	justify-content: center;
	transition: all .4s ease;
}
.um-l-wrap:not(.isSearchResult) .um-searchForm-clear {
	font-size: 0;
	opacity: 0;
	width: 0;
}
.isSearchResult .um-searchForm-clear {
	width: 50px;
}
.um-searchForm-clear:hover {
	cursor: pointer;
}

/* Search result style
-------------------------------------------------- */
.isSearchResult .um-plusBtn {
	display: none;
	transition: all 0.3s;
}
.isSearchResult .um-mianList li.hasChild {
	border-left: none;
}
.isSearchResult .um-mianList li.hasChild ul {
	max-height: none !important;
	opacity: 1;
	padding: 0;
	pointer-events: auto;
}
