/* Button Styles */

a.button,
button.button {
  display: inline-block;
  padding: 10px 40px;
  color: #FFFFFF !important;
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  text-decoration: none;
  background: #454545;
  border: 0px;
  cursor: pointer;
  transition: all ease-in-out 0.12s;
}

a.button:hover,
button.button:hover {
  color: #454545 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #454545;
}

a.button-blue,
button.button-blue {
  color: #FFFFFF !important;
  background: #0065A4;
}

a.button-blue:hover,
button.button-blue:hover {
  color: #0065A4 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #0065A4;
}

a.button-green,
button.button-green {
  color: #FFFFFF !important;
  background: #267483;
}

a.button-green:hover,
button.button-green:hover {
  color: #267483 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #267483;
}

a.button-orange,
button.button-orange {
  color: #FFFFFF !important;
  background: #D53F34;
}

a.button-orange:hover,
button.button-orange:hover {
  color: #D53F34 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #D53F34;
}

a.button-red,
button.button-red {
  color: #FFFFFF !important;
  background: #AF1827;
}

a.button-red:hover,
button.button-red:hover {
  color: #AF1827 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #AF1827;
}

a.button-white,
button.button-white {
  color: #313131 !important;
  background: #FFFFFF;
  box-shadow: inset 0px 0px 0px 1px #313131;
}

a.button-white:hover,
button.button-white:hover {
  color: #FFFFFF !important;
  background: #313131;
  box-shadow: inset 0px 0px 0px 1px #FFFFFF;
}

a.button-block,
button.button-block {
  display: block;
  padding: 0px;
  text-align: center;
}

a.button-large,
button.button-large {
  padding: 0px 100px;
}

a.button-round,
button.button-round {
  border-radius: 4px;
}

a.button-pill,
button.button-pill {
  padding-top: 0px;
  padding-bottom: 0px;
  line-height: 50px;
  border-radius: 25px;
}

/* Image Styles */

img.img-box {
  padding: 2px;
  border: 1px solid #333333;
}

/* Box Styles */

.box-bg {
  display: block;
  height: 100%;
  padding: 10px 25px;
  background: #EFEFEF;
}

/* Font Styles */

.text-small {
  font-size: 12px !important;
}

.text-medium {
  font-size: 20px !important;
}

.text-large {
  font-size: 28px !important;
}

.text-x-large {
  font-size: 36px !important;
}

/* Heading Styles */

h3.heading-anchor {
  margin-top: 40px;
  padding-bottom: 5px;
  color: #001F6B;
  border-bottom: 1px solid #EFEFEF;
}

/* Desktop Table Styles */

table.table-list {
  width: 100%;
  border-collapse: collapse;
}

table.table-list tr {
  border: 1px solid #CCCCCC;
}

table.table-list tr.row-headings {
  border: 1px solid #CCCCCC;
}

table.table-list th {
  padding: 8px;
  color: #393130;
  text-align: center;
  vertical-align: middle;
  background: #CCCCCC;
  border: 1px solid #CCCCCC;
}

table.table-list td {
  padding: 8px;
  vertical-align: top;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
}

table.table-list th.align-left,
table.table-list td.align-left {
  text-align: left;
}

table.table-list th.align-center,
table.table-list td.align-center {
  text-align: center;
}

table.table-list th.align-right,
table.table-list td.align-right {
  text-align: right;
}

table.table-list th.align-middle,
table.table-list td.align-middle {
  vertical-align: middle;
}

table.table-list tr:nth-child(odd) td {
  background-color: #FFFFFF;
}

table.table-list tr:nth-child(even) td {
  background-color: #F4F4F4;
}

/* Responsive Table Styles */

@media only screen and (max-width: 768px) {
  table.table-responsive {
    font-size: 12px;
  }

  table.table-responsive thead {
    display: none;
  }

  table.table-responsive tr {
    display: block;
    margin: 0px 0px 10px 0px;
  }

  table.table-responsive tr.row-headings {
  }

  table.table-responsive tr.row-headings th {
  }

  table.table-responsive tr.sub-headings {
  }

  table.table-responsive tr.sub-headings th {
    display: block;
  }

  table.table-responsive td {
    display: block;
    text-align: left !important;
    border: 1px dotted #CCCCCC;
    border-width: 0px 0px 1px 0px;
  }

  table.table-responsive td:last-of-type {
    border: 0px;
  }

  table.table-responsive td.column-hidden {
    display: none;
  }

  table.table-responsive td:before {
    content: attr(data-th) ": ";
    display: block;
    margin: 0px 10px 0px 0px;
    font-weight: bold;
    text-align: left;
  }

  table.table-responsive td[data-th=""]:before {
    display: none;
  }
}

/* Misc Styles */

.no-margin {
  margin: 0px !important;
}

.no-margin-top {
  margin-top: 0px !important;
}

.no-margin-bottom {
  margin-bottom: 0px !important;
}

.no-padding {
  padding: 0px !important;
}

.no-padding-top {
  padding-top: 0px !important;
}

.no-padding-bottom {
  padding-bottom: 0px !important;
}

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.float-left {
  float: left;
  margin: 0px 35px 20px 0px;
}

.float-right {
  float: right;
  margin: 0px 0px 20px 35px;
}

.border-bottom {
  border-bottom: 1px solid #DADADA;
}

.clear-floats {
  color: inherit;
}

.clear-floats::after {
  content: "";
  display: block;
  clear: both;
}