.anim-delay-100 {
  animation-delay: 0.1s;
}

.anim-delay-300 {
  animation-delay: 0.3s;
}

.anim-delay-500 {
  animation-delay: 0.5s;
}

.anim-delay-700 {
  animation-delay: 0.7s;
}

.anim-delay-1000 {
  animation-delay: 1s;
}

@keyframes anim-fade-in {

0% {
    opacity: 0;
  }
  
100% {
    opacity: 1;
  }

}

.anim-fade-in-slow {
  animation-name: anim-fade-in;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

.anim-fade-in-normal {
  animation-name: anim-fade-in;
  animation-duration: 0.3s;
  animation-fill-mode: both;
}

.anim-fade-in-fast {
  animation-name: anim-fade-in;
  animation-duration: 0.1s;
  animation-fill-mode: both;
}

* {
  font-family: 'Droid Serif', Serif;
  color: #012546;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

html {
  height: 100%;
  min-width: 300px;
}

body {
  height: 100%;
  background-color: #fffdf9;
}

@media (max-width: 550px) {

  body {
    overflow-y: auto;
  }

}

h1 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 2.4em;
}

h2 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 2.0em;
}

h3 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 1.6em;
}

h4 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 1.4em;
}

h5 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 1.4em;
}

h6 {
  padding: 12px;
  font-family: 'Roboto', Sans-Serif;
  font-size: 1.4em;
}

a {
  color: #ff6823;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: #bc3b00;
}

p {
  padding: 14px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  font-size: 1.0em;
}

pre {
  animation-name: anim-fade-in;
  animation-duration: 0.5s;
  animation-delay: 2.0s;
  animation-fill-mode: both;
}

pre code {
  border-left: 4px solid #ddd;
  background-color: #fdf6e3;
  overflow: auto;
  font-family: 'Inconsolata', monospace;
  padding: 10px;
  margin: 14px;
}

code {
  background-color: #fdf6e3;
  font-family: 'Inconsolata', monospace;
  font-size: 18px;
  color: red;
}

ul {
  padding: 10px 10px 10px 35px;
  font-size: 16px;
}

ol {
  padding: 10px 10px 10px 35px;
  font-size: 16px;
}

hr {
  box-sizing: initial;
  margin: 20px 5px;
}

em {
  font-family: 'Roboto', Sans-Serif;
  font-size: 18px;
}

strong {
  font-family: 'Roboto', Sans-Serif;
  font-size: 18px;
}

blockquote {
  background-color: #fff1c3;
  color: hsla(208.69565, 97.1831%, 13.921569%, 0.7);
  margin: 10px;
  padding: 10px;
  border: 2px solid #fff7dd;
}

blockquote footer {
  color: hsla(208.69565, 97.1831%, 13.921569%, 0.5);
  font-size: 1.0em;
  padding: 1em 1em 1em 1em;
}

img {
  padding: 0;
  display: block;
  max-width: 100%;
  margin: 25px auto;
  text-align: center;
}

.gist {
  padding: 1.0em;
}

.hljs {
  font-family: 'Inconsolata', monospace;
}

.hljs span {
  font-family: 'Inconsolata', monospace;
}

.hljs>.bash {
  font-family: 'Inconsolata', monospace;
}

.hljs-name {
  font-family: 'Inconsolata', monospace;
}

.hljs-symbol {
  font-family: 'Inconsolata', monospace;
}

.hljs-string {
  font-family: 'Inconsolata', monospace;
}

.hljs-variable {
  font-family: 'Inconsolata', monospace;
}

.hljs-meta {
  font-family: 'Inconsolata', monospace;
}

.hljs-builtin-name {
  font-family: 'Inconsolata', monospace;
}

.full-width {
  width: 100%;
}

.flex-container {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow-y: auto;
}

.header {
  justify-content: center;
  height: 50px;
  margin: 0;
  align-items: center;
  flex-shrink: 0;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #236daf;
  display: flex;
  flex-basis: 50px;
}

@media (max-width: 550px) {

  .header {
    height: initial;
    flex-basis: auto;
    flex-direction: column;
    flex-wrap: nowrap;
  }

}

