/* == Main tags ============================================================= */

html {
	height: 100%;
	color: #333333;
}

body {
	margin: 0;
	padding: 0;
	position: relative;
	height: 100%;
	font-family: 'Lato';
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

button {
  background-color: inherit;
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  cursor: pointer;
  color: #fff;
  outline:none;
  padding: 0;
  margin:0;
}

#container {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/* == Loading =========================================================== */

#loading-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 3;
}

#loading-spinner {
	margin-top: 100px;
	margin-left: calc(50% - 42px);
}

#spinner {
	width: 84px;
}

#loading-quote {
	color: #666666;
	font-size: 18px;
	line-height: 24px;
	font-weight: lighter;
	margin-top: 20px;
	margin-left: calc(50% - 150px);
	width: 300px;
	text-align: center;
}

#loading-quote p {
	margin-top: 10px;
}

/* == Header =========================================================== */

header {
	padding: 14px;
	width: 100%;
	min-width: 768px;
	box-sizing: border-box;
	background: linear-gradient(to left,  rgba(153,115,173,1) 0%,rgba(219,81,67,1) 50%,rgba(243,150,79,1) 100%);
}

.header-item {
	display: inline-block;
	font-size: 14px;
	vertical-align: middle;
	color: white;
}

.header-button {
	height: 20px;
	padding-right: 10px;
}

#title-session-div {
	display: table-cell;
	font-size: 1.05em;
	color: white;
	cursor: pointer;
}

#saving-message {	
	display: table-cell;
	font-style: italic;
	opacity: 0.0;
	transition: all .9s ease .15s;
}

#saving-message.show {
	opacity: 0.7;
}

#song-session {
	font-style: italic;
}

#logo {
	width: 110px;
	padding-left: 16px;
	padding-right: 0;
}
#logo-div {
	width: 110px;
	display: table-cell;
}

#hamburger-div {
	/*padding-right: 10px;*/
	width: 30px;
	display: table-cell;
	cursor: pointer;
}

#hamburger-button {
	margin-top: 3px;
}

#song_menu_div, #session_menu_div {
	width: 190px;
}
#songMenu, #sessionMenu {
	display: none;
}

header #session_title {
	font-size: 14px;
	cursor: pointer;
    position: absolute;
    left: 388px;
	top: 23px;
	width: 98px;
	white-space: nowrap;
	display:inline-block;
}

header #session_title_edit_div {
	display: none;
}

header #session_title_edit {
	font-size: 14px;
	display: inline-block;
	vertical-align: top;
	height: 22px;	
	background-color: white;
	border: 0;
	width: 160px;
	margin-left: 2px;
	margin-top: -1px;
}

#session_buttons, #session_title_edit_div {
	width: 170px;
	overflow: visible;
}

header button {
	padding: 3px 3px;
}

#shareLink {
	padding: 0;
	margin: 0;
}

#freshID, #freshIDLabel {
	display: none;
}

#lock-button {
	z-index: 50;
}

#session-password {
	display: none;
	font-size: 10px;
	width: 40px; 
	margin-left:-6px;
}

#freshID, #freshIDLabel {
	font-size: 13px;
    padding-right:5px;
}

#camjam_div {
	text-align: right;
	display: table-cell;
}

/* == Session Menu =========================================================== */

#session-menu-headermask {
	position: absolute;
	width: 100%;
	height: 64px;
	z-index: 1000;
	pointer-events: none;
}

#session-menu-bodymask {
	background-color: #000;
	width: 100%;
	position: absolute;
	top:64px;
	height: 100%;
	z-index: 100;
	opacity: 0;
	transition: all .8s ease .15s;
	pointer-events: none;
}

#session-menu-headermask.show, #session-menu-bodymask.show {
	opacity: .8;
	pointer-events: all;
}

#session-menu {
	width: 568px;
	position: absolute;
	top:64px;
	left: -568px;
	height: calc(100% - 64px);
	background-color: #fdfcfc;
	color: #000;
	z-index: 20000;
	padding: 0;
	line-height: 150%;
	transition: all .8s ease .15s;
	z-index: 1001; 
	box-sizing: border-box;
	/*overflow-y: auto;*/
}

#session-menu.show {
	left: 0 !important;
}

