@charset "UTF-8";
*{ font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, Roboto, "Droid Sans", sans-serif;}
@import url(http://fonts.googleapis.com/css?family=Montserrat);

body {
	margin: 0px;
	padding: 0px;
	max-width: 100vw;
	height: 100vh;
	background-color: #f0f0f0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	font-size: smaller;
}
td {
	width: 100px;
}

#header {
	width: calc(100vw -20px);
	height: 32px;
	max-height: 32px;
	min-height: 32px;
	margin: 0px;
	padding: 3px 10px;
	color: #fff;
	background-color: #f77;
	font-size: 20px;
}
#headerContent {
	display: flex;
	flex-direction: row;
	margin-right: auto;
	margin-left : auto;
	max-width: 900px;
	width: 100%;
	justify-content: space-between;
	vertical-align: top;
}
#header_logo {
	height: 24px;
	margin: 4px 0px;
}
#headerContent .hContentLogo{
	text-align: left;
}
#headerContent .hContentMenu{
	display: flex;
	text-align: right;
	font-size: smaller;
	margin: 3px 0px 0px 0px;
}
#headerContent .hContentMenu div{
	padding: 0px 5px;
}
#headerContent .hContentMenu div:hover{
	color: #060;
	cursor: pointer;
}

#content {
	display: flex;
	flex-direction: row;
	margin-right: auto;
	margin-left : auto;
	max-width: 920px;
	width: 100%;
	height: 100%;
}
#left {
	max-width: 620px;
	width: 100%;
	height: calc(100vh - 44px - 5px);
	display: flex;
	flex-direction: column;
	background-color: #fff;
	padding:5px;
}
#display {
	width: 100%;
	height: 384px;
}
#display canvas {
	width: 100%;
	height: 384px;
}
#states {
	color: #fff;
	background-color: #444;
	height: 20px;
	padding: 5px 0px;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.stateBlock {
	height: 20px;
	padding: 0px 2px;
}
.stateBlockCenter {
	width: 80%;
	text-align: center;
}

#settingDisplayLogo, #settingButton, #playTypeLoop, #playTypeRandom, #settingNiceMode, #settingVolume{
	-webkit-appearance: none;
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	background-size: 18px 18px !important;
	margin: 1px 5px;
	padding: 0px;
	background-size: contain !important;
	-webkit-filter: invert(40%);
	filter: invert(40%);
	cursor: pointer;
	vertical-align: top;
	border-radius: 0;
	border: 0px;
}
#actionPre, #actionPost, #actionPlay {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: 20px 20px !important;
	margin: 0px 10px;
	padding: 0px;
	background-size: contain !important;
	cursor: pointer;
	vertical-align: top;
	border-style: none;
	cursor: pointer;
	border-radius : 0;
}
#playTypeLoop {
	background: url(./img/icon_loop.png);
}
#playTypeRandom {
	background: url(./img/icon_random.png);
}
#actionPre {
	background: url(./img/icon_pre.png);
}
#actionPlay {
	background: url(./img/icon_play.png);
}
#actionPost {
	background: url(./img/icon_post.png);
}
#settingNiceMode {
	background: url(./img/icon_like.png);
}
#settingVolume {
	background: url(./img/icon_volume.png);
}

#settingDisplayLogo {
	background: url(./img/icon_picotune.png);
	margin: 2px 10px !important;
	width: 16px !important;
	height: 16px !important;
	background-size: 16px 16px !important;
}
#settingButton {
	background: url(./img/icon_setting.png);
	margin: 2px 10px !important;
	width: 16px !important;
	height: 16px !important;
	background-size: 16px 16px !important;
}

#playSpace {
	border:solid 1px #444;
}

#info {
	min-height: 100px;
	padding: 15px 40px;
	margin: 5px 0px 0px 0px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#right {
	max-width: 300px;
	min-width: 300px;
	width: 300px;
	height: calc(100vh - 38px);
	background-color: #fff;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
#right_all, #right_favorite, #right_user, #right_local {
	display: flex;
	flex-direction: column;
}
#right_all > div, #right_favorite > div, #right_user > div, #right_local > div {
	margin: 0px 5px;
	box-sizing: border-box;
	border-bottom: solid 1px #888;
}
#right_all div.list, #right_favorite div.list, #right_user div.list, #right_local div.list {
	padding: 5px 5px;
	cursor: pointer;
	-webkit-flex-grow: 2;
  	flex-grow: 2;
}
#right_all div.list:hover, #right_favorite div.list:hover, #right_user div.list:hover, #right_local div.list:hover {
	background-color: #cd8;
	text-decoration: underline;
}
#right_all div.head, #right_favorite div.head, #right_user div.head, #right_local div.head {
	display:flex;
	justify-content:space-between;
	font-size: large;
	font-weight: bold;
	border-bottom: double 3px #888;
	padding: 0px;
	margin: 5px;
}
#right_favorite div.head, #right_user div.head, #right_local div.head {
	justify-content: flex-start;
}
#right_favorite div.head span, #right_user div.head span, #right_local div.head span {
	padding: 0px 10px;
}
#right_local input#midifile {
	width: 268px;
}
.right_list_head {
	text-align: center;
	font-weight: bolder;
}

#uploadWindow, #editWindow, #infoWindow, #settingWindow{
	display: none;
	position: fixed;
	width: 100vw;
	height: calc(100vh - 38px);
	left: 0px;
	top: 38px;
	background-color: rgba(0,0,0,0.5);
	z-index:2;
	-webkit-overflow-scrolling: touch;
}
#uploadWindowContent, #editWindowContent, #infoWindowContent, #settingWindowContent {
	max-width: 700px;
	height: 100%;
	margin-right: auto;
	margin-left : auto;
	background-color: white;
	box-sizing: border-box;
	padding: 5px 20px;
	overflow-y: auto;
	z-index:1;
}

.grayback {
	position: fixed;
	width: 100vw;
	height: 100vh;
	left:0px;
	top:0px;
	z-index:-1;
}



#uploadButton {
	display: block;
}

@media screen and (max-width: 600px) {
	body {
		overflow: auto;
		height:100%;
	}
	#header {
	}
	#content {
		flex-wrap: wrap;
	}
	#left {
		max-width: 100%;
		width: 100%;
		height: auto;
		padding: 0px;
	}
	#playSpace {
		border:solid 0px #000;
	}
	#info {
		padding: 5px 10px;
		margin: 0px;
		overflow-y: none;
	}
	#right {
		max-width: 100%;
		width: 100%;
		height: 300px;
		min-height: 300px;
		background-color: #eee;
		border-top: double 5px #000;
	}
	#uploadButton {
		display: none;
	}
}

@media screen and (min-width: 1300px) {
	#headerContent {
		max-width: 1100px;
	}
	#content {
		max-width: 1100px;
	}
	#left {
		max-width:800px;
		width: 800px;
	}
}

@media screen and (min-width: 1800px) {
	#headerContent {
		max-width: 1500px;
	}
	#content {
		max-width: 1500px;
	}
	#left {
		max-width:1200px;
		width: 1200px;
	}
}


/* balloon by https://zxcvbnmnbvcxz.com/pure-css3-balloons/ */
#loadBalloon {
	position: absolute;
	display: inline-block;
	padding: 0px 15px 8px 15px;
	color: #F6F6F6;
	line-height: 40px;
	text-align: center;
	background: #19283C;
	display: none;
}
#loadBalloon:after {
	content: "";
	position: absolute;
	top: -10px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #19283C transparent;
}