.header>.name {
  display: flex;
  max-height: 50px;
  align-items: center;
  justify-content: center;
  padding-left: 5px;
  padding-right: 10px;
  font-size: 24px;
  flex-grow: 0;
}

@media (max-width: 550px) {

  .header>.name {
    padding: 0;
    padding-top: 10px;
    padding-bottom: 5px;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }

}

.header>.name>img {
  height: 40px;
  width: 40px;
  border-radius: 100%;
  text-align: center;
}

@media (max-width: 550px) {

  .header>.name>img {
    height: 60px;
    width: 60px;
  }

}

.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding-right: 40px;
  margin: 0;
  flex-grow: 2;
}

@media (max-width: 550px) {

  .menu {
    flex-direction: column;
    height: initial;
    margin: 0;
    padding: 20px;
    padding-top: 0px;
  }

}

.menu-item {
  font-size: 20px;
  font-family: 'Roboto', Sans-Serif;
  padding-left: 12px;
  padding-right: 12px;
  border-bottom: 1px solid;
  border-bottom-color: #c89800;
}

.menu-item:hover {
  background-color: #074882;
}

.menu-item>a {
  font-family: 'Roboto', Sans-Serif;
}

@media (max-width: 550px) {

  .menu-item {
    padding: 0;
    padding-top: 5px;
    padding-bottom: 5px;
  }

}

.menu-item.selected {
  border-bottom-color: #ffde77;
}

.menu-item>a {
  text-decoration: none;
  color: #ffa177;
}

.header>.site-dropdown-container {
  display: flex;
  flex-grow: 0;
  width: 230px;
  justify-content: flex-end;
}

.header>.site-dropdown-container>.site-dropdown {
  padding-right: 10px;
}

.content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  overflow-y: auto;
}

@media (max-width: 550px) {

  .content {
    overflow-y: initial;
  }
  
  body {
    overflow: auto;
  }

}

.footer {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #6396c4;
  text-align: center;
  font-size: 80%;
  flex-basis: 25px;
  flex-shrink: 0;
}

@media (max-width: 640px) {

  .footer {
    flex-basis: 17.5px;
    font-size: 70%;
  }

}

@media (max-width: 550px) {

  .footer {
    display: none;
  }

}

.banner-page {
  justify-content: flex-start;
  margin: 5%;
  align-items: center;
  flex-direction: row;
  flex-grow: 1;
  margin-bottom: 20px;
  box-shadow: 3px 3px 26px 0px rgba(0,0,0,0.5);
  background-color: #236daf;
  border-radius: 5px;
  display: flex;
}