#session-scroll {
	height: 100%;
	overflow-y: auto;
	overflow-x: auto;
}

#session-album-title {
	font-size: 1.1em;
	color: #555;
	padding: 6px 0 0 11px;
}

#song-list-header {
	padding: 6px 12px;
	color: #555
}

#session-list-header {
	width: 51%;
	padding: 6px 12px;
	float: right;
	color: #555
}

#session-lists {
	height: calc(100% - 66px);
	background: #aaa;
}

#session-song-list {
	background-color: #fdfcfc;
	float: left;
	width: 45%;
	height: 100%;
	border-top: solid 2px #aaa;
	/*padding-left: 6px;*/
}

.session-song {
	color: #333;
	padding: 6px;
	border-bottom: solid 2px #aaa;
	cursor: pointer;
}
.session-song-title, .session-session-title {
	font-size: .9em;
	padding: 2px 0 0 6px;
}

.session-session-title {
	/*display: inline;
	width: 80%;*/
}

.session-song-credits {
	font-size: .75em;
	line-height: 140%;
	margin-left: 10px;
	/*margin-top: -2px;*/
	padding: 0 0 0 6px;
}

.session-session-freshid {
	/*width: 80%;*/
	font-size: .75em;
	margin-top: -6px;
	padding: 0 0 0 6px;
}

.session-session {
	color: #333;
	padding: 3px;
	cursor: pointer;
	/*border-bottom: solid 2px #fdfcfc;*/
}

#session-session-list {
	float: left;
	height: calc(100% - 34px);
	width: 55%;
}

#new-session-button {
	float: right;
	width: 14px;
	margin-top: 4px;
    cursor: pointer;
}

.session-toolbar {
	margin-top: 12px;
	margin-right: 4px;
	float: right;
}

.session-toolbar > img {
	cursor: pointer;
}

.song-selected {
	background-color: #aaa;
	color: white;
	cursor: auto;
}

.session-selected, .session-toolbar button {
	color: white;
	cursor: auto;
}

.bigplus {
	font-size: 22px;
}

#session-newsession {
	text-align: right;
	padding-right: 12px;
	background-color: #9973ad;
	height: 270px;
}

.session-button {
	width: 16px;
	margin-left: 7px;
}

.session-button.hide {
	display: none;
}

.default-session {
	font-style: italic;
}

/* -- Session Menu Dialogs ---------------------------------------------------------------- */

.session-session > .hide {
	display: none;
}
.session-dialog {
	padding: 8px;
	font-size: 0.8em;
	font-weight: normal;
	text-align: center;
	line-height: 1.3em;
}

/*#delete-dialog {
	display: none;
}*/

.dialog-button  {
	float: right;
	display: inline;
	margin: 3px;
	padding: 3px;
	width: 16%;
	border: solid 2px #fdfcfc;
	cursor: pointer;
}

.dialog-button.highlighted{
	color: #aaa;
	background: #fdfcfc;
	border: solid 2px #fdfcfc;
}

.dialog-input {
	height: 22px;
	margin-top: 2px;
	width: 70%;
	font-family: inherit;
	font-size: inherit;
	color: #aaa;
	outline-color: #EB9758;
}

#lock-dialog-passwordinput {
	width: 48%;
}

#share-dialog-name {
	width: 90%;
}

#lock-dialog-password {
	width: 50%;
}




/* == Workspace =========================================================== */

#app {
	/*display: none;*/
}
#workspace {
	width: 100%;
	min-width: 768px;
	height: calc(100% - 216px);
	margin: 0;
	position: relative;
}

#workspace.fullscreen {
	padding: 0;
	height: 100%;
	width:100%;
}

/* == Lyrics =========================================================== */

#lyrics {
	font-weight: 100;
	color: #666666;
	background-color: #fafaf4;
	padding: 20px 3px 20px 20px;
	height: 100%;
	display: inline-block;
	box-sizing: border-box;
	float: left;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0;
	transition: all .8s ease .15s;
 }

#lyrics.withEditor {
	width: 340px;
}

#lyrics.noEditor {
	width: 680px;
}

#lyrics .sectionName {
	padding: 12px 0 12px 0;
	text-transform: uppercase;
}

