@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}

a {
  color: #185F96;
  cursor: pointer;
  text-decoration: none;
}

body {
  font-family: 'Roboto', sans-serif;
  margin: 104px 0px 0px 0px;
}

button, .button {
  background-color: #185F96;
  border: none;
  border-radius: 5px;
  box-sizing: border-box;
  color: #FFF;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  padding: 10px 15px;
}

button.secondary, .button.secondary {
  background-color: #999;
}

header {
  background-color: #333;
  color: #FFF;
  left: 0px;
  position: fixed;
  text-align: center;
  top: 0px;
  z-index: 100;
}

h1 {
  margin: 0px;
  padding: 0px 0px 10px 0px;
}

input {
  border: 2px #999 solid;
  box-sizing: border-box;
  font-size: 16px;
  outline: none;
  padding: 5px;
  width: 100%;
}

input.variable {
  background-color: #185F96;
  border: 2px #185F96 solid;
  color: #FFF;
  cursor: pointer;
}

label {
  display: block;
  font-size: 18px;
  padding: 10px 0px;
}

textarea {
  border: 2px #999 solid;
  box-sizing: border-box;
  font-size: 16px;
  height: 100px;
  outline: none;
  padding: 5px;
  width: 100%;
}

.app {
  display: none;
}

.checkbox {
  display: inline-block;
}

.checkbox .icon {
  background-color: #185F96;
  background-size: 1px 1px;
  border-radius: 5px;
  height: 16px;
  transition: background-size .25s; -webkit-transition: background-size .25s;
  width: 16px;
}

.checkbox.checked .icon {
  background-image: url(images/check.svg);
  background-size: 12px 12px;
}

.CodeMirror {
  cursor: text;
  height: auto;
  overflow-y: hidden;
}

.divider {
  border: 1px #CCC solid;
  display: block;
  height: 1px;
}

.file .image {
  border-bottom: 1px #EEE solid;
  height: 50px;
  width: 50px;
}

.file .image .icon {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 50px 50px;
  height: 50px;
  padding: 10px;
  vertical-align: middle;
  width: 50px;  
}

.file .info {
  border-bottom: 1px #EEE solid;
  vertical-align: middle;
}

.file .info .generator {
  color: #CCC;
  font-size: 12px;
}

.file .info .name {
  font-size: 16px;
}

.icon {
  background-repeat: no-repeat;
  background-position: center center;
  display: inline-block;
  height: 16px;
  vertical-align: middle;
  width: 16px;
}

.icon.file-bower {
  background-image: url(images/file/bower.svg);
}

.icon.add-icon {
  background-image: url(images/icon/add.svg);
}

.icon.author-icon {
  background-image: url(images/icon/author.svg);
}

.icon.close-icon {
  background-image: url(images/icon/close.svg);
}

.icon.file-icon {
  background-image: url(images/icon/file.svg);
}

.icon.general-icon {
  background-image: url(images/icon/general.svg);
}

.icon.generator-icon {
  background-image: url(images/icon/generator.svg);
}

.icon.github-icon {
  background-image: url(images/github.svg);
}

.icon.info-icon {
  background-image: url(images/info.svg);
  cursor: help;
}

.icon.js-icon {
  background-image: url(images/file/js.svg);
}

.icon.json-icon {
  background-image: url(images/file/json.svg);
}

.icon.load-icon {
  background-image: url(images/icon/load.svg);
}

.icon.loader-icon {
  background-image: url(images/loader.svg);
}

.icon.loader-icon.loading {
  -webkit-animation: rotating 2s linear infinite;
}

.icon.login-icon {
  background-image: url(images/icon/login.svg);
}

.icon.logout-icon {
  background-image: url(images/icon/logout.svg);
}

.icon.save-icon {
  background-image: url(images/icon/save.svg);
}

.icon.schema-icon,
.icon.schematic-icon {
  background-image: url(images/icon/schema.svg);
}

.icon.settings-icon {
  background-image: url(images/icon/settings.svg);
}

.icon.spec-icon {
  background-image: url(images/icon/spec.svg);
}

.icon.tour {
  background-image: url(images/tour.svg);
  background-size: 160px 160px !important;
}

.icon.tour-icon {
  background-image: url(images/icon/tour.svg);
}

