/* General formatting and defaults */
* {
  padding: 0px;
  margin: 0px;
  border:0px;
  list-style-type: none; }

a {
  text-decoration: none; }
  a:visited {
    color: inherit; }

h1 {
  font-size: 166%;
  margin: 14px 0px; }

p {
  padding: 8px 0px; }

body {
  font-family: 'Roboto', sans-serif;
  overflow-x: hidden; }

.hide {
  display: none !important; }

.super {
  font-size: 80%;
  line-height: 1em;
  position: relative;
  vertical-align: baseline;
  top: -0.5em; }

@media all and (min-width: 800px) {
  body {
    line-height: 28px;
    font-size: 18px; }
}

@media all and (max-width: 799px) {
  body {
    line-height: 25px;
    font-size: 16px; }
}

ul.list-bullet li {
  padding: 3px 0px 3px 0px;
  margin-left: 20px;
  list-style: disc; }

ul.first-line-italic li::first-line {
  font-style: italic; }

.list-header>li {
  margin-top: 20px;
  margin-bottom: 40px; }
  list-header>li>div:first-of-type {
    color: #118;
    font-size: 110%; }

div.sub-header {
  font-size: 120%;
  margin-bottom: 6px;
}

div.employer-header>div:nth-child(1)  {
  font-size: 140%; }
  div.employer-header>div:nth-child(2) {
    font-size: 80%;
    margin-bottom: 6px; }

.fixed-font {
  font-family: monospace; }

/* Navigatiom header specific formatting */
.header {
  line-height: normal;
  position: fixed;
  background-color: #6FBBF9;
  color: #302020;
  display: flex;
  /*border-bottom: 2px solid #707070;*/
  width: 100%;
  z-index: 1; }
  .header>div {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  max-width: 870px; }