#lyrics .line {
	display: block;
	margin-left: 30px;
	margin-bottom: 0px;
	font-size: 20px;
	line-height: 36px;
	font-weight: lighter;
}

#lyrics .line.current {
	background-color: #ccc;
	line-height: 36px;
	background-position: -40px 0px, center;
	margin-left: -17px;
	padding-left: 47px;
}

#lyrics .keyword {
	font-weight: 900;
	font-size: 20px;
	color: #fff;
	text-decoration: none;
	background-color: #000;
	padding: 3px 5px 6px 5px;
    border-radius: 9px;
	cursor: pointer;
}

/* == Keyword Editor =========================================================== */

#keyword_editor {
	float: left;
	padding: 0;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	background: rgb(153,115,173);
	/*background: linear-gradient(135deg,  rgba(153,115,173,1) 0%,rgba(219,81,67,1) 50%,rgba(243,150,79,1) 100%);*/
	/*background: linear-gradient(135deg,  rgba(243,150,79,1) 0%,rgba(153,115,173,1) 50%,rgba(219,81,67,1) 100%);*/
	background: linear-gradient(235deg,  rgba(153,115,173,1) 0%,rgba(219,81,67,1) 50%,rgba(243,150,79,1) 100%);
	transition: all .8s ease .15s;
}

#keyword_editor.withEditor {
	width: 340px;
	display: inline-block;
}

#keyword_editor.noEditor {
	width: 0px;	
}

#back_button {
	float: right;
	background-image: url("../img/buttons/button-cross.svg");
    background-color: white;
	background-repeat: no-repeat;
	background-position: center; 
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid #000000;
	margin-top: 3px;
}

#back_button:hover {
  background-color: #9999ff;
}

#nextPrompt {
	float: left;
	background-image: url("../img/buttons/button-redo.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 28px;
	margin: 1px 8px;
}

#graffitiUndo {
	float: left;
	background-image: url("../img/buttons/button-undo-black.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 28px;
	margin: 1px 8px;

}

#graffitiDelete {
	float: left;
	background-image: url("../img/buttons/button-bin.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px;
	margin: 1px 8px;
	image-rendering: -webkit-optimize-contrast;
}

#snippet-record-button {
	float: left;
	width: 53px;
	height: 53px;
	transition: background-color 0.2s;
	background-color: #fff;
}

#record-button-dot {
	background-color: rgb(255, 50, 100);
	width: 23px;
	height: 23px;
	border-radius: 50%;
	margin-left: 13px;
}

#snippet-record-button.recording {
  background-color: rgba(255, 50, 100, 1);
}

#snippet-play-button {
	float: left;
	background-image: url("../img/buttons/button-play-black.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px;
	margin: 0;
}

#snippet-delete-button {
	/*float: left;*/
	background-image: url("../img/buttons/button-bin.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px;
	margin: 0;
	/*margin: 1px 8px;*/
	image-rendering: -webkit-optimize-contrast;
}

#keyword_editor h3 {
	text-transform: uppercase;
	font-size: 24px;
	/* font-weight: 900; */
	margin: 5px;
	padding-bottom: 5px;
	color: #fff;
	letter-spacing: 1px;
}

.editor_section {
	border-top: solid 1px #000;
	color: #fff;
	padding: 10px 22px 15px 22px;
	position: relative;
}

.keyword_section {
	border-top: none;
}

#keyword {
	font-size: 48px;
	margin: 5px 0;
	color: #fff;
}

.prompt_widget {
	display: flex;
}

#prompt {
	flex: 1;
}

#prompt span {
	display: none;
}

#prompt span.current {
	display: inline;
}

.icon-musedlab-redo{
	font-size:22px;
}

.keywordnotes {
	background-color: #fafaf4;
	border: solid 1px #666666;
	width: 100%;
	height: 150px;
	resize: vertical;
	font-size: 20px;
	padding: 5px;
	box-sizing: border-box;
}

#keyword_editor #graffiti_undoerase {
	position: absolute;
	top: 50px;
	right: 20px;
}

#keyword_editor .snippet-playback-controls {
	margin-top: 25px;
}

