@charset "UTF-8";
mp-btn {
  cursor: pointer;
  user-select: none;
  font-family: "Varela Round", sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.molpad {
  display: flex;
  position: relative;
  flex-direction: column;
  background: #eee;
  border: 2px solid #444;
  border-radius: 0.4em;
  overflow: hidden;
}
.molpad > .tabs {
  display: flex;
  background: #eee;
  border-bottom: 1px solid #ddd;
}
.molpad > .tabs > .fill {
  flex-grow: 1;
  background: #eee;
}
.molpad > .tabs > mp-btn {
  padding: 0.8em 1.3em;
  border: 0;
  border-bottom: 0.3em solid #ddd;
  background: #eee;
  font-weight: bold;
  text-transform: uppercase;
}
.molpad > .tabs > mp-btn:hover {
  border-color: #37d;
}
.molpad > .tabs > mp-btn:active, .molpad > .tabs > mp-btn.active {
  background: #cdf;
  border-color: #37d;
}
.molpad > .tools {
  border-bottom: 1px solid #444;
}
.molpad > .tools.inactive {
  opacity: 0.6;
}
.molpad > .tools > .toolbar {
  display: flex;
  background: #eee;
}
.molpad > .tools > .toolbar > .fill {
  flex-grow: 1;
  background: #eee;
}
.molpad > .tools > .toolbar > mp-btn {
  padding: 0.8em 1.3em;
  border: 0;
  border-bottom: 0.3em solid #ddd;
  background: #eee;
}
.molpad > .tools > .toolbar > mp-btn:hover {
  border-color: #37d;
}
.molpad > .tools > .toolbar > mp-btn:active, .molpad > .tools > .toolbar > mp-btn.active {
  background: #cdf;
  border-color: #37d;
}
.molpad > .canvas {
  flex-grow: 1;
  background: #fff;
}
.molpad > .canvas > canvas {
  position: absolute;
}
.molpad > .check {
  padding: 1em;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  border: 0;
  border-top: 1px solid #444;
  background: #eee;
}
.molpad > .check:hover {
  background: #cdf;
}
.molpad > .check.valid {
  pointer-events: none;
  background: #bda;
  color: #241;
}
.molpad > .check.invalid {
  pointer-events: none;
  background: #ffc;
  color: #550;
}
.molpad > .hint {
  position: absolute;
  right: 2em;
  bottom: 5em;
  padding: 0.7em 1.2em;
  text-transform: uppercase;
  background: #eee;
  border: 1px solid #bbb;
  border-radius: 2em;
}
.molpad > .hint.inactive {
  cursor: auto;
  background: #ddd;
  border-color: #bbb;
}
.molpad > .hint:not(.inactive):hover {
  background: #bda;
  border-color: #241;
}
.molpad.small .tabs mp-btn, .molpad.small .tools mp-btn {
  font-size: 0.8em;
  padding: 0.3em 0.7em;
}
.molpad.small .check, .molpad.small .hint {
  font-size: 0.9em;
  padding: 0.4em 0.8em;
}
.molpad.small .hint {
  right: 1em;
  bottom: 3em;
}

.molpad_hints > .hint {
  padding: 1em;
  margin-top: 0.5em;
  color: #241;
  background: #bda;
  border: 1px solid #241;
  border-radius: 0.4em;
}
.molpad_hints > .hint > .number {
  font-weight: bold;
}

/* Fonts */
@font-face {
  src: url("res/font/varela_round_regular.ttf") format("truetype");
  font-family: "Varela Round";
  font-style: normal;
  font-weight: normal;
}
@font-face {
  src: url("res/font/LinBiolinum_R.otf") format("opentype");
  font-family: "Linux Biolinum";
  font-style: normal;
  font-weight: normal;
}
@font-face {
  src: url("res/font/LinBiolinum_RB.otf") format("opentype");
  font-family: "Linux Biolinum";
  font-style: normal;
  font-weight: bold;
}
@font-face {
  src: url("res/font/LinBiolinum_RI.otf") format("opentype");
  font-family: "Linux Biolinum";
  font-style: italic;
  font-weight: normal;
}
/* Generic */
#title, h1, h2, h3 {
  font-weight: normal;
  font-family: Varela Round, sans;
}

hr {
  border: 0;
  height: 2em;
}

a {
  color: #44a !important;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.btn {
  display: inline-block;
  text-decoration: none;
  padding: 0.5em 0.8em;
  background: #eef;
  border-radius: 0.3em;
  border: 1px solid #99c;
  color: #44a;
}
.btn::after {
  content: " ›";
}
.btn:hover {
  cursor: pointer;
  text-decoration: none;
  background: #fff;
  color: #000;
  border-color: #000;
}

/* Specific */
html {
  font-size: 1.3em;
}

body {
  margin: 1em;
  background: #fff;
  font-family: Linux Biolinum;
}

#wrapper {
  max-width: 50em;
  margin: 0 auto;
  margin-bottom: 10em;
}

#language {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0.5em;
  font-size: 1.1em;
  background: #eef;
}

nav {
  font-size: 1.2em;
  margin: 2em;
}

#title {
  display: block;
  text-align: center;
  text-decoration: none;
  margin: 6rem 0 2rem 0;
  font-size: 4rem;
  color: #44a;
  white-space: nowrap;
}
#title img {
  height: 0.8em;
}

@media (min-width: 800px) {
  #title {
    text-align: left;
  }
  nav {
    text-align: right;
    margin-top: -5rem;
    margin-bottom: 5rem;
  }
}
#content {
  text-align: center;
}

header, section, video {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  box-sizing: border-box;
  max-width: 100%;
}

header {
  width: 27rem;
  padding-right: 2rem;
  font-size: 1.2em;
}
header h1 {
  margin-top: 0;
}

section.main {
  font-size: 1.2em;
}

section.keypoint {
  text-align: center;
  width: 12em;
  margin: 1.5em;
  padding: 1em;
  background: #eef;
  border-radius: 0.3em;
  border: 1px solid #99c;
  color: #44a;
}
section.keypoint h2 {
  font-size: 1.2rem;
  color: #99c;
}
section.keypoint h2 strong {
  font-weight: normal;
  color: #000;
}

section.card {
  font-size: 1.1em;
  margin: 1em auto;
  width: 30em;
}
section.card h2 {
  color: #44a;
}
section.card .btn {
  font-size: 1.1em;
  margin-top: 0.6em;
}

.person {
  display: inline-block;
  margin: 1em;
}
.person > img {
  width: 10em;
  border-radius: 4em;
  border: 1px solid #44a;
}

/* Demo */
sub {
  vertical-align: bottom;
  font-size: 0.8em;
  position: relative;
  bottom: -0.2em;
}

chem {
  text-decoration: underline;
}
chem:hover {
  cursor: pointer;
  color: #44a;
  text-shadow: 0 0 0.4em #99c;
}

.demo {
  margin: 2em 0;
  padding: 1em 2em;
  border-radius: 1em;
  background: #eef;
}

@media (max-width: 700px) {
  .demo {
    padding: 1em;
  }
  .molpad .tabs, .molpad .tools {
    font-size: 0.6em;
  }
}
