
/* Quick rebranding for study plan tables - Timothy 2017-10-18 */
table.studyplan {
  border: 1px solid #D8D8D8;
  font-size: 16px; }
  table.studyplan th {
    white-space: nowrap;
    padding: 12px; }
  table.studyplan tr {
    padding-right: 12px;
    border-top: 1px solid #D8D8D8; }
  table.studyplan th.year {
    width: 36px;
    padding: 12px 12px 12px 6px;
    background-color: #ececec;
    max-width: 100%; }
    table.studyplan th.year div {
      width: 24px;
      overflow: visible;
      height: 80px;
      position: relative; }
    table.studyplan th.year span {
      display: block;
      white-space: nowrap;
      transform: rotate(-90deg);
      width: 80px;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -12px;
      height: 24px;
      line-height: 24px;
      margin-left: -40px; }
  table.studyplan th.semester {
    min-width: 100px;
    line-height: 27px;
    background-color: #ececec; }
  table.studyplan td {
    min-width: 160px;
    line-height: 27px;
    white-space: nowrap;
    padding: 12px 0 12px 12px; }
    table.studyplan td.doubleunit {
      min-width: 320px; }

dl.studyplan {
  /* If flexbox not working see https://github.com/philipwalton/flexbugs */
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-flow: row wrap;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: stretch;
  align-items: stretch;
  border: 1px solid #D8D8D8;
  line-height: 27px;
  width: 850px;
  max-width: 100%;
  margin-bottom: 24px; }
  dl.studyplan + dl.studyplan {
    margin-top: -12px;
    border-top: 0px; }
  dl.studyplan dt {
    -webkit-box-flex: 1 1 20%;
    -moz-box-flex: 1 1 20%;
    -webkit-flex: 1 1 20%;
    -ms-flex: 1 1 20%;
    flex: 1 1 20%;
    flex-height: stretch;
    -ms-flex-align: stretch;
    background-color: #ececec;
    padding: 12px;
    white-space: nowrap; }
    @media screen and (max-width: 579px) {
      dl.studyplan dt {
        flex: 0 0 100%; } }
  dl.studyplan dd {
    -webkit-box-flex: 1 1 80%;
    -moz-box-flex: 1 1 80%;
    -webkit-flex: 1 1 80%;
    -ms-flex: 1 1 80%;
    flex: 1 1 80%;
    flex-height: stretch;
    -ms-flex-align: stretch;
    margin: 0px;
    padding: 6px 12px; }
    dl.studyplan dd + dt, dl.studyplan dd + dt + dd {
      border-top: 1px solid #D8D8D8; }
    @media screen and (max-width: 579px) {
      dl.studyplan dd + dt + dd {
        border-top: 0px; } }
  dl.studyplan ul {
    /* If flexbox not working see https://github.com/philipwalton/flexbugs */
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: stretch;
    align-items: stretch;
    list-style: none;
    width: 100%;
    margin: 0px;
    justify-content: flex-start;
    flex-wrap: nowrap; }
    @media screen and (max-width: 759px) {
      dl.studyplan ul {
        flex-wrap: wrap; } }
    dl.studyplan ul li {
      background: none;
      -webkit-box-flex: 0 0 25%;
      -moz-box-flex: 0 0 25%;
      -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
      flex: 0 0 25%;
      flex-height: stretch;
      -ms-flex-align: stretch;
      margin: 0px;
      padding: 6px;
      line-height: 27px;
      vertical-align: baseline; }
      @media screen and (max-width: 759px) {
        dl.studyplan ul li {
          flex: 0 0 50%; } }
      dl.studyplan ul li.double {
        flex: 0 0 50%; }
        @media screen and (max-width: 759px) {
          dl.studyplan ul li.double {
            flex: 0 0 100%; } }
      dl.studyplan ul li.tripple {
        flex: 0 0 75%; }
        @media screen and (max-width: 759px) {
          dl.studyplan ul li.tripple {
            flex: 0 0 100%; } }
      @media screen and (max-width: 579px) {
        dl.studyplan ul li {
          padding: 6px 0;
          white-space: normal; } }
      dl.studyplan ul li div {
        display: inline-block; }

ul.studyplan-ledgend {
  vertical-align: baseline;
  line-height: 27px; }
  ul.studyplan-ledgend li {
    margin-bottom: 0; }
    @media screen and (max-width: 459px) {
      ul.studyplan-ledgend li {
        display: block; } }

div.unit-icon, .unit-icon div {
  line-height: 27px;
  vertical-align: baseline;
  display: inline-block; }
  div.unit-icon + div.unit-icon, .unit-icon div + div.unit-icon {
    margin-left: -3px; }
  div.unit-icon:before, .unit-icon div:before {
    display: inline-block;
    vertical-align: bottom;
    margin: 2px 6px -2px 0; }
  div.unit-icon.bda:before, .unit-icon div.bda:before {
    content: url("../img/unit-broadening-a.png"); }
  div.unit-icon.bdb:before, .unit-icon div.bdb:before {
    content: url("../img/unit-broadening-b.png"); }
  div.unit-icon.broadening:before, div.unit-icon.bd:before, .unit-icon div.broadening:before, .unit-icon div.bd:before {
    content: url("../img/unit-broadening-ab.png"); }
  div.unit-icon.dsm:before, div.unit-icon.dsm2:before, div.unit-icon.dsmsup:before, .unit-icon div.dsm:before, .unit-icon div.dsm2:before, .unit-icon div.dsmsup:before {
    content: url("../img/unit-degree-specific-major.png"); }
  div.unit-icon.sm:before, div.unit-icon.sm2:before, div.unit-icon.smsup:before, .unit-icon div.sm:before, .unit-icon div.sm2:before, .unit-icon div.smsup:before {
    content: url("../img/unit-second-major.png"); }
  div.unit-icon.au:before, .unit-icon div.au:before {
    content: url("../img/unit-additional-units.png"); }
  div.unit-icon.elec:before, div.unit-icon.elec2:before, div.unit-icon.elecsup:before, .unit-icon div.elec:before, .unit-icon div.elec2:before, .unit-icon div.elecsup:before {
    content: url("../img/unit-elective.png"); }
  div.unit-icon.complementary:before, div.unit-icon.cm:before, div.unit-icon.cmsup:before, .unit-icon div.complementary:before, .unit-icon div.cm:before, .unit-icon div.cmsup:before {
    content: url("../img/unit-complementary.png"); }
  div.unit-icon.bridging:before, .unit-icon div.bridging:before {
    content: url("../img/unit-bridging.png"); }
div.unit-icon.foundation:before, .unit-icon div.foundation:before, div.unit-icon.found:before, .unit-icon div.found:before {
    content: url("../img/unit-foundation.png"); }
div.unit-icon.minor:before, .unit-icon div.minor:before {
    content: url("../img/unit-minor-units.png"); }

/* major unit sequence */
table th.dsm
{
    background-color: #b95054;
    color: #fff;
}

table th.complementary
{
    background-color: #85648a;
    color: #fff;
}

table th.sm
{
    background-color: #4865b7;
    color: #fff;
}

/* poliproc */
.tree
{
    background-color: #EEEDEC;
    border-bottom: 2px solid #C9C6BF;
    color: #BB8800;
}

.p_title
{
    border-top: 2px solid #C9C6BF;
    font-weight: bold;
    padding-bottom: 3px;
    padding-left: 0.5em;
    padding-top: 3px;
}

.view_all
{
    float: right;
}

.tree img
{
    border: 0 none !important;
    float: left !important;
    margin: 0 !important;
    padding: 3px !important;
}

/*font class css*/
.Subhead3
{
    /*color: #0864A5;
    font-size: 110%;
    font-weight: bold;
    margin: 0 0 5px;*/
    font-size: 1.125rem;
    color: #464646;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 12px;
    margin-top: 18px;

}

.Reg
{
    color: #0864A5;
    font-size: 110%;
    font-weight: bold;
    margin: 0 0 5px;
}

.ConjunctionItalics
{
    font-style: italic;
}

.Footnote {
  padding-top: 0.01em;
  margin-top: 0em;
  margin-bottom: 0.25em;
  padding-bottom: 0.25em;
  font-size: smaller;
}

h3.poliproctitle{
   color: #0864A5 !important;
}

.p_content h2{
  color: #0864A5 !important;
}

/*end of font class css*/

/*rules table css*/
.RulesUnitListKeyHeader
{
    display: block;
    margin-bottom: 7px;
}

.RulesUnitListKeyBlock
{
    display: block;
}

.RulesUnitListTable
{
    background-color: #F2EDD9;
    border-collapse: collapse;
    border-top: 1px solid #D6D6D6;
    margin: 10px 0 30px;
}

.RulesUnitListTable2 {
    margin: 10px 0 15px 0;
    border-top: 1px solid #d6d6d6;
    border-collapse: collapse;
    background-color: #f2edd9;
} 

.RulesUnitList
{
    border-bottom: 1px solid #D6D6D6;
    border-left: 1px solid #D6D6D6;
    border-right: 1px solid #D6D6D6;
    padding: 4px 10px;
    vertical-align: top;
}

.TableRule {
    border-bottom: 1px solid #D6D6D6;
    margin-bottom: 20px;
    margin-top: 0;
    padding-bottom: 0.05em;
    padding-top: 0;
}

.p_content{
   margin-bottom: 0em !important;
   display: table;
}

/*end of rules table css*/
/*CSS  for academic staff list*/
.academicrowblue{
   background-color: #edf6fc !important;
}

.academicrowwhite{
   background-color: #ffffff !important;
}
.academicrowblue td{
   background-color: #edf6fc !important;
   padding: 3px !important;
}

.academicrowwhite td{
   background-color: #ffffff !important;
   padding: 3px !important;
}
/*end of CSS  for academic staff list*/

a.rule_anchor {
    display: block;
    position: relative;
    top: -3.5em;
    visibility: hidden;
}

div.float-right.smart {
  padding-left: 24px;
  width: 400px;
}

@media (max-width: 800px) {
  div.float-right.smart {
    float: none !important;
    padding: 0px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}


dl.requirements dd {
  padding-left: 12px;
}
dl.requirements dd div {
  padding-left: 12px;
}
/* debug */
/*dl.requirements dd div.auto {
  background-color: #cfc;
  border: 2px solid #8f8;
}
dl.requirements dd div.explicit {
  background-color: #fcc;
  border: 2px solid #f88;
}
dl.requirements dd div.implied {
  background-color: #ddf;
  border: 2px solid #99f;
}
dl.requirements dd em {
  background-color: #ffa;
  border-radius: 10px;
}*/


/* rebrand core bug doesn't account for hanging underline */
table.styled + h5{
  margin-top: 36px;
}

/* Overflow scrolling for unit tables on mobiles - better than nothing */
@media screen and (max-width: 600px) {
  div.table-scroll {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
  }
  div.table-scroll > table {
    width: 100%;
  }
  div.table-scroll table th {
    word-break: break-word;
    word-wrap: break-word;
    hyphens: auto;
    min-width: 50px;
  }
  div.table-scroll table th.width-60, div.table-scroll table th.width-40  {
    min-width: 200px;
  }
  div.table-scroll table th.width-20 {
    min-width: 120px;
  }

  div.folio-device.folio-accordion > .folio-section > div.folio-content {
    padding-left: 0px;
    padding-right: 0px;
  }
}
