/*
   Please use appropriate tags for the job. For example
   <div class="h2"> is a big no-no.

   lesterc
*/

/*
* Allow for 110px (wide screen) or 50px(narrow screen) fixed banner
* at top of each page so links to anchors inside a page work properly.
*/
@media (max-width: 1200px) {
  :target:before {
    display: block;
    visibility: hidden;
    top: 0px;
    height: 50px;
    margin-top: -50px;
    content: " ";
    z-index: -1;
  }
}

@media (min-width: 1201px) {
  :target:before {
    display: block;
    visibility: hidden;
    top: 0px;
    height: 120px;
    margin-top: -120px;
    content: " ";
    z-index: -1;
  }
  .body {
      max-width: 66rem;
      margin: auto;
  }
}

a {
  z-index: 50;
  color: #880088;
}

/* Horizontal cards */
.card-horizontal {
    display: flex;
    flex: 1 1 auto;
}

.card-body {
    margin-left: 1rem;
}

/* Insert '>' after a link with more to come */
.more-link:after {
    /*content: " > ";*/
    color: black;
}

.more-link {
    color: #000000;
}


.hidden {
     display: none;
}

.skip-link {
    position: absolute;
    z-index: 0;
    display: inline-block;
    color: white;
}
/*
 * For our navigation bar
 * Hide if the screen is small.
 */
#sub-navigation {
    display: none;
}

@media (min-width: 699px) {
    #sub-navigation  {
	display: block!important;
    }
}

/* Banner background*/
.bg-image{
    height: 200px;

    background-repeat: no-repeat;
    background-position: left;

    position: relative;
    right: 0px;
    width:100%;
}

/* The Title text that overlays the banner: Large
 *   and White, positioned about 2/3 down.
 */
.banner_text {
    font-size: 60px;
    color: #ffffffff;
    position: absolute;
    top: 100px;
    left: 0px;
}

/* Black title to left of screen */
.banner_text_left {
    font-family: "Helvetica";
    font-size: 50px;
    color: black;
    position: absolute;
    margin-top: 70px;
    margin-left: 50px;
}

img.nav_ts_logo {
    margin-top: 200px;
    margin-left: 10px;
    margin-right: 10px;
    z-index:-1;
}
img.banner_unsw_logo{
    margin-top: 10px;
    margin-left: 10px;
    position: absolute;
    float: left;
}

/*nav bar under banner*/
div.lower_nav_bar{
    margin-top: 200px;
    margin-left:30px;
}

@media (min-width: 500px) {
  ul.doublecolumn {
    width: 100%;
    margin-bottom: 20px;
    overflow: hidden;
    text-indent: -2em;
  }

  ul.doublecolumn li {
     width: 45%;
     float:left;
     padding-left: 1.8em; /* space for bullets to show */
/*   display: inline; */
  }
}


/************/
/* Only used on Stage */

#ertostoolbox
{
    position: absolute;
    left: auto;
    right: 3%;
    top: 150px;
    z-index: 100;
    color: #ffffffff;
    background-color: #777;
    font-size: 120%;
}

#ertostoolbox a {
    color: #ffffff;
    text-decoration: none;
}
#ertostoolbox a:hover {
    color: #7B76B8;
    background-color: #FFFFFF;
}


.toolbox {
    height: 20px;
    display: none;
}

/*
 * Hide the tool box on really small screens.
 * It's not useful there anyway, and disturbs layout preview.
 */
@media (min-width: 500px) {
    .toolbox {
	display: block;
    }
}

.breadcrumb {
    padding-left: 1rem;
}

.breadcrumb > li {
    line-height: 1.3;
    padding-left: 0.3rem;
}

.breadcrumb > li:not(.active)::after {
    content: ' >';
}


/*
 * Ertos tables
 */
table.ertos_table {
	margin-left: 10px;
}

table.ertos_table.centered {
	margin: 0 auto;
}

table.ertos_table.news {
    line-height: 1.6;
}

table.ertos_table.news th {
	text-align: left;
	table-layout: fixed;
	word-wrap: break-word;
}

table.ertos_table.news tr {
    text-align: center;
}

