/*
Colors available from bootstrap
var(--color)
primary
secondary
success
danger
warning
info
light
dark
black
white
*/

/* #### Makes footer go to the bottom on short pages ####  */
.flex-wrapper {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  justify-content: flex-start;
}

.footer {
  margin-top: auto;
}


/* #### Page Layout #### */

.content {
  padding: 0% 5%;        /* 5% l/r padding on entire body of document*/
}


/* #### Navigation #### */

nav {
  padding: 0% 5%;         /* Puts padding around nav */
}

navbar-nav {
  list-style: none;       /* Reinfoces no bullets on nav list */
}

nav-item {
  padding-right: 1.5em;   /* Right-sided padding on nav items to spread them out */
}


/* #### Links #### */

a {
  word-break: break-all;  /* Allow line breaks in links */
  color: var(--primary);  /* Sets link color to primary */
}


/* #### Lists #### */

ul {
  list-style-type: square;  /* Changes default list type to square */
}


/*  #### Tables #### */

table {
  margin-left: auto;                /* Centering of all tables */
  margin-right: auto;               /* Centering of all tables */
  margin-bottom: 1.5em;             /* More space under tables */
  border-top: 1.5px solid black;    /* Top border on all tables */
  border-bottom: 1.5px solid black; /* Bottom border on all tables */
}

thead {
  border-bottom: 0.75px solid black;   /* Border below header on all tables */
}

tfoot {
  border-top: 0.75px solid black;      /* Border above footer on all tables */
}

tr td:first-child, tr th:first-child {
  padding-left: 0em;                /* Left side of tabel flush */
}

tr td:last-child, tr th:last-child {
  padding-right: 0em;               /* Right side of tabel flush */
}

td, th {
  padding: 0.25em 1em;              /* Table cell Padding */
}

th {
  font-weight: bold;                /* Bold header cells of tables */
}

caption {
  display: table-caption;
  text-align: center;
  caption-side: top;
  font-weight: bold;
  color: var(--primary);
}


/* #### Footer #### */

footer {
  padding-top: 2em;
}

#footerContainer {
  padding-top: 1em;
  padding-bottom: 1em;
}


/* #### Table of Contents #### */

#TableOfContents {
  padding: 1em 0 0 0;
}


/* #### Definition Boxes #### */
.definitionBox {
  margin: 0.5em;
  padding: 0.5em;
  border-radius: 0.5em;
  background-color: var(--secondary);
  color: var(--white);
}

#defintionBoxLabel {
  font-weight: bold;         /* Bolds title */
  font-size: 1.5em           /* Makes title slightly bigger */
}


/* #### Mermaid Diagrams #### */
.mermaid {
  text-align: center;       /* Centers diagrams */
}


/* #### Contact Card Layout #### */
.card {
  margin-left: auto;        /* Centers contact card */
  margin-right: auto;       /* Centers contact card */
}


/* Page Jumbotron Settings */
.jumbotron {
  padding-top: 1em;
  padding-bottom: 1em;
}

#jumbotronPageTitle {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
}

/* Input Options */
/* Remove Number Input Arrows from Chrome, Safari, Edge, Opera */
  /* Chrome, Safari, Edge, Opera */
  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  /* Firefox */
  input[type=number] {
    -moz-appearance: textfield;
  }
