@import url(https://fonts.googleapis.com/css?family=Fauna+One|Oxygen:400,300,700);
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
}
body {
  font-size: 14px;
  line-height: 1.42857143;
  margin: 0;
}
img {
  vertical-align: middle;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: Fauna One;
  font-weight: 400;
  color: #008bf8;
}
.App {
  font-family: Oxygen, Helvetica, Arial, sans-serif
}

.SignIn {
  display: flex;
  flex-direction: column;
  background: url(http://unsplash.it/1500/1000?image=885&blur=50);
  background-size: cover;
  height: 100vh;
}
.SignIn main {
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.SignIn main h3 {
  font-family: "Fauna One";
  color: #fff;
  font-size: 3rem;
  margin-bottom: 2rem;
}
.SignIn p {
  color: white;
  font-family: "Fauna One";
  font-size: 1.7rem;
  font-weight: 300;
  width: 30em;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255,255,255,0.4);
  padding-bottom: 2rem;
}
.SignIn button {
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  margin: 2.5rem auto 1.2rem;
  padding: 20px;
  -webkit-transition: background 0.2s;
  -o-transition: background 0.2s;
  transition: background 0.2s;
  font-family: 'helvetica neue', sans-serif;
  font-size: 20px;
  font-weight: 200;
}
.SignIn button + button {
  margin-top: 0;
}
.SignIn button.github {
  background-color: #444;
  color: white;
}
.SignIn button.github i.fa {
  font-size: 3rem;
  margin-right: 0.5rem;
}
.SignIn button.google {
  background-color: white;
  color: #666;
}

.Main {
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.Header {
  background-color: #fff;
  height: 80px;
  padding: 0 2rem;
  margin: 0;
}
.Header img {
  width: 30px;
  height: 30px;
  padding-bottom: 4px;
  margin-right: 4px;
}
.Header .title {
  color: #008BF8;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 80px;
  font-family: "Fauna One";
  font-size: 2.2rem;
}

.Sidebar {
  width: 60px;
  background-color: #f3f3f3;
  padding: 0.5rem 0; 
  display: flex; 
  flex-direction: column; 
  align-items: center;
}
.Sidebar .logo {
  font-family: "Fauna One";
  color: #666;
  font-size: 3rem;
}
.Sidebar .logo img {
  width: 30px;
  padding-left: 4px;
}

.Sidebar a.new-note {
  margin-top: 2rem;
  position: relative;
  width: 40px;
}
.Sidebar button {
  background-color: transparent;
  border: 0;
  color: #008BF8;
  cursor: pointer;
}
.Sidebar a img {
  position: absolute;
  left: 0;
  width: 100%;
  transition: opacity 0.25s ease-in-out;
}
.Sidebar a:hover img.outline {
  opacity: 0;
}

.Sidebar .SignOut {
  position: absolute;
  bottom: 1rem;
}
.Sidebar .SignOut button {
  outline: none;
}
.Sidebar .SignOut button i.fa {
  font-size: 2rem;
}

.NoteList {
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  width: 30rem;
}
@media (max-width: 800px) {
  .NoteList {
    width: 20rem;
  }
}
.NoteList h3 {
  color: #999;
  text-transform: uppercase;
  font-size: 2rem;
  font-family: Oxygen;
  font-weight: 300;
  letter-spacing: 3px;
  margin: 20px 2rem;
}
.NoteList ul#notes {
  border-top: 1px solid #eee;
  overflow-y: scroll;
  height: calc(100vh - 72px);
  list-style: none;
  margin-top: 1em;
  padding: 0;
  width: 100%;
  color: #999;
}
.NoteList ul#notes a,
.NoteList ul#notes a:active,
.NoteList ul#notes a:hover,
.NoteList ul#notes a:link,
.NoteList ul#notes a:visited {
  color: inherit;
  text-decoration: none;
}
.NoteList ul#notes>li {
  height: 100px;
  font-size: 90%;
  cursor: pointer;
  overflow: hidden;
}
.NoteList ul#notes>a,
.NoteList ul#notes>a * {
  -webkit-transition: background-color .1s ease-in-out, color .1s ease-in-out;
  -o-transition: background-color .1s ease-in-out, color .1s ease-in-out;
  transition: background-color .1s ease-in-out, color .1s ease-in-out;
}
.NoteList ul#notes li .note {
  border-top: 1px solid #eee;
  margin: 0 2rem;
  padding: 1rem 4px;
}
.NoteList ul#notes a:first-of-type li .note {
  border-top: none;
}
.NoteList ul#notes li:hover {
  background-color: #008bf8;
}
.NoteList ul#notes li:hover,
.NoteList ul#notes li:hover .note * {
  color: #fff!important;
  text-decoration: none !important;
}
.NoteList ul#notes li:hover .note {
  border-color: transparent;
}
.NoteList ul#notes li .note-title {
  color: #4a4a4a;
  font-family: Fauna One;
  font-size: 120%;
  font-weight: 400;
  white-space: nowrap;
  overflow-x: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.NoteList ul#notes li .note-body {
  height: 54px;
  overflow: hidden;
  margin-top: .5rem;
}
.NoteList ul#notes li .note-body * {
  font-size: 1em!important;
  margin: 0!important;
  padding: 0!important;
  color: #999!important;
  background: none;
  border: none;
}
.NoteList ul#notes li .note {
  display: block;
  height: 100px;
  padding: 1em;
  text-decoration: none;
}
.NoteForm {
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0 3rem;
}
.NoteForm .form-actions {
  padding-top: 1rem;
  margin-left: -2rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
}
.NoteForm button {
  border: none;
  background: none;
  padding: 0;
}
.NoteForm button[type=submit] {
  background-color: #008bf8;
  border-radius: 4px;
  color: #fff;
  font-size: 1.4rem;
  padding: 1rem;
}
.NoteForm button i.fa {
  color: #999;
  font-size: 2rem;
  margin: 0;
}
.NoteForm form {
  margin: 0 auto;
  max-width: 80rem;
}
.NoteForm input[name=title] {
  border: none;
  font-size: 200%;
  font-family: Fauna One;
  color: #008bf8;
  font-weight: 400;
  width: 100%;
  outline: none;
}
.NoteForm textarea {
  border-color: #eee;
  width: 100%;
  height: calc(100vh - 140px);
  font-size: 1.3em;
}
