/******************************/
/* Basics */
/******************************/
html{
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}
html, body {
height:100%;
display:flex;
flex-direction:column;
}
body > * {
flex-shrink: 0;
}
:root {
  --wxm--black: #020203;
  --wxm--navy: #151F35;
  --wxm--teal: #41A494;
  --wxm--lightteal: #4CB8A8;
  --wxm--pink: #EB5E95;
  --wxm--yellow: #FDC400;
  --wxm--orange: #E6881E;
  --wxm--red: #E64550;
  --wxm--purple: #4C4394;
  --wxm--lightgrey: #F0F4F5;
  --wxm--darkgrey: #949494;
  --wxm--white: #ffffff;
}
body {
  margin:0;
  padding:0;
  font-family: "Inter", 'Century Gothic', 'Open Sans', 'Helvetica', sans-serif;
  font-weight:normal;
  line-height:1.5;
  color: var(--wxm--navy);
  background: var(--wxm--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
iframe {border:0}
h1, h2, h3, h4, h5 {
  font-family: "degular";
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility;
}
p {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}
*, *::before, *::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
ul, ol, dl {
  margin-bottom: 1.5rem;
  list-style-position: outside;
  line-height: 1.5;
}
h1, .h1 {
  font-size: 3.1875rem;
  line-height: 0.94118;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
h2, .h2 {
  font-size: 1.5rem;
  line-height: 1.29167;
  margin-top: 1rem;
  margin-bottom: 1.25rem;
}
h3, .h3 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}
h4, .h4 {
  font-size: 0.875rem;
  line-height: 1.28571;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}
h5, .h5 {
  font-size: 0.75rem;
  line-height: 1.33333;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}
ul {
  margin-left: 1.25rem;
  padding-left: 2rem;
  list-style-type: disc;
}
ul.no-bullet {
  list-style: none;
}
a, a .listglyph, a:visited, a:visited .listglyph {
  line-height: inherit;
  color: var(--wxm--teal);
  text-decoration: none;
  cursor: pointer;
  -webkit-filter: contrast(1);
  filter: contrast(1);
}
a:focus, a:focus .listglyph, a:hover, a:hover .listglyph {
  color: var(--wxm--lightteal);
  text-decoration: underline;
}
p a, .p a {
  font-weight: bold;
}
table table a {
    color: var(--wxm--navy);
    text-decoration: underline;
}
italic.small {
  font-size:0.8em;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid var(--wxm--navy);
  margin: 1em 0;
  padding: 0;
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}
img {
  border: 0;
  padding: 0;
  margin: 0;
  max-width: 100%;
}


/******************************/
/* Page Header Styling */
/******************************/
header {
  width:100%;
  clear:both;
  background:var(--wxm--navy);
  color:var(--wxm--white);
}
.topbar {
  margin-left: 2em;
}
.logowrapper img.logo {
  max-height:60px;
  max-width:100%;
  margin-top:1.2em;
  margin-bottom:1em;
}
.utilitymenu ul {
  background:var(--wxm--white);
  float:right;
  list-style:none;
  text-align: right;
  font-weight: 700;
  font-family: "degular";
  text-transform: capitalize;
  letter-spacing: -0.01em;
  margin-top:0;
}
.utilitymenu ul li {
  display:inline-block;
  margin-right: 1.25rem;
}
.utilitymenu a {
  color:var(--wxm--navy);
}
.utilitymenu a:hover {
  text-decoration: underline;
}
.topnav {
  text-align:left;
  margin-top:0.5em;
  padding-bottom:0.5em;
  font-weight: normal;
  font-family: "degular";
  text-transform: capitalize;
  letter-spacing: -0.01em;
  font-size:1.3rem;
}
.topnav ul {
  list-style:none;
  margin:0;
  padding-left:0;
}
.topnav li {
  display: inline-block;
  margin-right: 2rem;
}
.topnav li.utilmenu {
  display:none;
  font-size:1rem
}
.topnav li.divide {
  height: 1px;
  background: var(--wxm--teal);
  margin: 0.5em 2em 0.5em 0;
}
.topnav a {
  color: var(--wxm--white);
  text-decoration: none;
  cursor: pointer;
  -webkit-filter: contrast(1);
  filter: contrast(1);
}
.topnav a:hover {
  text-decoration: underline;
}
.topnav li.expand, .topnav li.expand svg.close {
  display: none;
}
.topnav li.expand svg {
  width:2.25rem;
  height:2.25rem;
}
.topnav li.expand svg path {
  stroke: var(--wxm--white);
}
.content-holder {
  flex-grow: 1;
}

@media screen and (max-width: 960px) {
  .topbar {
      -webkit-flex-direction: column;
      flex-direction: column;
  }
  .logowrapper, .topnav {
      -webkit-flex: 1;
      -ms-flex: 1;
      flex: 1;
  }
  .utilitymenu {
    display:none;
  }
  .topnav li {
      display: none;
  }
  .topnav li.expand {
      display: block;
      text-align: right;
  }
  .topnav.responsive {
      position: relative;
  }
  .topnav.responsive li {
      display: block;
      text-align: left;
  }
  .topnav.responsive li.expand {
      display: block;
      text-align: right;
  }
  .topnav.responsive li.expand svg.open {
      display:none;
  }
  .topnav.responsive li.expand svg.close {
      display:inline;
  }
}

.introtext, .content-holder {
  margin-left:2em;
}

a.navbutton {
  background: var(--wxm--teal);
  border: 2px solid var(--wxm--teal);
  color: var(--wxm--white);
  padding: 0.2em 0.5em;
  font-size: 0.9em;
  -webkit-filter: contrast(1);
  filter: contrast(1);
}
a.navbutton:hover {
  color: var(--wxm--teal);
  background:var(--wxm--white);;
  border: 2px solid var(--wxm--teal);;
  text-decoration: none;
}


/******************************/
/* Styles for Timetable pages */
/******************************/

/* original colors... */
.day0 { background-color: #d0d2d7; }
.day1 { background-color: #d0d2d7; }
.day2 { background-color: #d0d2d7; }
.day3 { background-color: #d0d2d7; }
.day4 { background-color: #d0d2d7; }
.day5 { background-color: #d0d2d7; }
.day6 { background-color: #d0d2d7; }
/* rainbow colors... */
.rainbowday0 { background-color: #d0d2d7; }
.rainbowday1 { background-color: #d0d2d7; }
.rainbowday2 { background-color: #d0d2d7; }
.rainbowday3 { background-color: #d0d2d7; }
.rainbowday4 { background-color: #d0d2d7; }
.rainbowday5 { background-color: #d0d2d7; }
.rainbowday6 { background-color: #d0d2d7; }
/* reverse colors with gradient... */
.reverseday0 { background-color: #d0d2d7;}
.reverseday1 { background-color: #d0d2d7;}
.reverseday2 { background-color: #d0d2d7;}
.reverseday3 { background-color: #d0d2d7;}
.reverseday4 { background-color: #d0d2d7;}
.reverseday5 { background-color: #d0d2d7;}
.reverseday6 { background-color: #d0d2d7;}
/* reverse colors without gradient... */
.revday0 { background-color: #d0d2d7; }
.revday1 { background-color: #d0d2d7; }
.revday2 { background-color: #d0d2d7; }
.revday3 { background-color: #d0d2d7; }
.revday4 { background-color: #d0d2d7; }
.revday5 { background-color: #d0d2d7; }
.revday6 { background-color: #d0d2d7; }
/* alternate colors... */
.alternateday0 { background-color: #80c0ff; }
.alternateday1 { background-color: #ffff80; }
.alternateday2 { background-color: #80c0ff; }
.alternateday3 { background-color: #ffff80; }
.alternateday4 { background-color: #80c0ff; }
.alternateday5 { background-color: #ffff80; }
.alternateday6 { background-color: #80c0ff; }
/* greyscale... */
.greyday0 { background-color: #ffffff; }
.greyday1 { background-color: #eeeeee; }
.greyday2 { background-color: #dddddd; }
.greyday3 { background-color: #cccccc; }
.greyday4 { background-color: #bbbbbb; }
.greyday5 { background-color: #aaaaaa; }
.greyday6 { background-color: #999999; }



/********************************/
/* General Styles for all pages */
/********************************/
table nobr {
    white-space: wrap;
}
.finder table, .timetable table  {
	border-spacing:0;
	background-color: var(--wxm--lightgrey);
	width:100%;
}
.finder table table, .timetable table table  {
	background-color:transparent;
	width:100%;
	word-wrap:break-word;
}
.finder table thead, .timetable table thead {
	background-color:#d0d2d7;
}
.timetable table {
	font-size:0.8rem
}
.timetable table th a {font-size: 1rem;}

.finder table.finderlist {border-spacing:0 0.5em; background:transparent;}
.finder table.finderlist td {padding:0.3em 0.5em 0.3em 1em;}
.finder table.finderlist tr:nth-child(odd) {background-color : #e8e9eb;}
.finder table.finderlist tr:nth-child(even) {background-color : #d0d2d7;} 
.finder table.finderlist a, .finder table.finderlist a:visited {color:var(--wxm--navy);}
.finder table.finderlist a:focus, .finder table.finderlist a:hover {color:#fff;}
.finder table.finderlist tr:has(a:hover), .finder .hovered-row, .highlight {
	background-color : #41a494;
	transition: background-color 0.3s ease;
}


@media print {
  .noprint { display:none }
  .doprint { display: }
  .MenuRow { display:none }
  table    { background-color: transparent; }
  body.timetable { background-image: none; background-color: transparent; }
  body.finder    { background-image: none; background-color: transparent; }
  body.intro     { background-image: none; background-color: transparent; }
  .finder table, .timetable table {background:transparent}
}

/*******************************/
/* Styles for Navigation pages */
/*******************************/
p.nav {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	color: #222222;
}
.anav:link {
	/*font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;*/
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	color: #FFFFFF;
	text-decoration: none;
}
.anav:visited {
	/*font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;*/
	font-style: normal;
	font-weight: normal;
	color: #FFFFFF;
	text-decoration: none;
}
.anav:hover {
	/*font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;*/
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	color: #0099FF;
	text-decoration: underline;
}
.MenuRow {
  height: 30px;
  background-color: #666666;
}
.Button {
  background-image: url("LargeBtn.gif");
  background-color: #003399;
  width:            77px;
  width:            expression("85px");
  height:           18px;
  height:           expression("22px");
  text-align:       Center;
  font-family:      Verdana, Arial, Helvetica, sans-serif;
  font-size:        12px;
  font-weight:      normal;
  color:            #FFFFFF;
  cursor:           pointer;
  cursor:           hand;
  text-overflow:    ellipsis;
  overflow:         hidden;
  padding:          4px;
  padding-bottom:   0px;
  vertical-align:   text-bottom;
  text-decoration:  none;
  display:          block;
}
.Button:link { color: #FFFFFF;}
.Button:visited { color: #FFFFFF;}
.Button:hover {
  text-decoration:  underline;
  background-color : #CCCCCC; color : #000000;
}
.BigButton {
  background-image: url("ExtraLargeBtn.gif");
  background-color: #003399;
  width:            162px;
  width:            expression("170px");
  height:           18px;
  height:           expression("22px");
  text-align:       Center;
  font-family:      Verdana, Arial, Helvetica, sans-serif;
  font-size:        12px;
  font-weight:      normal;
  color:            #FFFFFF;
  cursor:           pointer;
  cursor:           hand;
  text-overflow:    ellipsis;
  overflow:         hidden;
  padding:          4px;
  padding-bottom:   0px;
  vertical-align:   text-bottom;
  text-decoration:  none;
  display:          block;
}
.BigButton:link { color: #FFFFFF;}
.BigButton:visited { color: #FFFFFF;}
.BigButton:hover {
  text-decoration:  underline;
  background-color : #CCCCCC; color : #000000;
}

