  /* BASE STYLES */

table {
    width: 100%;
    border: 1px solid #999;
    margin-bottom: 20px;
	caption-side: top;
}
caption {
	font-size: 1.1em;
	padding: 0 0 1rem 0;
}
th, td {
    padding: 8px;
    line-height: 1.5em;
    vertical-align: top;
   	border: 1px solid #000;
}

th, th p {
	font-weight: 600;
}
thead {
    border: 1px solid #999;
}

thead th {
    border-bottom: 2px solid #ddd;
	background: #036;
	color: #fff;
}
thead th p {color:#fff;}

.harperTable tbody tr:nth-child(odd) td, .programTable tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) td, .harperTable tbody tr:nth-child(odd) th, .programTable tbody tr:nth-child(odd) th, .table-striped tbody tr:nth-child(odd) th {
    background: #f9f9f9;
}

/* HARPER TABLE STYLES */

.harperTable caption {
    color: #000;
}

.harperTable thead {
    background: #036;
    color: #FFF;
}

/* PROGRAM TABLE STYLES */

.programTable {
    background: #fff;
    font-weight: 700;
}

.programTable > thead > tr > th {
    background-color: #036;
    color: #fff;
}

.programTable tr.description > td {
    color: #000;
}

/* TABLE STYLES */

.table-standard, .table-striped {
	border: 1px solid #999;
}

.table-standard th p, .table-standard td p, 
.table-striped th p, .table-striped td p {
    padding: 10px 0;
}

.table-standard thead th p, .table-striped thead th p {
    color: #fff;
}

.table-striped td p {
    color: #000;
}

.table-standard thead th, .table-striped thead th {
	border: 1px solid #999;
	color: #fff;
	background: #036;
}

.background-gray td, .background-gray th {background: #ccc;}

.tablesorter > thead > tr > th {
    background: #036;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    vertical-align: bottom;
}

.table-standard tr, .table-standard td {
	border: 1px solid #999;
}

td[scope="row"], td[scope="col"], td[scope="row"] p, td[scope="col"] p {font-weight: 600;}


.programTermRow td {
  background: #eaeaea !important;
}

.programTable tbody tr:nth-child(2n+1) td {
  background: unset;
}

.programTableSubHeading, .programTableSubHeading td {
  background: lightgray !important;
}

.programTable {
    background: #fff;
    font-weight: 700;
    border-radius: 10px !important;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.programTable th {
	padding: 12px 16px;
	background-color: white;
	border-bottom: 0;
}

 .programTable td {
	padding: 12px 16px;
	background-color: white;
	border-top: 1px solid #c3c3c3;
}

 .programTable td.orclass {
	border-top: 1px solid transparent;
}

.programTable tr, .programTable th, .programTable thead {
   /* border-bottom: solid 1px #c3c3c3 !important; */
}

.programTable .description td {
    padding-left: 32px;
    padding-right: 32px;
}

.programTable,
.programTable th,
.programTable td,
.programTable a,
.programTable span,
.programTable div,
.programTable p,
.programTable strong,
.programTable em,
.programTable ul,
.programTable li,
.programTable input,
.programTable select,
.programTable button {
    font-size: 1em;
}

.sc_footnotes{font-size:1em;margin:0;padding:0;list-style:none;line-height:1.5;display:grid;grid-template-columns:auto 1fr;grid-column-gap:.5em;grid-row-gap:.75em}
.sc_footnotes dt,.sc_footnotes dd{margin:0;padding:0}
.sc_footnotes dt{text-align:right;align-self:start;font-weight:bold}
.sc_footnotes dt sup{position:static;top:auto;left:auto}
.sc_footnotes dd p{margin:0}
.sc_footnotes .footnoteLink{text-decoration:none;font-weight:bold;color:black;pointer-events:none;cursor:text}
.sc_footnotes .footnoteLink:focus,.sc_footnotes .footnoteLink:hover{text-decoration:underline}
.sc_footnotes .noindent{margin-left:0}
.sc_footnotes ul, .sc_footnotes ol, .sc_footnotes dl, .sc_footnotes dd {
    font-size: 1em;
    line-height: 1.3em;
    font-weight: 300;
}

/* Hide empty anchors */
a.collapsed:empty {
  display: none;
}

/* RESPONSIVE STYLES */

@media (max-width: 767px) {
    table, th, td {
        padding: 6px;
    }

	.harperTable, .harperTable table {
		overflow-x: auto;
		padding: 0;
		margin: 0;
		border-radius: 0 !important;
	}

    .harperTable th, .harperTable td {
        padding: 5px;
        white-space: normal;
        font-size: 0.9em;
    }
	.programTable tr, .programTable td {
		width: 100%;
	}
}

/* Table Scrolling - Adds accessible scollbar to tables on mobile */


.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  margin: 1rem 0;
  border: 1px solid #ccc;         
  border-radius: 4px;
}

.table-scroll:focus-within {
  outline: 3px solid #005a9c;
  outline-offset: 2px;
}

.table-scroll table {
  width: 100%;
  min-width: 40rem;               
  border-collapse: collapse;
}

.table-scroll th,
.table-scroll td {
  padding: 0.5rem 0.75rem;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ocl-sort-trigger {
    color: #fff;
}

@media (max-width: 400px) {
  .table-scroll {
    position: relative;
    background:
      linear-gradient(to right, rgba(0,0,0,0.12), rgba(0,0,0,0)) left center / 16px 100% no-repeat,
      linear-gradient(to left,  rgba(0,0,0,0.12), rgba(0,0,0,0)) right center / 16px 100% no-repeat;
    background-attachment: local, local;
  }
}
