#content {
  width: 700px ! important;
}

h2 {
  float: left;
  margin-top: 10px;
  margin-bottom: 5px;
}

div.priceTableSection {
  width: 98%;
  margin: 1% 0;
  padding: 0;
  float: left;
  top: 0;
  left: 0;
  font-size: 14px;
}

div.priceTableSection>div.title {
  font-size: 1.25em;
  font-weight: bold;
  clear:left;
  float: left;
  width: 96%;
  margin: 0;
  padding: 2%;
  background: #ccc;
  position:relative;
}

div.priceTableSection>div.title>div.subtitle {
  position: absolute;
  right: 5px;
  top: 20px;
  font-size:0.6em;
  color: red;
}

div.priceTableSection>div.prices {
  float: left;
  width: 100%;
  margin: 0;
  padding: 1% 0;
  background: #ddd;
}

div.priceTableService {
  clear: left;
  display: flex;
  width: 95%;
  margin: 6px 2%;
}

div.priceTableService .title {
  flex: 1 0 auto;
  text-align: left;
}

div.priceTableService .price {
  flex: 1 0 auto;
  text-align: right;
}

div.hasSubs {
  display: block;
  margin-right: 0;
  margin-top: 12px;
  width: 98%;
}

div.hasSubs > div.title {
  width: 100%;
  font-weight: bold;
  font-size: 0.95em;
  margin-bottom: 6px;
}

div.hasSubs > div.subTable {
  clear: both;
  width: 96%;
  margin-left: 4%;
}

.dots {
  flex: 0 1 auto;
  /*Allows too long content to be hidden.*/
  overflow: hidden;
}
.dots::before {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  content:
          ". . . . . . . . . . . . . . . . . . . . "
          ". . . . . . . . . . . . . . . . . . . . "
          ". . . . . . . . . . . . . . . . . . . . "
          ". . . . . . . . . . . . . . . . . . . . "
}