.menu-middle {
  display: flex;
  align-items: center;
  justify-content:center;
  white-space: nowrap;
  padding: 0px 5px 0px 5px;
  width: 100%;
  font-family: 'Roboto', sans-serif;
  font-size: 120%;
  text-shadow: 0px 0px 2px #FF4; }
  .menu-middle img {
    height: 24px; }

@media all and (max-width: 450px) {
  .menu-middle img {
    display: none; }
}

ul.menu {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 110%;
  font-weight: 300;
  height: 100%; }

ul.menu li {
  padding-top: 2px;
  padding-bottom: 7px;
  transition: all 300ms;
  width: auto;
  white-space: nowrap;
  cursor: pointer; }

ul.menu-horz li {
  display: table-cell;
  padding-left: 15px;
  padding-right: 15px; }
  ul.menu-horz li .typcn {
    font-size: 150%; }
  ul.menu-horz li.selected {
    background-color: #181010;
    color: #F8F0F0; }

ul.menu-horz li:hover {
  background-color: #181010;
  color: #F8F0F0; }

ul.menu-right {
  right: 0px;
  margin-right: 0px;
  display: block; }
  ul.menu-right span {
    display: inline-block;
    text-align: center;
    width: 25px; }

#language-code {
  text-transform: uppercase; }

ul.menu-vert {
  font-weight: bold;
  position: fixed;
  top: 43px;
  line-height: 40px;
  width: 33%;
  margin-bottom: 2px;
  padding-left: 0px;
  margin-left: -160px; }
  ul.menu-vert li {
    width: 160px;
    border-bottom: 1px solid #605050;
    margin-left: -160px; }
    ul.menu-vert li:hover {
      background-color: #181010;
      color: #F8F0F0; }
    ul.menu-vert li>div {
      display: inline-block;
      width:20px; }

@media all and (min-width: 800px) {
  .menu-collapsed {
    display: none; }
}

@media all and (max-width: 799px) {
  .menu-full {
    display: none; }
}

/* Base article (page) formatting */
.main {
  background-color: #F8F8F8;
  transition: padding 500ms ease-in-out;
  transition: margin 500ms ease-in-out; }

.main.show {
  margin-left: 160px;
  margin-right: -160px; }
  .main.show li {
    margin-left: 0px;
    transition: margin 500ms ease-in-out;
    }

.articles {
  display: flex;
  background-color: #F8F8F8;
  transition: background-color 2s;
  min-width: 30%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 90px;
  padding-bottom: 300px; }
  .articles.energy {
    background-color: #FFCC99;
    transition: background-color 8s; }

.article {
  display: none;
  width: 100%; }
  .article a {
    text-decoration: underline; }
  .article.show {
    display: block; }

@media all and (max-width:799px) {
  .articles {
    margin-left: 0px;
    padding-left: 20px;
    padding-right: 20px; }
}

/* landing page specific formatting */
.landing-company-header {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  margin-bottom: 60px; }
  .landing-company-header>div>img {
    width: 360px; }
  .landing-company-header>div>div {
    margin-top: auto;
    margin-bottom: auto;
    text-align: center;
    font-size: 14px; }

.landing-photo {
  float: right;
  width: 120px;
  top: 100px;
  margin: 20px 0px 10px 30px;
  box-shadow: -0px 0px 2px 2px #808080; }

.landing-specialty {
  padding-left: 20px; }

@media all and (max-width:400px) {
  .landing-company-header>div>img {
    width: 90vw; }
  .landing-company-header>div>div {
    font-size: 3.5vw; }
}

@media all and (max-width:399px) {
  .landing-photo {
    width: 30vw; }
}

/* AboutMe specific page formatting */
table.education {
  border-collapse: collapse; }
  table.education tr {
    border-bottom: 1px solid rgba(240,240,240,0.3); }
  table.education td {
    padding: 0px 5px;
    vertical-align: top; }

@media all and (max-width:399px) {
  table.education {
    font-size: 80%; }
}

/* Contact page specific formatting */
.contact-company-header {
  display: flex;
  align-items: center;
  justify-content: flex-start; }
  .contact-company-header>div {
    display: inline-flex;
    white-space: nowrap; }
    .contact-company-header>div>img {
      height: 70px; }
    .contact-company-header>div>div {
      margin-top: auto;
      margin-bottom: auto;
      text-align: center; }
      .contact-company-header>div>div>div:nth-child(1) {
        text-align: right; }
      .contact-company-header>div>div>div:nth-child(2) {
        text-shadow: 0px 0px 10px #FF4;
        font-family: 'Roboto Condensed', sans-serif;
        font-size: 200%; }

.contact-form {
  max-width: 350px;
  padding-top: 20px;
  font-size: 90%; }
  .contact-form input,textarea {
  }
  .contact-form input, textarea {
    background-color: #FDFFBA;
    border-color: #FDFFBA;
    border-width: 0px 0px 0px 3px;
    border-style: solid;
    font-family: monospace;
    padding: 4px;
    width: 100%; }
  .contact-form input.invalid,textarea.invalid {
    border-color: #F44; }
  .contact-form div {
    margin-top: 8px;
    font-weight: bold; }
  .contact-form .contact-button {
    display: display;
    background-color: #3A3;
    font-weight: bold;
    text-align: center;
    padding: 4px 20px;
    border-width: 2px;
    border-color: #111;
    border-radius: 5px; }
    .contact-form .contact-button:hover {
      color: #444;
      background-color: #4D4; }
    .contact-form .contact-button.disabled {
      color: #999;
      background-color: #BBB; }

.contact-info {
  padding-top: 54px; }
  div.contact-info>div {
    min-height: 35px;
    align-items: flex-start; }
    div.contact-info>div>div {
      display: inline-flex; }
      div.contact-info>div>div>i {
        font-size: 200%; }
      div.contact-info>div>div:first-child {
        min-width: 50px; }

@media all and (min-width:800px) {
  .contact-body {
    display: flex; }
  .contact-form {
    min-width: 350px; }
}

.contact-docs {
  padding-top: 40px; }

/* Chargers page specific formatting */
.chargers-batteries {
  font-size: 400%; }

@media all and (max-width:549px) {
  .chargers-batteries {
    font-size: 300%; }
}

table.chargers-list td:first-child {
  width: 40px;
  padding-top: 4px;
  padding-right: 5px;
  font-family: 'typicons';
  font-size: 180%;
  font-style: normal;
  vertical-align: top;}
table.chargers-list td:nth-child(2) {
  padding-bottom: 20px; }
  table.chargers-list td:nth-child(2)::first-line {
    font-style: italic; }

.tv:before { content: '\e059'; }
.book:before { content: '\e032'; }
.fullquote:before { content: '\e0b8'; }
.quote:before { content: '\e0b8'; }
.gear:before { content: '\e04f'; }

.fullquote + td {
  font-style: italic; }

/* Messages */
.messages {
  display: inline;
  font-size: 150%;
  position: fixed;
  text-align: center;
  top: -56px;
  height: 56px;
  line-height: 56px;
  white-space: nowrap;
  width: 100%;
  z-index: 1;
  background-color: #111;
  transition: top 500ms; }
  .messages.show {
    top: 0px; }
  .messages * {
    display: none;
    font-weight: bold;
    color: #DDD; }
  .messages *.show {
    display: inline-block; }
  .messages .message-send-ok {
  color: #4D4; }
  .messages .message-send-fail {
  color: #D44; }

@media all and (max-width:399px) {
  .messages {
    font-size: 100%; }
}

@media all and (max-width:799px) {
  .humanstxt {
    width:22px; }
}

.construction {
  display: table;
  display: none;
  font-size: 10vw;
  text-shadow: 0.4vw 0.4vw 0 #000;
  opacity: 0.7;
  line-height: normal;
  color: #FC4;
  position: fixed;
  text-align: center;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  transform: rotate(-15deg);
  pointer-events: none; }
  .construction p {
    display: table-cell;
    vertical-align: middle; }

.humanstxt {
  position: fixed;
  bottom: 0px;
  right: 0px; }