table.ertos_table.news tr:nth-child(4n+1) {
    background-color: #f0f0f0;
}

table.ertos_table.news tr:nth-child(4n+2) {
    background-color: #f0f0f0;
}

.news th, .news td {
	word-wrap: break-word;
}


table.ertos_table.news td p {
	padding-left: 0px;
	padding-top: 1px;
}

table.ertos_table.news td p.more {
	padding: 0px;
}

table.ertos_table th {
	color: #000000;
	vertical-align: top;
	padding: 7px 20px 0px 5px;
	font-weight: bold;
/*	background-color: #EBEBEB; */
	border-bottom: 2px solid #C3C3C3;
	text-align: left;
}

table.ertos_table.horizontal th {
	border-right: 2px solid #C3C3C3;
	border-bottom: 0px;
	/*	background-color: #FFF; */
}

table.ertos_table tr.alternate th {
	background-color: #EBEBEB;
}

table.ertos_table tr {
        line-height: 1.5;
	padding-bottom: 0.3ex;
}

table.ertos_table tr.alternate {
	background-color: #EBEBEB
}

table.ertos_table tr.border_bottom {
	border-bottom: 2px solid #FFDCDC;
}

table.ertos_table tr.border_bottom_alternate {
	border-bottom: 2px solid #FFDCDC;
	background-color: #EBEBEB;
}

table.ertos_table td {
    padding-top: 2px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 5px;
	vertical-align: top;
	text-align: left;
}

table.ertos_table td.highlight {
	color: #ff0000;
}