@media (max-width: 600px) {

  .banner-page {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

}

@media (max-width: 350px) {

  .banner-page {
    margin: 0;
    margin-bottom: 20px;
    border-radius: 0;
  }

}

.profile-picture {
  width: 33%;
  flex-grow: 0;
  padding: 15px;
  overflow: hidden;
  text-align: center;
}

.profile-picture>img {
  border-radius: 100%;
}

@media (max-width: 600px) {

  .profile-picture {
    width: 75%;
  }

}

.profile-content {
  padding: 20px;
  flex-grow: 3;
}

.detail-section {
  display: flex;
}

@media (max-width: 440px) {

  .detail-section {
    flex-direction: column;
  }

}

.detail-title {
  font-weight: bold;
  font-size: 1.3em;
  padding: 5px;
  flex-grow: 1;
  flex-basis: 30%;
}

.detail-value {
  padding: 5px;
  font-size: 1.3em;
  flex-grow: 3;
  flex-basis: 70%;
  color: #ffa177;
}

.detail-value>a {
  color: #ffde77;
  text-decoration: none;
}

.detail-value>a:hover {
  color: #c89800;
}

.cooshy-quote {
  margin: 7%;
  margin-bottom: 3%;
  text-align: center;
  font-size: 1.5em;
  color: #ffde77;
}

@media (max-width: 440px) {

  .cooshy-quote {
    font-size: 1.0em;
  }

}

.banner-nav-sections {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 7%;
  margin-top: 3%;
}

.banner-nav-element {
  width: 200px;
  border-width: 1px;
  border-color: #ffa177;
  margin: 3%;
  padding: 15px;
  border-style: solid;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.5em;
  background-color: #ffde77;
  border-radius: 3px;
}

.page-container {
  background-color: #e2e5e7;
  flex-grow: 1;
  padding: 15px;
  overflow: auto;
}

@media (max-width: 550px) {

  .page-container {
    padding: 0;
    overflow: initial;
  }

}

.page-view {
  background-color: #fffdf9;
  box-shadow: 3px 3px 26px 0px rgba(0,0,0,0.5);
  padding: 5px;
  padding-bottom: 25px;
}

@media (min-width: 860px) {

  .page-view {
    width: 860px;
    margin: 0 auto;
  }

}

@media (max-width: 550px) {

  .page-container {
    margin: 0;
  }

}

.banner-nav-element>a {
  font-style: none;
  text-decoration: none;
  cursor: pointer;
}

@media (min-width: 860px) {

  .home-container {
    width: 860px;
    margin: 0 auto;
  }

}

.project-card {
  display: flex;
  border-radius: 1px;
  border-color: #d2e1ee;
  border-style: solid;
  border-width: 2px;
  flex-direction: column;
  margin: 7px;
  padding: 7px;
}

.project-title {
  font-weight: bold;
  font-size: 1.5em;
}

.project-skills {
  display: flex;
  padding: 5px;
  flex-direction: row;
  flex-wrap: wrap;
}

.project-carot {
  border-width: 1px;
  border-color: #e2e5e7;
  margin: 3px;
  padding: 5px;
  border-style: solid;
  font-size: 0.8em;
  padding-right: 10px;
  border-radius: 5px;
  color: #6396c4;
  padding-left: 10px;
}

.post-listing {
  padding: 20px;
  text-align: left;
}

a.post-element {
  text-decoration: none;
}

.post-element {
  padding: 5px;
  margin: 5px;
}

.post-title {
  padding: 5px;
  font-weight: bold;
  font-size: 1.2em;
}

.post-title:hover {
  text-decoration: underline;
}

.post-summary {
  font-style: italic;
  padding-left: 5px;
  padding-top: 5px;
}

.post-date {
  font-size: 0.8em;
  padding-left: 5px;
  padding-top: 5px;
}

.inline-markdown>.fif-repl {
  padding-bottom: 0.5em;
  font-family: 'Inconsolata', monospace;
  padding: 14px;
  white-space: pre-wrap;
  animation-name: anim-fade-in;
  animation-fill-mode: both;
  font-size: 1.0em;
  animation-delay: 2.0s;
  padding-top: 0.5em;
  animation-duration: 0.5s;
}

.fif-repl-component {
  display: flex;
  flex-direction: column;
  min-height: 200px;
  width: 100%;
}

.fif-repl-component>textarea {
  width: 100%;
  font-family: 'Inconsolata', monospace;
  border: none;
  padding: 0.5em;
  flex-shrink: 0;
  white-space: pre;
  outline: none;
  border-bottom-color: #ffc4aa;
  flex-grow: 1;
  border-bottom-style: solid;
  border-bottom-width: 4px;
  overflow-x: auto;
  font-size: 1.2em;
  background-color: #ffe7dd;
  border-radius: 5px;
  resize: none;
  flex-basis: 200px;
}

.fif-repl-component>.output-string {
  width: 100%;
  padding: 0.5em;
  border-bottom-color: #88afd2;
  flex-grow: 0;
  word-wrap: break-word;
  border-bottom-style: solid;
  border-bottom-width: 4px;
  overflow: auto;
  font-size: 1.2em;
  background-color: #c0d4e7;
  border-radius: 5px;
  font-style: italic;
  max-height: 200px;
}

.fif-repl-component>.output-stack {
  width: 100%;
  font-family: 'Inconsolata', monospace;
  padding: 0.5em;
  border-bottom-color: #ffca23;
  flex-grow: 0;
  word-wrap: break-word;
  border-bottom-style: solid;
  border-bottom-width: 4px;
  overflow: auto;
  font-size: 1.2em;
  background-color: #ffeaaa;
  border-radius: 5px;
  max-height: 200px;
}

#overlay-console {
  bottom: 0;
  top: 0;
  background-color: hsla(0, 0%, 5.098039%, 0.9);
  z-index: 9001;
  right: 0;
  display: none;
  position: absolute;
  overflow-y: auto;
  left: 0;
}

