/* need to add an initial offset the same width as the 'free' navbar for the body to get back to document flow */

/* used in max-height + overflow hidden is used inconjuction with flexbox center with rotation angle and vertical offset to display a cropped image. */

.container-crop-image {
  position: relative;
  overflow: hidden;
  /*max-height: 500px;*/
  height: min(65vh,500px);
  padding: 0;
  /*margin-bottom: 20px;*/
}

.header-top {
  color: white;
}

/* negative top margin controls the 'cropping' of the top of the picture */

#language-support {
}

.subtitle-banner {
  max-width: 100%;
  /*padding: 0;*/
  width: 100vh;
  text-align: center;
  min-height: 100px;
  background: rgba(251,146,76,0);
  /*margin-top: 0px;*/
  /*margin-bottom: 0px;*/
  /*margin-left: 1px;*/
}

@media (min-width: 576px) {
  header h2 {
    /*font-size: 3.0rem;*/
  }
}

header h2 {
  font-size: 2.0rem;
}

.article-sections {
  margin-top: 0vh;
  margin-left: 0px;
  /*margin-right: 0px;*/
  /*padding-right: 15px;*/
}

/* change this li list font */

.col-content {
  /*padding-left: 2%;*/
  /*padding-right: 2%;*/
}

.figure-caption {
  font-size: 1.5em;
  color: rgba(0,0,0,0.73);
  font-weight: bold;
  margin-top: 20px;
}

.nav-toc-sticky {
  position: sticky;
  top: 91px;
  /*padding-left: 0vw;*/
  /*padding-top: 0px;*/
  /*margin-bottom: 0px;*/
}

.nav-toc-sticky2 {
  position: sticky;
  top: 190px;
  padding-left: 1vw;
  padding-top: 15px;
  margin-bottom: 0px;
}

.list-group-item {
}

.aside-funny {
  background-color: rgba(113,113,111,0.32);
  font-style: italic;
}

/* quick note with pencil */

.aside-grey {
  background-color: rgba(102,102,111,0.35);
  font-style: italic;
}

.aside-icon {
  font-size: 3em;
  border-style: none;
  padding-right: 20px;
  padding-left: 20px;
}

aside {
  padding-top: 10px;
  /*margin-right: 25px;*/
  border-style: solid;
}

.aside-light-green {
  background-color: rgba(102,177,159,0.39);
}

.aside-yellow {
  background-color: rgba(255,255,0,0.13);
}

.aside-green {
  background-color: rgba(0,128,0,0.35);
  font-style: italic;
}

.aside-purple {
  background-color: rgba(0,0,255,0.09);
  font-style: italic;
}

.aside-col {
  /*margin-right: -10px;*/
  padding-right: 0;
}

@media (min-width: 576px) {
  #speakhdl-flow-diagram {
    height: auto;
    width: 45%;
  }
}

#speakhdl-flow-diagram {
  height: auto;
  width: 90%;
}

.row-with-aside-dj {
  margin-left: 10px;
  margin-top: 20px;
  /*margin-bottom: -5px;*/
}

.row-with-aside {
  /*margin-left: 10px;*/
  /*margin-top: -20px;*/
  /*margin-bottom: -5px;*/
}

/* left column main content paragraph text */

.toc-column {
  padding: 0;
  padding-right: 0;
  margin-left: 0;
  margin-top: 0;
  padding-top: 0;
}

h3.h3-left-col {
  font-style: italic;
  font-size: 1.75rem;
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
  /*display: list-item;*/
  /*list-style-type: disc;*/
  /*list-style-position: inside;*/
}

.col-12.col-md-8 p {
  margin-right: 5px;
}

@media (min-width: 768px) {
  .nav-font {
    font-size: 1em;
  }
}

.pre {
  font-size: 0.75rem;
  background: #f4f4f4;
  border: 1px solid #ddd;
  border-left: 3px solid #f36d33;
  color: #666;
  page-break-inside: avoid;
  font-family: monospace;
  /*font-size: 15px;*/
  line-height: 1.6;
  margin-bottom: 1.6em;
  /*max-width: 100%;*/
  overflow: auto;
  padding: 1em 1em;
  display: block;
  word-wrap: break-word;
}