tr.odd { color: #444; background-color: #FFFFCC; }
tr.even { color: #444; background-color: #FFF; }

#body-copy a.no_highlight:active, #body-copy a.no_highlight:hover, #body-copy a.no_highlight:visited, #body-copy a.no_highlight:link {
	font-weight: normal;
}

.eNewsTxt
{
    color: #ff8700;
    text-align:justify;
    font-weight:bold;
}
.important {color:#19AA19; font-weight:bold} /* Not sure why these were */
.standout {color:red; font-weight:bold}      /* commented out... [gernot]*/

.partners {
	float: right;
	text-align: center;
	width: 260px;
	padding: 0px 0px 30px 30px;
}

p.partners img {
	border: none;
	padding: 10px 15px 10px 15px;
}

.sponsors {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  /*grid-template-columns: repeat(3, 1fr);*/
  /*grid-template-rows: repeat(3, 1fr);*/
  grid-column-gap: 30px;
  grid-row-gap: 40px;
  padding-bottom: 40px;
}

.sponsor {
  display: grid;
  margin-top: auto;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
}

.sponsor-pic {
    margin-top: auto;
    margin-left:auto;
    margin-right: auto;
    margin-bottom: 10px;
  padding-bottom: 15px;
}

.sponsor-pic > .img {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.sponsor-name {
  height: 2.5em;
  justify-self: center;
  text-align: center;
  font-size: 1.2em;
  display: table-cell;
  vertical-align: bottom;
  margin-top: auto;
}

.sponsor-info {
/*  grid-area: 3 / 1 / 3 / 2;*/
  /*justify-self: center;*/
  text-align: center;
  font-size:0.8em;
  font-weight: bold;
}


/*********************************
 * People Pages
 */
.profile-title {
    padding-top: 30px;
}

@media (min-width: 500px) {
    .profile_title {
	vertical-align: middle;
    }
    .profile_title h1 {
	padding-top: 30px;
	line-height: 0.7;
	margin-bottom: 15px;
	clear: right;
	vertical-align: bottom;
    }
    .profile_title .subtitle {
	font-size: 16px;
	font-style: italic;
	font-weight: normal;
    }
}

@media (max-width: 499px) {
    .profile_title h1 {
	line-height: 1;
	clear: right;
/*	vertical-align: top; */
	margin-bottom: 10px;
    }
    .profile_title .subtitle {
	font-size: 16px;
	font-style: italic;
	font-weight: normal;
	margin-bottom: 20px;
    }
}

/* img.mugshot { float: right; border-width:0pt;}  */


table.profile_list_view {
    width: 100%;
}

table.profile_list_view tr td {
    padding:5px;
    margin:0px;
    width:50%;
}

table.profile_list_view table {
    width:100%;
    padding:5px;
}

table.profile_list_view table td {
    width:auto;
    padding:0px 10px 0px 0px;
    height:100%;
}

table.profile_list_view table th {
    background-color:#fff;
    padding:10px 5px 5px 0px;
    border-bottom: 0px;
    color:#000;
}

table.profile_list_view table td.list_photo {
    padding: 10px;
    width:75px;
    min-height:80px;
    max-height: 100px;
    text-align:right;
}

table.profile_list_view table td.list_photo img {
    width: 100%;
    height: auto;
    border:2px solid #c3c3c3;
}

table.profile_list_view table tr td p {
    padding:0px 20px 0px 0px;
    color: #444;
    text-align:justify;
}

table.profile_list_view table th strong {
    font-size:110%;
    padding-bottom:1px;
    border-bottom: 2px solid #d3d3d3;
}

table.profile_list_view tr.list_alternate_row table td, table.profile_list_view tr.list_alternate_row table th {
    background-color:#f6f6f6;
}

a.list_link:hover table tr td, a.list_link:hover table tr th {
    background-color:#f6f6f6;
    cursor: default;
}

a.list_link {
    text-decoration:none;
    padding:0px;
    margin:0px;
    color: #000;
    cursor: pointer;
}

a.list_link:hover, a.list_link.hover {
    color: #993300;
}

table.profile_list_view tr.hover, table.profile_list_view tr.hover td, table.profile_list_view tr.hover th {
    background-color:#f6f6f6;
    cursor: pointer;
    cursor: grab;
}

table.user_edit_form {
    border:0px;
    padding:0px;
}

table.user_edit_form td {
    padding:10px 10px;
    vertical-align:middle;
}

table.user_edit_form td.lhs {
    font-weight:bold;
    vertical-align:middle;
    width:170px;
    text-align:right;
}

table.user_edit_form input[type=submit] {
    padding:10px;
    color:#000;
    font-weight:bold;
    font-size:15px;
    margin: 10px 0px 0px 0px;
}

table.user_edit_form input[type=checkbox] {
    margin-top:5px;
    padding:0px;
    margin-left:0px;
}

table.user_edit_form select[multiple=multiple] {
    background-color:white;
    padding:5px;
    width:200px;
    height:200px;
}

table.user_edit_form small.error_message{
    color: red;
    font-weight:bold;
}

table.project_edit_form select {
    padding:5px;
}

table.user_edit_form input[type="submit"] {
    cursor:pointer;
}

input[type="button"].button-bad {
    cursor:pointer;
    width:65px;
    height:30px;
    background: #a00;
    color:#fff;
    font-weight:bold;
    font-size:13px;
    border:0px;
    position:relative;
    top:-10px;
    margin-right:20px;
}

input[type="button"].button-bad:hover {
    background: #700;
}

/* Publications lists */
table.publist {
    margin-left: 10px;
    line-height: 1.3;
    border-collapse: separate;
    border-spacing: 0 10px;
}

table.publist tr:nth-child(even) {
    background-color: #ffffff;
}

tr.abstract_plain {
    text-align:left;
}

.publist td.icons {
    vertical-align: middle;
    border: 0px;
    width: 30px;
    padding: 3px;
    line-height: 1 !important;
}

tr[class="abstract_plain"] img {
    width: auto;
    height: auto;
    max-width: 22px;
}

/*********************************************
 * FIXES for NICTA stylesheet.
 * As NICTA fixes these, we can get rid of them.
 */

/*
* Attempt to override Wordpress style for <pre>
*/
pre {
    white-space:pre-wrap;
    white-space:-moz-pre-wrap;
    white-space:-pre-wrap;
    white-space:-o-pre-wrap;
    word-wrap:break-word;
}

#content-main ul.no-margin {
    margin-left:10px;
    margin-bottom:0px;
}

/* Fix ordered lists --- NICTA style turns off the number! */
#content-main ol {
    list-style: decimal;
    line-height: 1.6;
    margin-left: 10px;
}

/* Fix lists in paragraphs --- too big a space on NICTA style */
#content-main ol li {
    padding-bottom: 0.3ex;
}