.audio-snippet {
  width: 150px;
  height: 25px;
  /*margin: 0 2% -2.5% 2%;*/
  margin-top: 13px;
  margin-left: 10px;
  display: inline-block;
  background-color: #fafaf4;
  border-radius: 10px;
  border: solid 1px #666666;
  overflow:hidden;
}

.audio-snippet-progress {
  height:100%;
  background-color: rgb(255, 50, 100);
  width:0;
}

#snippet-volume-slider {
    float: left;
	width: 146px;
	margin: 17px 16px;
	vertical-align: middle;
}

#snippet-volume-slider:disabled:hover {
  background-color: inherit;
  cursor: not-allowed;
}

.trash {
	width: 38px;
	height: 38px;
	vertical-align: middle;
	border: solid 1px #666666;
	border-radius: 50%;
}

.toolbutton{
	width: 49px;
	height: 49px;
	border: 2px solid #000;
	color: #000;
	background: #fff;
	border-radius: 50%;
	vertical-align: middle;
	text-align:center;
	font-size: 1.3rem;
	line-height: 0.1;
	display: inline-block;
	margin-right: 5px;
	padding: 0;
}
.toolbutton:hover{
	background-color: #9999ff;
}
.toolbutton:disabled:hover {
  background-color: inherit;
  cursor: not-allowed;
}

.tooltag{
	text-transform: uppercase;
	display:block;
	padding-top: 5px;
	position: relative;
	vertical-align: middle;
	color: #fff;
	font-size: 12px;
}
.tooltag > span {
  margin: 0 8px;
}

/* -- Radio Buttons ---------------- */

.tool_select {
	font-size: 15px;
	height: 25px;
	line-height: 15px;
	margin-bottom: 20px;
}

.tool_option {
	width: 18px;
	height: 20px;
	vertical-align: text-top;
	border-radius: 5px;
}

.tool_option:focus, .tool_option:hover, .tool_option.selected {
	background-color: rgba(67, 67, 67, 1);
	outline: none;
}

.tool-button-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	margin-left: 4px;
	pointer-events:none;
}
.tool-button-dot.medium {
	width: 12px;
	height: 12px;
	margin-left: 3px;
}
.tool-button-dot.large {
	width: 15px;
	height: 15px;
	margin-left: 1px;
}

/* -- Settings -------------------------------------------------------------- */

#settings {
	height: 49px;
	border-top: solid 1px #666666;
}

/* == Illustration Space =========================================================== */

#illustration_space {
	height: 100%;
	padding: 0;
	margin: 0;
	display: inline-block;
	box-sizing: border-box;
}

#illustration_space.withEditor {
	width: calc(100% - 680px);
}

#illustration_space.noEditor {
	width: calc(100% - 680px);
}

#illustration_space.fullscreen {
	padding-left: 0 !important;
	width:100%;
}

#viewport {
	height: 100%;
	position: relative;
}

#viewport.fullscreen {
	width:100%;
	height: 95% !important;
}

#viewport video {
	width: 100%;
	height: 100%;
}

#viewport canvas, #viewport .view_overlay {
	position: absolute;
	top: 0;
	left: 0;
}

#lyric_scroll {
	padding: 18px;
	text-align: center;
	font-size: 26px;
	border-top: solid 1px #b6b5b2;
}

.small {
    font-size: 17px;
}

.icon-musedlab-locked .icon-musedlab-unlocked {
    display: inline-block;
}


/* == Webcam ================================================================ */

.icon-musedlab-webcam {
	font-size: 24px;
	display: inline-block;
	padding: 1px;
}
.icon-musedlab-livejam {
	margin: 0;
	font-size: 24px;
	display: inline-block;
}

/* == Timeline ============================================================== */
/*TODO: #timeline should be a class*/

#timeline {
	height: 149px;
	background-color: #fafaf4;
	width: 100%;
}

#transport {
	display: inline-block;
	width: 100px;
	height: 149px;
	box-sizing: border-box;
	float: left;
}

#rewind, #player-rewind {
  width: 100px;
  height: 49px;
  border: none;
  background-image: url(../img/buttons/button-undo.svg);
  background-size: 24px;
  background-repeat: no-repeat;
  background-color: #9A72AB;
  color: #fff;
  border-top: solid 1px #b6b5b2;
  font-size: 1.5rem;
  outline: none;
  cursor: pointer;
  display: block;
}