#framework-write-fifo {
  width: 66%;
  padding-right: 20px;
  padding-bottom: 20px;
}

/* tock link is styles for tocbot https://tscanlin.github.io/tocbot/ */

#sidenav-ul {
  margin-left: -25px;
}

#flat-comparison {
  /*padding-top: 20px;*/
  /*padding-bottom: 0px;*/
  /*margin: 20px 0;*/
  margin-bottom: 20px;
  /*margin-top: 20px;*/
}

#fascade-pattern {
  width: 100%;
  margin-bottom: 25px;
}

#facade-with-io {
  width: 100%;
  margin-bottom: 25px;
}

#fixed-port-snipet {
  /*width: 99%;*/
  margin-bottom: 15px;
  margin-top: 15px;
}

#fixed-port-figure {
  margin-bottom: 25px;
  margin-top: 20px;
}

#state-machine-facade {
  width: 100%;
}

#statemachine-heirarchy {
  /*width: 100%;*/
}

#single-module {
  width: 65%;
}

/* need to adjust rotation, min height and margin in conjuction with the 'height window' that gets setup by the crop container */

.error_image {
  /*height: 101vh;*/
  /*width: 99vw;*/
  /*height: max(80vh, 800px);*/
  /*transform: rotatex(39deg);*/
  /*margin-top: -124px;*/
}

.comming_soon {
  height: 80vh;
  height: max(80vh, 800px);
  transform: rotatex(39deg);
  /*margin-top: -124px;*/
  padding-right: 0;
}

#main_image {
  /*height: 100vh;*/
  height: max(80vh, 800px);
  transform: rotatex(39deg);
  margin-top: -124px;
  padding-right: 0;
}

@media (min-width: 300px) {
  .home-text-layout {
    position: absolute;
    padding-left: 15px;
    bottom: 0;
    margin: 0;
    padding-bottom: 30px;
    margin-bottom: 120px;
  }
}

/* after medium screen set bottom margin of text as function of viewport width 4vw */

@media (min-width: 768px) {
  .home-text-layout {
    position: absolute;
    padding-left: 15px;
    bottom: 0;
    margin: 0;
    padding-bottom: 30px;
    margin-bottom: 4vw;
  }
}

#shared-control-register {
  width: 60%;
}

.banner-225 {
  height: 225px;
  /*object-fit: cover;*/
  object-position: left;
  display: block;
  /*margin-left: -15px;*/
  position: relative;
  padding-right: 0;
}

.container-banner-225 {
  /*padding: 0;*/
  /*position: relative;*/
}

.row.banner-text {
  color: white;
  position: absolute;
  width: 100vw;
  top: 0;
  height: 225px;
  text-align: center;
}

.nav-font {
  font-size: 0.8rem;
  /*max-height: 96px;*/
  /*color: rgba(0,0,0,.7);*/
}

.logo {
  width: 130px;
  margin-top: -25px;
  margin-bottom: -25px;
}

/* want to push the subheading down a little */

.col-main-heading {
  padding-bottom: 2%;
}

.form-group p, ul.errorlist li {
  color: red;
  font-size: 12px;
}

footer img {
  width: 75px;
}

footer p {
  margin: 0;
  color: #4b4c4d;
  padding-right: 24px;
  font-size: 12px;
}

.navbar-light .navbar-nav .nav-link {
  padding: 0;
  margin-left: 10px;
  margin-right: 10px;
}

#navcol-1 p {
  justify-items: center;
}

#user-icon {
  /*color: rgba(0,0,0,0.66);*/
  margin: 0;
  font-size: 28px;
  padding-left: 5px;
}

#dropdown {
  border-width: thin;
  border-style: solid;
  border-radius: 100px;
  padding-left: 5px;
  padding-right: 5px;
  text-transform: none;
  color: rgba(0,0,0,.7);
}

#signup a {
  text-transform: none;
}

.d-inline-flex.justify-content-lg-center.align-items-lg-center {
}

#menu-item {
  padding: 0;
  font-size: 1em;
}

.row-header {
  margin: inherit;
}

dl, ol, ul {
  padding-right: 25px;
}

/* h3 attempt to make heading not fall off the side when TOC missing */