.icon.variable-icon {
  background-image: url(images/icon/variable.svg);
}

.radio {
  display: inline-block;
}

.radio button {
  background-color: #999;
  border: 2px #999 solid;
  padding: 8px 13px;
}

.radio button.default {
  border: 2px #185F96 solid;
}

.radio button.selected {
  background-color: #185F96;
  border: 2px #185F96 solid;
}

.table {
  display: table;
  width: 100%;
}

.table a {
  display: table-row;
}

.table a:hover {
  background-color: #EEE;
}

.table a span.icon {
  background-position: center center;
  background-repeat: no-repeat;
}

.text {
  vertical-align: middle;
}

.value {
  cursor: pointer;
  display: block;
  margin: 0px -10px;
  padding: 10px;
}

.value:hover {
  background-color: #eef8ff;
  background-image: url(images/icon/edit.svg);
  background-position: right 10px top 50%;
  background-repeat: no-repeat;
  background-size: 16px 16px;
}

.value p {
  margin: 0px;
  padding: 0px;
}

#app {
  display: none;
}

#config-content textarea {
  font-family: 'Courier New';
}

#container {
  display: none;
  opacity: 0;
}

#content {
  clear: both;
}

#content aside,
#content section {
  box-sizing: border-box;
  float: left;
  height: 100%;
  overflow: scroll;
  padding: 10px;
}

#content aside {
  box-sizing: border-box;
  width: 300px;
}

#content aside form {
  box-sizing: border-box;
  height: 100%;
  padding: 10px;
}

#content aside form,
#content aside .table {
  background-color: #FFF;
}

#content aside .table a {
  display: table-row;
}

#content aside .table a.selected {
  background-color: #eef8ff;
}

#content aside .table a span {
  display: table-cell;
}

#content aside .table a span span {
  display: inline-block;
}

#content aside .table a span.icon {
  height: 50px;
  padding: 10px;
  width: 50px;
}

#content aside .table a span.info .name {
  display: block;
}

#content .content, #content .subcontent {
  display: none;
}

#content .content.selected, #content .subcontent.selected {
  display: block;
}

#content .content-center {
  box-sizing: border-box;
  overflow: auto;
  padding-bottom: 10px;
}

/*
#content .content-center pre {
  background-color: #FFF;
  border-radius: 5px;
  display: block;
  padding: 10px;
}
*/

#content .content-center .info-icon {
  margin-left: 10px;
}

#content .content-center .title {
  font-size: 24px;
  padding-top: 10px;
}

#exports-content-container {
  display: none;
}

#exports-init {
  position: fixed;
  text-align: center;
}

#exports-init .button {
  margin-top: 20px;
}

#exports-init .title {
  border-bottom: 1px #CCC solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

#fuzzy {
  background-color: #FFF;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  max-height: 300px;
  overflow: auto;
  position: absolute;
  z-index: 3000;
}

#fuzzy .table a {
  display: table-row;
}

#fuzzy .table a span {
  display: table-cell;
  padding: 10px;
}

#fuzzy .table a span.icon {
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
}

#hint {
  background-color: #000;
  border-radius: 5px;
  color: #FFF;
  font-size: 12px;
  padding: 5px 10px;
  position: fixed;
  text-align: center;
  width: 200px;
  z-index: 1000;
}

#hint-arrow {
  border: solid transparent;
  border-color: rgba(136, 183, 213, 0);
	border-bottom-color: #000;
	border-width: 7px;
  height: 0px;
  pointer-events: none;
  position: fixed;
	width: 0px;
  z-index: 1000;
}

#imports-content-container {
  display: none;
}

#imports-init {
  position: fixed;
  text-align: center;
}

#imports-init .button {
  margin-top: 20px;
}

#imports-init .title {
  border-bottom: 1px #CCC solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

#init {
  display: none;
  position: fixed;
  text-align: center;
}

#init .button {
  margin-top: 20px;
}

#init .title {
  border-bottom: 1px #EEE solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

#loader {
  opacity: 0;
  position: fixed;
}

#loader .icon {
  display: block;
  height: 100px;
  margin: 0px auto;
  width: 100px;
  -webkit-animation: rotating 2s linear infinite;
}