#rewind:hover {
	background-color: #cccccc;
	color: #a907b5;
}

#play, #player-play {
	width: 100px;
	height: 103px;
	border: none;
	background-image: url(../img/buttons/button-play.svg);
    background-size: 26px;
    background-repeat: no-repeat;
	background-color: #db5143;
	color: #fff;
	font-size: 1.5rem;
	outline: none;
	cursor: pointer;
	display: block;
}

#player-rewind {
	width: 49px;
	height: 49px;
	background-size: 30px;
	background-color: transparent;
	border: none;
}

#player-play {
	width: 49px;
	height: 49px;
	background-color: transparent;;
}

#play.pause, #player-play.pause {
	background-image: url(../img/buttons/button-pause.svg);	
}

#play:hover {
	background-color: #B6B5B2;
	color: #a907b5;
}

#player-controls {
		position: absolute;
		bottom: 15%;
		background: rgba(0, 0, 0, 0.5);
		padding: 20px;
		width: calc(40% - 40px);
		right: 30%;
		display: none;
}

#player-controls.visible {
		display: flex;
}

#player-controls button:hover {
		color: #a907b5;
}

#player-timeline {
		background: #f2f2f2;
		height: 30px;
		flex-grow: 1;
		margin-left: 10px;
		margin-top: 9px;
		position: relative;
}

#timeline_markers {
	display: inline-block;
	width: calc(100% - 100px);
	box-sizing: border-box;
}

#timeline #markers {
	height: 100%;
	font-size: 50px;
	white-space: nowrap;
}

#markers-scrollable-wrapper {
  height:100px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.keyCircle {
	/*border: solid 1px #333;*/
	color: #666666;
	font-size: 40px;
	text-align: center;
	border-radius: 50%;
	background-color: #ffffff;
	height:45px;
	width:45px;
	line-height: 1;
	position: absolute;
	bottom: 0;
	left: 0;
}

.audioBadge{
	color: #666666;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 0px;
	right: -2px;
	background-image: url(../img/badge-audio.svg);
	background-repeat: no-repeat;
}

.notesBadge{
	color: #ffffff;
	font-size: 15px;
	width: 23px;
	height: 17px;
	position: absolute;
	bottom: 5px;
	left: 11px;
	background-image: url(../img/badge-comment.svg);
	background-repeat: no-repeat;
    background-color: rgba(0,0,0,0.3);
    border-radius: 4px;
    padding-top:3px;
}

#timeline .marker {
	padding: 0 30px 0 5px;
	min-width: 45px;
	height: 90px;
	border-radius: 40px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 23px;
	border-bottom-right-radius:0px;
	background-color: #cccccc;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-origin: border-box;
	position: relative;
	display: inline-block;
	cursor: pointer;
	margin: 7px 4px;
	font-size: 16px;
	text-align: left;
	color: #ffffff;
	vertical-align: top;
}

#timeline .marker span {
    color:white;
    background-color: rgba(0,0,0,0.3);
    border-radius:9px;
    padding:2px 6px 4px 5px;
    line-height: 1.9;
}

#timeline .marker:hover .audioBadge, #timeline .marker:hover .keyCircle {
	color: #cccccc;
}

#timeline .marker.current {
	color: #db5143;
	box-shadow: 0 0 0 4px #db5143;
}

#timeline .marker.triggered {
	border-color: #a907b5;
	color: #a907b5;
	background-color: #ffffff;
}

/*-- Overview timeline styling --*/

.overview-timeline {
	height: 48px;
	border-top: solid 1px #cccccc;
	/* border-bottom: solid 1px #cccccc; */
	position: relative;
}

.timeline-target {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 600;
}

.timeline-playhead {
	position: absolute;
	height: 100%;
	box-sizing: border-box;
	background: #ffddc3;
	border-right: solid 4px #f78d3c;
}

#timeline .structureblock {
  height: 100%;
  display: inline-block;
  background-color: #f2f2f2;
  border-right: 1px solid #ffffff;
  box-sizing: border-box;
}

#timeline .sectionName {
	z-index : 500;
	position: absolute;
	padding: 17px;
	font-size: 10px;
	text-transform: uppercase;
	color: #333333;
	padding-left: 5px;
}