.h3, h3 {
  padding-right: 20px;
  font-size: min(1.7rem, 7vh);
}

@media (min-width: 1200px) {
  .card-thumbnail {
    padding-top: 20px;
  }
}

.card-thumbnail {
  height: 100%;
  min-width: 300px;
  margin-bottom: 20px;
}

#card-row .col {
  margin-top: 20px;
  /*height: 420px;*/
}

#card-row .col li {
  margin-top: 30px;
}

.nav-link {
  color: rgba(0,0,0,.7);
}

#bare-metal-abstraction {
  margin-bottom: 20px;
}

.navbar-nav.sidenav-ul {
  margin-left: -30px;
}

aside .col p {
  padding: 0 10px;
  /*text-align: justify;*/
}

.nav-link {
}

.navbar-collapse-links a:hover, .footer-collapse-links a:hover {
  /*background-image: url("tab_a.png");*/
  background-repeat: repeat-x;
  color: white;
  text-shadow: 0 1px 1px black;
  background-color: #4765a2;
}

#top-nav.navbar-links a, #bottom-nav.navbar-links a, a#dropdown {
  margin: 0;
  min-width: 90px;
  font-family: "Lucida Grande","Geneva","Helvetica",Arial,sans-serif;
  font-size: 1rem;
  font-weight: bold;
  line-height: 36px;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(255,255,255,0.9);
  color: #283a5d;
  outline: 0;
}

.navbar-collapse-links a:focus {
  box-shadow: inset 0px 3px 20px 0px rgba(9,65,109,0.8);
  border: 1px solid rgba(0,123,255,0.86);
}

#my_left_id {
  color: red;
}

.markdown {
  color: var(--red);
  font-style: italic;
  /*margin-left: 25px;*/
}

#tiger.li {
  color: red;
}

/* second url */

.page-container {
  background: url("../../assets/img/home/banner_225.jpg"), url('/static/home/banner_225.jpg');
  background-repeat: no-repeat;
  color: white;
  /*background-size: cover;*/
  background-size: 100vw 225px;
  height: 225px;
  padding: 0;
}

/* re-defined semantics because script will force header to be div */

.banner-header {
  color: black;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 20px;
}

.snippet {
  margin-left: 29px;
  /*width: 74%;*/
}

.row-with-no-aside {
  /*margin-left: 15px;*/
  /*margin-top: 15px;*/
  /*margin-bottom: -15px;*/
}

#app-module {
  object-fit: cover;
  object-position: 200px 90px;
  margin-left: -335px;
  margin-top: -123px;
  z-index: -1;
  position: relative;
  width: 748px;
  min-width: 100%;
}

.img-gif {
  margin-top: -7%;
  margin-bottom: -5%;
  transform: scale(1.2);
}

.crop-gif {
  overflow: hidden;
}

.img-flat-architecture {
  width: 50%;
  padding-bottom: 20px;
}

.aside-red {
  /*border-color: red;*/
}

.aside-theme {
  box-shadow: inset 0px 3px 20px 0px rgba(9,65,109,0.8);
  border: 1px solid rgba(0,123,255,0.86);
}

h6 {
  padding-left: 10px;
}

.embed-responsive.embed-responsive-16by9 {
  min-width: 200px;
}

.diagram {
  width: 75%;
}

.list-unstyled {
  /*font-family: initial;*/
  font-family: sans-serif;
}

/* command on list */

ul.command li {
  font-family: monospace;
  font-style: italic;
}

.check-mark {
  color: green;
}

.form-group label {
  font-size: 12px;
}

.form-group {
  height: 60p;
}

.form-directive {
  margin: 0;
  font-size: 32px;
}

.form-text {
  font-size: 14px;
}

.form-sublink {
  color: blue;
}

.forgot span {
  color: rgb(39,70,150);
  font-size: 16px;
}

div.illustration {
  /*padding-bottom: 0;*/
}

.form-button {
}

/* margin-top used to get rememember me button closer to button */

.btn.btn-primary.btn-block {
  background: rgb(37,80,111);
  margin-top: 5px;
}

#nav-center li.nav-item {
  /*margin-left: 10px;*/
  /*margin-right: 10px;*/
  /*padding-left: 13px;*/
  /*padding-right: 13px;*/
  width: auto;
  padding-left: 20px;
}

