:root {
  --background: #253137;
  --layer: #1F292E;
  --metalayer: #1B2327;
  --btn: #1F292E;
  --btn-hover: #324149;
  --text: rgba(255, 255, 255, 0.65);
  --text-em: #87c9c3;
}

html, body {
  width: 100%;
  height: 100%;
}
body {
  display: flex;
  flex-direction: column;
  margin: 0;
  font-size: 0;
  background-color: var(--background);
  color: var(--text);
  font-family: 'Montserrat', sans-serif;
  user-select: none;
}
:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.menubar {
  display: flex;
  align-items: center;
  list-style: none;
  padding-left: 0;
  padding-top: 10px;
}
.menubar li {
  display: inline-block;
}
.logo {
  font-weight: 700;
  color: var(--text-em);
  font-size: 24px;
  margin: 0 20px;
}
.menu-btn {
  -webkit-appearance: none;
  border: none;
  background: none;
  background-color: var(--btn);
  font: inherit;
  font-size: 16px;
  padding: 5px 10px;
  cursor: pointer;
  margin: 5px;
  color: var(--text);
  border-radius: 2px;
}
.menu-btn:hover {
  background-color: var(--btn-hover);
}
/* https://tympanus.net/codrops/2015/09/15/styling-customizing-file-inputs-smart-way/ */
#load {
  width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.video-wrapper {
  display: flex;
  flex: auto;
  height: 0;
}
.sources {
  margin: 20px;
  background-color: var(--layer);
  border-radius: 10px;
  padding: 10px;
  overflow-y: auto;
  min-width: 220px;
  overflow-x: hidden;
}
.source {
  background-color: var(--metalayer);
  width: 200px;
  height: 112.5px;
  border-radius: 5px;
  margin: 10px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
.name {
  display: block;
  padding: 10px;
  font-size: 14px;
  white-space: pre;
  overflow: hidden;
  text-overflow: ellipsis;
}
.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.add {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#add {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  cursor: pointer;
}
.preview {
  flex: auto;
  margin: 20px;
  margin-left: 0;
}
#preview {
  width: 100%;
  height: 100%;
  background-color: var(--layer);
  border-radius: 10px;
}

.toolbar {
  display: flex;
  margin: 0 20px;
  align-items: center;
}
.flex {
  flex: auto;
}
.space {
  width: 20px;
}
.tool-btn {
  -webkit-appearance: none;
  border: none;
  background: none;
  font: inherit;
  color: var(--text);
  padding: 0 5px;
  cursor: pointer;
}
.timestamp,
.zoom-level {
  font-size: 16px;
  margin: 0 5px;
}
#current {
  color: var(--text-em);
}

.timeline {
  height: 150px;
  margin: 20px;
  background-color: var(--layer);
  border-radius: 10px;
  padding: 20px;
  overflow-x: auto;
  position: relative;
}
.clip {
  background-color: var(--metalayer);
  width: var(--length);
  height: 150px;
  border-radius: 5px;
  margin: 0 20px;
  background-repeat: no-repeat;
  cursor: pointer;
  left: var(--pos);
  position: absolute;
  top: 20px;
}
.dragging {
  position: fixed;
  opacity: 0.5;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  margin: 0;
}
.marker, .playhead {
  position: absolute;
  background-color: var(--text-em);
  left: var(--pos);
  width: 4px;
  margin-left: 18px;
  top: 20px;
  bottom: 20px;
  border-radius: 2px;
  z-index: 2;
}
.playhead {
  position: absolute;
  width: 1px;
  margin-left: 19.5px;
  top: 10px;
  bottom: 20px;
  cursor: pointer;
  --pos: 0;
}
.playhead::after {
  content: '';
  display: block;
  border-top: 10px solid var(--text-em);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  margin-left: -9.5px;
}
.hidden {
  display: none;
}
.trim-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: ew-resize;
  width: 20px;
}
.left {
  left: 0;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5), transparent);
}
.right {
  right: 0;
  background-image: linear-gradient(-90deg, rgba(0, 0, 0, 0.5), transparent);
}

.context {
  position: fixed;
  background-color: var(--metalayer);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  overflow: hidden;
  z-index: 3;
}
.context-item {
  -webkit-appearance: none;
  display: flex;
  width: 100%;
  color: var(--text);
  background: none;
  border: none;
  font: inherit;
  font-size: 14px;
  padding: 10px;
  cursor: pointer;
  align-items: center;
}
.context-item .material-icons {
  margin-right: 10px;
}
.context-item:hover {
  background-color: var(--btn-hover);
}

.recording .sources,
.recording .toolbar,
.recording .timeline,
.recording .load {
  pointer-events: none;
  opacity: 0.5;
}