#timeline #overviewtimeline-intro {
  background-color: #f2f2f2;
  border-right: 1px solid #ffffff;
  border-left: 1px solid #b6b5b2;
}
#timeline #overviewtimeline-outro {
  background-color: #f2f2f2;
  /*border-right: 1px solid #b6b5b2;*/
  border-right: 1px solid #f2f2f2;
}

/* == Overlay =============================================================== */

header.fullscreen, #timeline.fullscreen, #lyrics.fullscreen, #keyword_editor.fullscreen {
	display: none !important;
}

/* Countdown */
.countdownWrapper {
	margin-right: auto;
	margin-left: auto;
	width: 57em;
}

#countdownTimer {
	display:inline-block;
	margin-top: 150px;
	margin-bottom: 150px;
	margin-left:250px;
	margin-right: 250px;
	height: 100vh;
}

/* Overlay style */
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 3;
}

/* Overlay closing cross */
.overlay .overlay-close {
	font-size: 3em;
	width: 80px;
	height: 80px;
	position: absolute;
	right: 20px;
	top: 20px;
	overflow: hidden;
	border: none;
	background-color: transparent;
	/*background: url(../img/livejam.png) no-repeat center center;*/
	/*text-indent: 200%;*/
	color: white;
	outline: none;
	z-index: 100;
}

/* Effects */
.overlay-slidedown {
	visibility: hidden;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: -webkit-transform 0.4s ease-in-out, visibility 0s 0.4s;
	transition: transform 0.4s ease-in-out, visibility 0s 0.4s;
}

.overlay-slidedown.open {
	visibility: visible;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	-webkit-transition: -webkit-transform 0.4s ease-in-out;
	transition: transform 0.4s ease-in-out;
}

@media screen and (max-height: 30.5em) {
	.overlay nav {
		height: 70%;
		font-size: 14px;
	}
	.overlay ul li {
		min-height: 34px;
	}
}



/* == Responsive - Size =========================================================== */


@media only screen and (max-width: 1024px) { /* tablet landscape */
	#lyrics {
		transition: none;
	}
	
	#lyrics.withEditor {
		display: none;
	}

	#lyrics.noEditor {
		width: 512px;
	}
	
	#keyword_editor {
		transition: none;
	}

	#keyword_editor.withEditor {
		width: 512px;
		display: inline-block;
	}

	#keyword_editor.noEditor {
		display: none;	
	}
	
	#illustration_space.withEditor, #illustration_space.noEditor {
		width: calc(100% - 512px);
	}
	
	#illustration_space.fullscreen {
		width: 100%;
	}
}

@media only screen and (max-width: 768px) { /* tablet portrait */
	#lyrics.withEditor {
		display: inline-block;
		width: 50%;
		height: 50%;
	}

	#lyrics.noEditor {
		width: 100%;
		height: 50%;
	}
	
	#keyword_editor.withEditor {
		width: 50%;
		height: 50%;
	}

	#keyword_editor.noEditor {
		display: none;	
		width: 0;
	}
	
	#illustration_space.withEditor {
		width: 100%;
		height: 50%;
	}

	#illustration_space.noEditor {
		width: 100%;
		height: 50%;
	}
	
	#timeline {
		min-width: 0;
	}
	
	#timeline .sectionName {
		font-size: 8px;
	}	
	
	#illustration_space.fullscreen {
		width: 100%;
		height: 100%;
	}
}