#logo {
  background-image: url(images/logo.svg);
  background-position: center center;
  background-repeat: no-repeat;
  height: 32px;
  left: 50%;
  margin-left: -91px;
  position: absolute;
  top: 10px;
  width: 182px;
}

#main {
  height: 32px;
  padding: 10px;
}

#main .text {
  color: #FFF;
  padding: 0px 5px;
}

#menu {
  float: left;
}

#menu .icon {
  background-image: url(images/menu.svg);
  background-position: center center;
  background-repeat: no-repeat;
  display: inline-block;
  height: 32px;
  width: 32px;
}

#menu .icon,
#menu .text {
  vertical-align: middle;
}

#output-content-container {
  display: none;
}

#output-init {
  position: fixed;
  text-align: center;
}

#output-init .button {
  margin-top: 20px;
}

#output-init .title {
  border-bottom: 1px #CCC solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

#outputs-content-container {
  display: none;
}

#outputs-init {
  position: fixed;
  text-align: center;
}

#outputs-init .button {
  margin-top: 20px;
}

#outputs-init .title {
  border-bottom: 1px #CCC solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

#overlay {
  background-color: #000;
  left: 0px;
  opacity: .25;
  position: fixed;
  top: 0px;
  z-index: 1000;
}

#popup {
  background-color: #FFF;
  border-radius: 5px;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  min-width: 400px;
  position: fixed;
  padding: 20px;
  z-index: 2000;
}

#popup button {
  margin-top: 10px;
  width: 100%;
}

#popup .content {
  overflow: auto;
}

#popup .error {
  color: #FF0000;
  display: none;
}

#popup .table a {
  display: table-row;
}

#popup .table a span {
  display: table-cell;
  padding: 10px;
}

#popup .table a span.icon {
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
}

#popup .title {
  font-size: 24px;
  padding-bottom: 10px;
}

#popover {
  background-color: #FFF;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  position: fixed;
  min-width: 200px;
  z-index: 1000;
}

#popover .table a {
  display: table-row;
}

#popover .table a span {
  display: table-cell;
  padding: 10px;
}

#popover .table a span.icon {
  background-size: 24px 24px;
}

#tabs {
  background-color: #FFF;
  display: none;
  height: 52px;
}

#tabs a {
  border-bottom: 3px #CCC solid;
  box-sizing: border-box;
  color: #CCC;
  float: left;
  padding: 15px 0px;
  text-align: center;
  width: 25%;
}

#tabs a:hover {
  border-bottom: 3px #999 solid;
  color: #999;
}

#tabs a.selected {
  border-bottom: 3px #185F96 solid;
  color: #185F96;
}

#tour-content {
  text-align: center;
}

#user {
  float: right;
}

#user .icon {
  background-image: url(images/icon/login-white.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 32px 32px;
  border-radius: 50%;
  display: inline-block;
  height: 32px;
  width: 32px;
}

#user .icon,
#user .text {
  vertical-align: middle;
}

#welcome {
  position: fixed;
  text-align: center;
}

#welcome .options {
  overflow: auto;
}

#welcome .options .option {
  box-sizing: border-box;
  color: #000;
  display: inline-block;
  padding: 10px;
}

#welcome .options .option .icon {
  background-size: 200px 200px;
  display: block;
  height: 200px;
  margin: 0px auto;
  width: 200px;
}

#welcome .options .option .text {
  display: block;
  font-size: 16px;
  padding-top: 20px;
}

#welcome .recent {
  background-color: #EEE;
  border-radius: 5px;
  clear: both;
  display: none;
  margin-top: 40px;
  padding: 10px;
}

#welcome .recent a {
  display: inline-block;
  padding: 0px 5px;
}

#welcome .splash {
  padding-bottom: 40px;
  width: 400px;
}

#welcome .title {
  border-bottom: 1px #EEE solid;
  color: #185F96;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 32px;
}

@media (max-width: 600px) {
  .app {
    overflow: hidden;
    width: 100%;
  }
  
  .column {
    float: left;
  }
  
  #content aside {
    padding: 0px;
    width: 100%;
  }
  
  #content aside .search {
    padding: 10px;
  }
  
  #menu .text {
    display: none;
  }
  
  #popup {
    min-width: 0px;
  }
  
  #user .text {
    display: none;
  }
  
  #welcome {
    position: static;
  }
  
  #welcome .options .option {
    display: block;
  }
}