#menu-item a {
  width: auto;
}

.speakHDL-download {
  width: 252px;
}

.table-padding {
  padding-left: 50px;
  padding-right: 50px;
}

#download-zip {
  width: 110px;
  padding-bottom: 25px;
  margin-left: 20px;
}

.row-download-button {
  margin: 50px 0;
}

#processing-device {
  width: 41%;
}

#processing-device-chain {
  width: 100%;
}

#ip-block {
  width: 62%;
}

#structural-vs-procedural {
  width: 80%;
  padding-bottom: 30px;
}

#fpga-top-chain {
  /*width: 93%;*/
}

#api-list li {
  margin-top: 18px;
  font-size: 16px;
  font-style: italic;
}

.h3-left-col {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

footer {
  width: 100%;
  padding-top: 20px;
  margin-top: auto;
  /*margin-left: -15px;*/
  /*margin-right: -15px;*/
}

#copyright {
  color: #283a5d;
  font-weight: bold;
  font-size: 1em;
}

.card-body {
  margin-top: 10px;
  color: #283a5d;
}

.vp-image {
  width: 240px;
}

/* paragrap phont for doxy example */

#example p {
  font: 400 14px/22px Roboto,sans-serif;
  font-size: 16px;
  color: #212529;
}

#example aside {
  padding: 0;
  border-width: 1px;
  border-color: #C4CFE5;
  margin-right: 10px;
}

/* same color backround as vdhdl generated code */

.table-specification {
  background-color: #FBFCFD;
}

#example .diagram {
  padding: 0px;
  width: 240px;
}

html, body {
  width: 100vw;
  overflow-x: hidden;
  height: 100%;
  /*display: flex;*/
  /*flex-direction: column;*/
}

.div-object {
  height: 100%;
}

#id-dropdown-menu {
  /*width: 100vw;*/
  /*background-color: red;*/
}

#id-dropdown-button {
  background-color: transparent;
  color: rgb(8, 25, 65);
  font-weight: bold;
}

.theme-outline {
  box-shadow: inset 3px 3px 20px 0px rgba(9,65,109,0.8);
  border: 1px solid rgba(0,123,255,0.86);
  align-items: center;
}

.list-heading {
  padding-left: 20px;
}

li.voice-commands {
  font-style: italic;
}

.heading-list {
  padding-left: 15px;
}

.p-under-image {
  padding-top: 20px;
}

.div-snippet .container {
  font-size: 16px;
  font-style: oblique;
}

.div-snippet {
  max-width: 800px;
  color: #2f4153;
}

.heading-usage {
  display: none;
}

h2.header-api {
  font-size: 2.0rem !important;
}

.htmlonly table {
  margin-bottom: 20px;
  font-size: 14px;
}

/* target for first column */

.htmlonly td:first-child {
  font-weight: bold;
  font-size: 0.8em;
}

.htmlonly .table td, .table th {
  padding-top: 5px;
  padding-bottom: 5px;
}

.img-contact-us {
  max-width: 300px;
}

.img-example {
  padding-top: 20px;
}

img-example-div {
  height: 180px;
}

.img-example-div {
  height: 220px;
}

.section-pad {
  padding-top: 20px;
}

.btn-gif {
  width: 100%;
  margin-bottom: 20px;
  max-width: 800px;
}

.img-gif-commands {
  max-width: 850px;
}

#id-conf-list li {
  font-size: 15px;
}

.section-entry {
  margin-top: 20px;
}

#id-led-blink {
  margin-top: 15px;
  /*margin-left: 20px;*/
  /*min-width: 320px;*/
  /*height: 200px;*/
}

.card-example {
  display: flex;
  /*flex-direction: column-reverse;*/
  /*height: 100%;*/
}

#card-row {
  margin: 0;
  color: black;
  width: 100%;
  flex: 1;
  /*max-height: 350px;*/
}

.flex-expand-vertical {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#conctact-body {
  display: flex;
  flex-direction: column;
}

#signup {
  display: flex;
  flex-direction: column;
}

#login {
  display: flex;
  flex-direction: column;
}