@media only screen and (max-width: 736px) { /* phone landscape */
	#loading-spinner {
		margin-top: 65px;
	}
	
	#loading-quote {
		margin-top: 10px;
	}


	header, #timeline, #workspace {
		width: 100%;
		min-width: 100%;
	}
	
	header {
		padding: 5px;
	}

	#logo {
		width: 110px;
		padding-right: 5px;
		padding-top:3px;
	}

	#session_buttons, #session_title_edit_div {
		width: 0;
	}
	
	#camjam_div {
		display: none;
	}

	#lyrics {
		font-size: 16px;
	}
		
	#lyrics .keyword {
		padding: 1px 5px 4px 5px;
	}
	
	#keyword_editor h3 {
		font-size: 22px;
	}
	#keyword_editor #keyword {
		font-size: 36px;
	}
	#keyword_editor {
		font-size: 14px;
	}
	
 	#lyrics .line {
		font-size: 18px;
		line-height: 32px;
	}
	
	#lyrics.noEditor {
		width: 55%;
		height: 100%;
	}

	#lyrics.withEditor {
		display: none;
	}
	
	#lyrics .line.current {
		line-height: 32px;
	}
	
	#keyword_editor {
		font: 0.1rem !important;
	}
	
	#keyword_editor.withEditor {
		display: none;
	}
	
	#keyword_editor.withEditor {
		display: inline-block;
		width: 55%;
		height: 100%;
	}
	
	#illustration_space.noEditor, #illustration_space.withEditor {
		width: 45%;
		height: 100%;
	}
	
	#illustration_space.fullscreen {
		width: 100%;
		height: 100%;
	}

	#workspace {
		height: calc(100% - 93px);
	}	
	
	#markers-scrollable-wrapper {
	  height:88px;
	  
	}
	
	#transport {
		width: 88px;
		height: 88px;
	}

	#rewind {
		width: 44px;
		height: 44px;
		float: left;
	}
	
	#play {
		width: 44px;
		height: 44px;
	}
	
	.overview-timeline {
		display: none;
	}
	
	#timeline {
		height: 44px;
	}
	
	#timeline_markers {
		width: calc(100% - 88px);
		height:44px;
	}
	
	#timeline .marker {
		height: 36px;
		margin: 5px 3px;
	}
	
	#markers {
		padding-left: 3px;
	}
	
	.notesBadge{
		visibility: hidden;
	}
	
	#session-menu-headermask {
		height: 48px;
	}

	#session-menu-bodymask {
		top:48px;
	}

	#session-menu {
		top:48px;
		height: calc(100% - 48px);
	}	
		
	.session-toolbar, #new-session-button {
		display: none;
	}
}

@media only screen and (max-width: 414px) { /* phone portrait */
	#lyrics.noEditor {
		width: 100%;
		height: 100%;
	}
	
	#lyrics.withEditor {
		display: none;
	}
	
	#keyword_editor.withEditor {
		display: inline-block;
		width: 100%;
		height: 100%;
	}

	#workspace {
		height: calc(100% - 137px);
	}	
	
	#illustration_space.noEditor, #illustration_space.withEditor {
		display: none;
	}
	
	#transport {
		width: 44px;
	}
	
	#timeline {
		height: 88px;
	}

	#timeline_markers {
		width: calc(100% - 44px);
		height: 88px;
	}

	#timeline .marker {
		height: 78px;
		margin: 5px 3px;
	}

	#timeline .marker {
		height: 78px;
		margin: 5px 3px;
	}

	#markers {
		padding-left: 3px;
	}	
	
	.notesBadge{
		visibility: inherit;
	}
		
	#session-menu {
		width: 100%;
	}

	#session-list-header {
		width: 38%;
	}
	
	#session-song-list {
		width: 55%;
	}
	
	#session-session-list {
		width: 45%;
	}
}


@media only screen and (max-width: 359px) { /* smaller phone portrait */
	#logo {
		width: 95px;
		padding-right: 3px;
		padding-top:2px;
	}
	
	#song_menu_div, #session_menu_div {
    	width: 184px;
	}
	
	#workspace {
		height: calc(100% - 132px);
	}	
}

@media only screen and (height: 320px) { /* 4 inch phone landscape */
	
	#loading-spinner {
		margin-top: 60px;
		margin-left: calc(50% - 25px);
	}
	
	#loading-quote {
		margin-top: 0;
		width: 390px;
		margin-left: calc(50% - 195px);
	}
	
	#spinner {
		width: 50px;
	}
}


/* == Responsive - Features =========================================================== */

@media only screen and (max-device-width: 1024px) {
	.disabled_for_tablet {
		display: none;
	}
}

@media only screen and (max-device-width: 736px) {
	.disabled_for_phone {
		display: none;
	}
	
	#keyword-notes {
		background-color: transparent;
		color: white;
		border: 0;
		opacity: 1;
		resize: none;
		/*height: auto;*/
		font-size: inherit;
	}
}

.loading-hide {
	visibility: hidden !important;
}