.fif-console-container {
  display: flex;
  flex-direction: column;
  padding: 0.5em;
  padding-top: 1.5em;
  padding-right: 1.5em;
  width: 100%;
}

.listing-output {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-left: 1.0em;
  font-family: 'Inconsolata', monospace;
}

.console-header-text {
  color: #e2e5e7;
  font-weight: bold;
  min-height: 1.3em;
  line-height: 1.3em;
  padding-bottom: 0.5em;
  font-family: 'Inconsolata', monospace;
  word-wrap: break-word;
  font-size: 1.3em;
}

@media (max-width: 550px) {

  .console-header-text {
    font-size: 1.0em;
  }

}

.console-sub-header-text {
  color: #c6ccd0;
  min-height: 1.2em;
  line-height: 1.2em;
  font-family: 'Inconsolata', monospace;
  word-wrap: break-word;
  font-size: 1.2em;
}

@media (max-width: 550px) {

  .console-sub-header-text {
    font-size: 0.8em;
  }

}

.console-output-text {
  color: #6396c4;
  min-height: 1.2em;
  line-height: 1.2em;
  font-family: 'Inconsolata', monospace;
  word-wrap: break-word;
  font-size: 1.2em;
}

@media (max-width: 550px) {

  .console-output-text {
    font-size: 0.8em;
  }

}

.console-input-text {
  color: #ffde77;
  min-height: 1.2em;
  line-height: 1.2em;
  font-family: 'Inconsolata', monospace;
  word-wrap: break-word;
  font-size: 1.2em;
}

@media (max-width: 550px) {

  .console-input-text {
    font-size: 0.8em;
  }

}

.console-error-text {
  color: #ff6823;
  min-height: 1.2em;
  line-height: 1.2em;
  font-family: 'Inconsolata', monospace;
  word-wrap: break-word;
  font-size: 1.2em;
}

@media (max-width: 550px) {

  .console-error-text {
    font-size: 0.8em;
  }

}

.console-image {
  padding: 1em;
  max-width: 80%;
  max-height: 80%;
}

.console-youtube-video-iframe {
  padding: 1em;
}

.console-youtube-video {
  margin: 1em;
  width: 622px;
  height: 350px;
}

.input-container {
  display: flex;
  min-height: 1.2em;
  align-items: center;
  line-height: 1.2em;
}

.input-container .input-arrow {
  color: white;
  padding-right: 0.5em;
}

.input-container input {
  line-height: 1.2em;
  color: #e2e5e7;
  min-height: 1.2em;
  font-size: 1.2em;
  background-color: hsla(0, 0%, 0%, 0);
  width: 100%;
  outline: none;
  border: none;
  font-family: 'Inconsolata', monospace;
}

@media (max-width: 550px) {

  
  
  .input-container input {
    font-size: 0.8em;
  }

}

#close-console-button {
  position: fixed;
  top: 1.3em;
  right: 1.5em;
  font-family: 'Roboto', Sans-Serif;
  cursor: pointer;
  font-size: 1.2em;
  color: hsla(0, 0%, 100%, 0.3);
}

#close-console-button:hover {
  color: hsla(0, 0%, 100%, 0.7);
}

.tips {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.8em;
  margin: auto;
}

.tips .wallet {
  display: flex;
  width: 400px;
  padding: 5px;
}

.tips .wallet .wallet-logo {
  font-weight: bold;
  font-family: 'Roboto', Sans-Serif;
  margin: 5px;
  margin-left: 10px;
  margin-right: 10px;
  width: 50px;
}

.tips .wallet .wallet-address {
  padding: 5px;
  font-family: 'Inconsolata', monospace;
}

@media (max-width: 550px) {

  .tips {
    font-size: 0.8em;
  }
  
  .tips .wallet {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: auto;
  }
  
  .tips .wallet-logo {
    text-align: center;
    width: auto;
  }

}