#content-main ul {
	margin-left: 30px;
	margin-bottom: 10px;
}

p {
	padding-left: 10px;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6  {
    font-family: Helvetica;/*var(--bs-font-sans-serif);*/
}

h1 {
    line-height: 1.3;
    padding-bottom: 1ex;
}

h2 {
    line-height: 1.6;
    padding-top: 1ex;
    padding-bottom: 0.5ex;
}

h3 {
    line-height: 1.6;
    padding-bottom: 0.7ex;
    margin: 0;
}

h4 {
    font-weight: 1;
    line-height: 1.6;
    margin: 0;
    font-size: 16pt;
    font-weight: normal;
}


h5 {
    line-height: 1.6;
}

h6 {
    line-height: 1.6;
}


dl {
	margin-left: 10px;
}

dl dt {
	margin-top: 5px;
	color: #5DA733;
	font-weight: bold;
}

dl dd {
	margin-bottom: 10px;
}

/*
 * summer school
 */
table.program {
    border:5px;
    padding:2px;
    text-align: left;
    line-height:1.6;
}
table.program th {
    padding-right: 1ex;
}
table.program td {
    vertical-align: top;
    padding-right: 1ex;
}

blockquote {
    font-size: inherit;
}


button {
    padding:2px 6px;
    border: 2px;
    color: #FFF;
    background: #1c6c50;
}


#site-header  {
    font-family: var(--bs-font-sans-serif);
    position: relative;
    margin-top:0px;
    margin-left: 15px;
}


.site-navigation{
    text-align: left;
    margin-bottom: 2px;
}


.site-navigation a {
    background: #fff;
    color: black;
    text-decoration: none;
    margin-top: 0px;
    margin-bottom: 0px;
}

.site-navigation ul {
    background: #fff;
    color: black;
}

.site-navigation li {
    background: #eee;
    color: black;
}

.site-navigation .btn {
    background:#8dc43d;
    color: black;
    border: none;
    text-align: left;
    outline: none;
    box-shadow: none;
}

.site-navigation .dropdown-item{
    background: #fff;
    color: black;
    text-decoration: none;
}


.site-navigation .dropdown-item.active {
    background: #eee;
    color: black;
    text-decoration: none;
}


li.dropdown-item {
    float: left;
    background: white;
}

p.before_header_gap{
    margin-top: 40px;
}

a{
    color: black;
}

a.header_link{
    color: black;
}

div.row_margins{
    margin-top: 10px;
    margin-bottom: 5px;
    margin-right: 10px;
    margin-left: 20px;
}

div.news_margins{
    margin-top: 1px;
    margin-bottom: 5px;
    margin-left: 40px;
    margin-right:10px;
}

ul.list_margins{
    margin-left: 20px;
}
ul.links_list{
    list-style-type: none;
}
ol.list_margins{
    margin-left: 20px;
}
/*
* Youtube embedding
*/
.youtube {
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    overflow: hidden;
    transition: all 200ms ease-out;
    cursor: pointer;
}

.youtube .play {
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ +CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;
    background-size: 64px 64px;
    position: absolute;
    height: 100%;
    width: 100%;
    opacity: .8;
    filter: opacity(80%);
    transition: all 0.2s ease-out;
}

.youtube .play:hover {
    opacity: 1;
    filter: opacity(100%);
}

body {
    font-family: Helvetica;/*Merriweather serif;*/
    font-size: 100%;/*1.2rem;*/
    line-height: 1.2;
}

.card-img-horiz > img {
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    width: 40vw;
    object-fit: cover;
    overflow: hidden;
/*
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
*/
}

.img-square-wrapper img {
      position: absolute;
      max-width: 100%;
      max-height: 100%;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
}

.card-img-top {
    padding: 5px 5px 5px 5px;
}

.card-img {
  height: 0;
  margin: 0;
  padding: 0;
  padding-bottom: 40%; /* of width */
  overflow: hidden;

  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
