@charset "UTF-8";
/* moe specific */
/*
  ===============================================================================
  COMPONENTS TO BE HIDDEN FROM PRINT
  ===============================================================================
*/
#accessibility-links,
#link-tabs,
#section-title,
.hidden-print,
#page-utils,
#secondary-nav,
#main-page > aside,
#page-foot,
#access-keys,
main ul.bookmarks,
.header__actions,
.header__externals,
.header__mobile_links,
.header__secondary,
#BetterNavigator {
  display: none !important;
}

/*
  ===============================================================================
  PAGE LAYOUT AND STRUCTURAL ELEMENTS
  ===============================================================================
*/
/*
  ==========================
  page head
  ==========================
*/
/* organisation logo / tag line */
/* ---------------------------- */
#print-logo {
  display: block !important;
  width: 300px;
  max-width: 300px;
}
#print-logo img {
  max-width: 100%;
}

/*
  ==========================
  main body
  ==========================
*/
#main-page {
  padding: 20pt 0;
}

/*
  ==========================
  common box wrapper
  ==========================
*/
.box-wrapper {
  background-color: #f6f6f6;
  border-top: solid 3pt #e0e0e0;
  border-bottom: solid 1pt #e0e0e0;
}

.box-wrapper .inner {
  padding: 10pt;
}

html {
  font-size: 8px;
  /* 1 rem = 8px */
}

body {
  min-width: 320px;
  background-color: #FFF;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/*
  ===============================================================================
  TYPOGRAPHY
  ===============================================================================
*/
/*
  ==========================
  default text
  ==========================
*/
html,
body {
  font-size: 10px;
  /* reset size for easy rem denominations of base 10 - note, non-rem supporting browsers fall back to px sizing in specific stylesheets */
}

body,
select,
input,
textarea {
  color: #555555;
  line-height: 1.5;
}

main {
  font-size: 1.8rem;
  word-wrap: break-word;
}

.fa {
  font-family: "Font Awesome 5 Free";
}

/*
  ==========================
  headings / titles
  ==========================
*/
h1#page-title {
  margin-bottom: 1.111rem;
  font-weight: 800;
  font-size: 4.4rem;
  letter-spacing: -2.25px;
  line-height: 1.13636;
  color: #252738;
}

/* heading */
/* ------- */
h2 {
  font-size: 2.8rem;
  line-height: 1.25;
  letter-spacing: -1.4px;
  font-weight: 800;
  color: #2E3042;
  clear: both;
}

/* sub-heading */
/* ----------- */
h3 {
  font-weight: 800;
  font-size: 2.25rem;
  line-height: 1.333;
  letter-spacing: -1.4px;
  color: #2E3042;
  clear: both;
}

/* minor heading */
/* ------------- */
h4 {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.388;
  color: #2E3042;
}

/* minor heading 2 */
/* --------------- */
h5 {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.388;
  color: #2E3042;
}

/* minor heading 3 */
/* --------------- */
h6 {
  font-size: 1.8rem;
  line-height: 1.388;
  font-weight: normal;
}

/*
  ==========================
  default text
  ==========================
*/
/* header spacing */
/* -------------- */
main h1 + *,
main h2 + *,
main h3 + *,
main h4 + *,
main h5 + *,
main h6 + * {
  margin-top: 2pt !important;
}

main * + h2,
main * + h3,
main * + h4,
main * + h5,
main * + h6 {
  margin-top: 18pt !important;
}

main h1 + h2,
main h1 + h3,
main h1 + h4,
main h1 + h5,
main h1 + h6,
main h2 + h3,
main h2 + h4,
main h2 + h5,
main h2 + h6,
main h3 + h4,
main h3 + h5,
main h3 + h6,
main h4 + h5,
main h4 + h6,
main h5 + h6 {
  margin-top: 2pt !important;
}

main hr + h2,
main hr + h3,
main hr + h4,
main hr + h5,
main hr + h6 {
  margin-top: 10pt !important;
}

/*
  ==========================
  paragraphs
  ==========================
*/
main .intro * {
  font-size: 18pt;
  line-height: 1.2;
  color: #333;
}

main * + .intro,
main h1#page-title + .intro {
  margin-top: 6pt !important;
}

main p + p,
main * + p {
  margin-top: 12pt;
}

/* page updated and feedback */
/* ------------------------- */
main p.updated-feedback {
  margin-top: 8pt !important;
  font-size: 10pt;
  font-style: italic;
}

main p.updated-feedback span + span {
  display: none;
}

/*
  ==========================
  links
  ==========================
*/
a {
  color: #222222;
  text-decoration: underline;
}

main a:link:after {
  content: " [" attr(href) "] ";
  font-size: 90%;
}

main .updated-feedback a:link:after,
main .tag-list a:link:after {
  content: none;
}

/*
  ==========================
  main content imagery
  ==========================
*/
main figure {
  width: 34%;
}

main figure img {
  display: block;
}

main figure figcaption {
  display: block;
  width: 100%;
  padding: 5pt;
  margin-top: 3pt;
  background-color: #f4f4f4;
  border-bottom: solid 1pt #cccccc;
  border-top: solid 1pt #cccccc;
  font-size: 10pt;
  color: #333333;
}

main h2 + figure,
main h3 + figure,
main h4 + figure,
main h5 + figure,
main * + figure {
  margin-top: 10pt !important;
}

/* full width image */
/* ---------------- */
main figure.full-width {
  width: 100%;
}

main figure.full-width img {
  width: 100%;
}

/*
  ==========================
  content lists
  ==========================
*/
main ul {
  margin: 0 0 0 12pt;
  list-style-type: disc;
}

main ol {
  margin: 0;
  list-style-type: decimal;
  list-style-position: inside;
}

main ol ol {
  margin: 0 0 0 12pt;
  list-style-type: lower-latin;
}

main ol li {
  padding: 2pt 0;
}

main * + ul,
main * + ol {
  margin-top: 6pt;
}

/*
  ==========================
  forms
  ==========================
*/
main * + form {
  margin-top: 16pt;
}

/* general form inner styles */
/* ------------------------- */
main form input,
main form select,
main form textarea {
  display: block;
  width: 100%;
  padding: 5pt;
  border: solid 0.1rem #cccccc;
}

main form .field + .field {
  margin-top: 12pt;
}

.Actions {
  margin-top: 20pt;
  padding-top: 20pt;
  border-top: solid 1pt #cccccc;
  text-align: right;
}

.Actions input + input {
  margin-left: 10pt;
}

/* form field labels */
/* ----------------- */
main form label,
main form .field fieldset {
  display: inline-block;
  color: #333333;
}

main form .req-indicator,
main form .required {
  color: #990000;
}

main form .extra {
  display: block;
  font-size: 90%;
}

/* check boxes and radio buttons */
/* ----------------------------- */
main form .optionset {
  list-style-type: none;
  margin: 0;
}

main form .optionset label,
main form .checkbox label {
  display: inline;
  vertical-align: middle;
  color: #131313;
}

main form .optionset input,
main form .checkbox input {
  display: inline;
  padding: 0;
  width: auto;
  margin-right: 4pt;
  border: none;
  vertical-align: middle;
}

/* buttons */
/* ------- */
button,
.button,
.button:visited,
.Actions input {
  display: inline-block;
  height: 20pt;
  width: auto;
  padding: 0 12pt;
  background-color: #8cc63f;
  border: none;
  text-align: center;
  font-size: 12pt;
  text-transform: uppercase;
  line-height: 1.8;
  white-space: nowrap;
  color: #ffffff;
}

button.inactive,
button[inactive],
.button.inactive,
.Actions input[type=reset] {
  background-color: #cccccc;
}

/* button with plus sign */
button.plus:after,
.button.plus:after,
button.minus:after,
.button.minus:after {
  display: inline-block;
  vertical-align: middle;
  padding-left: 1pt;
  content: "";
  font-family: "entypo";
  font-size: 16pt;
}

/* button with minus sign */
button.minus:after,
.button.minus:after {
  content: "";
}

/*
  ==========================
  tables
  ==========================
*/
main table {
  width: 100%;
  border-collapse: separate;
  font-size: 12pt;
  color: #000000;
  line-height: 1.3;
}

main table thead th {
  border-bottom: solid 3pt #ffffff;
}

main table thead th {
  padding: 4pt;
  background-color: #d0d0d0;
  text-align: left;
  vertical-align: bottom;
  text-transform: uppercase;
  font-weight: normal;
}

main table td {
  padding: 2pt 4pt;
  border-left: solid 1pt #cccccc;
  vertical-align: top;
}

main table tbody tr:first-child td {
  border-top: solid 1pt #cccccc;
}

main table tbody tr:last-child td {
  border-bottom: solid 1pt #cccccc;
}

main table tr th:first-child,
main table tr td:first-child {
  border-left: none;
}

main * + table {
  margin-top: 12pt;
}

/*
  ==========================
  document list (single or multiple)
  ==========================
*/
ul.document-list {
  list-style-type: none;
  margin-left: 0;
  padding: 0;
}

/*
  ==========================
  related info
  ==========================
*/
main * + .related-info,
main .related-info + * {
  margin-top: 18pt;
}

main .related-info .inner p + p {
  margin-top: 4pt;
}

/*
  ==========================
  media - such as youTube, etc
  ==========================
*/
main .media {
  display: none;
}

main .media iframe {
  display: none;
}

/*
  ==========================
  article lists (with tags)
  ==========================
*/
/* tag list filter */
/* --------------- */
.tag-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: 12pt;
  color: #999;
  text-transform: uppercase;
}

.tag-list li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.tag-list li:after {
  content: "|";
  display: inline-block;
  margin: 0 4pt;
}

.tag-list li:last-child:after {
  content: none;
}

.tag-list a {
  color: #999;
  text-decoration: none;
}

.tag-list a.active {
  text-decoration: underline;
}

/* article styling */
/* --------------- */
main * + .article-list {
  margin-top: 20pt;
}

.article-list article {
  padding: 12pt 0;
  border-bottom: solid 1pt #cccccc;
  font-size: 12pt;
}

.article-list article:first-child {
  border-top: solid 1pt #cccccc;
}

.article-list article h2 {
  font-size: 15pt;
}

.article-list article time {
  display: block;
  font-size: 12pt;
  color: #000000;
}

.article-list article * + time {
  margin-top: 2pt;
}

/*
  ==========================
  pagination
  ==========================
*/
.pagination {
  margin-top: 16pt;
  text-align: right;
}

.pagination span,
.pagination a {
  display: inline-block;
  margin: 0.3rem;
  font-size: 14pt;
  color: #333333;
  text-decoration: none;
}

.pagination span.inactive {
  color: #999999;
}

.pagination a.active {
  text-decoration: underline;
}

/*
  ==========================
  misc styles
  ==========================
*/
/* horizontal rule */
/* --------------- */
hr {
  display: block;
  height: 1pt;
  border: 0;
  border-top: 1pt solid #ccc;
  margin: 14pt 0 12pt 0;
  padding: 0;
}

.txt-right {
  text-align: right;
}

/*
  ===============================================================================
  PAGE TYPE OVERRIDES
  ===============================================================================
*/
/*
  ==========================
  home page
  ==========================
*/
/* main landing page list */
/* ---------------------- */
#top-nav-pages {
  display: none;
}

/* home alert area */
/* --------------- */
#alert {
  margin-bottom: 20pt;
}

#alert .wrapper {
  padding: 10pt;
  border: solid 2pt #ee0000;
}

#alert .wrapper .contact-info {
  margin-top: 12pt;
}

#alert a {
  text-decoration: none;
}

#alert a:after {
  display: none;
  content: none;
}

#alert h3 {
  font-size: 16pt;
}

#alert .wrapper .contact-info ul li span {
  display: inline-block;
  margin-right: 10pt;
}

/* open / close link */
#alert .wrapper .open-close {
  display: none;
}

/* home page title */
/* --------------- */
.home-page h1#page-title {
  display: none;
}

.home-page main h1#page-title + * {
  margin-top: 0 !important;
}

/* home page upper */
/* --------------- */
.home-page .page-upper {
  padding: 20pt 0 0 0;
  border-top: solid 1pt #cccccc;
}

.home-page .page-upper .wrapper {
  display: block;
}

.home-page .page-upper .wrapper > div {
  clear: both;
  display: block;
  overflow: hidden;
}

/* news and vacancies */
/* ------------------ */
/* tabs */
#home-news-vacancies > ul {
  display: none;
}

#home-news-vacancies > div {
  position: static;
  display: block;
  height: auto !important;
  width: 100%;
}

#home-news-vacancies article {
  margin-bottom: 16pt;
}

#home-news-vacancies article a {
  text-decoration: none;
}

#home-news-vacancies article h2 {
  font-size: 14pt;
}

/* banner image slider */
/* ------------------- */
#home-banner-slider {
  display: none;
}

/* dashboard list */
/* -------------- */
.home-page #dashboard-list {
  margin-top: 18pt;
  padding-top: 10pt;
  border-top: solid 1pt #cccccc;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.home-page #dashboard-list a {
  text-decoration: none;
}

/* home tiles */
/* ---------- */
.home-page .page-lower {
  margin-top: 20pt;
  padding-top: 10pt;
  border-top: solid 1pt #cccccc;
}

.home-tile {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 10pt;
}

.home-tile a {
  text-decoration: none;
}

/*
  ==========================
  landing page
  ==========================
*/
/* landing news and articles */
/* ------------------------- */
#landing-news-articles {
  width: 100%;
  margin-top: 20pt;
}

#landing-news-articles .more {
  display: none;
}

/* landing news list */
#landing-news-articles .news-list {
  margin-bottom: 12pt;
}

#landing-news-articles .news-list h2 {
  padding: 6pt 10pt;
  font-size: 20pt;
  color: #666666;
}

#landing-news-articles .news-list article {
  padding: 4pt 10pt;
}

#landing-news-articles .news-list h3 {
  font-size: 14pt;
}

#landing-news-articles .news-list time {
  display: block;
  margin-top: 0 !important;
  font-size: 12pt;
  color: #333333;
}

/* landing articles */
#landing-news-articles .landing-article {
  float: left;
  width: 48%;
}

#landing-news-articles .landing-article:nth-child(2n+1) {
  float: right;
}

#landing-news-articles .landing-article figure {
  display: block;
  width: 100%;
  border-bottom: solid 8pt #cccccc;
  overflow: hidden;
}

#landing-news-articles .landing-article figure img {
  max-width: 100%;
}

#landing-news-articles .landing-article .content {
  padding: 4pt 10pt;
}

#landing-news-articles .landing-article time {
  display: block;
  margin-bottom: 3pt;
  font-size: 12pt;
}

#landing-news-articles .landing-article h2 {
  margin-top: 0 !important;
  font-size: 16pt;
}

#landing-news-articles .landing-article .more {
  background: none;
  padding: 0;
  font-size: 13pt;
}

/* landing feature items */
/* --------------------- */
#landing-features .feature-item {
  margin-top: 20pt;
}

#landing-features .feature-item h2 {
  font-size: 18pt;
  color: #666666;
}

#landing-features .feature-item .more {
  margin-top: 2pt;
  text-transform: uppercase;
}

/* Complex document print styles */
/* ----------------------------- */
.complex-document h1,
.complex-document h2,
.complex-document h3,
.complex-document h4,
.complex-document h5 {
  margin: 0 0 15px 0;
}

.complex-document a {
  color: #666666;
}

.complex-document p {
  margin: 0 0 15px 0;
}

.document-search-form,
.document-aid {
  display: none;
}

h4.document-service-curriculum-heading {
  display: block;
  float: left;
  margin-top: 12pt;
  margin-right: 8pt;
}

div.document-uxcontrols-wrapper h4 {
  font-size: 16pt;
  font-weight: bold;
  color: #000000;
}

ul.document-accordion, ul.document-accordion li {
  list-style-type: none;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

ul.document-accordion li ul, ul.document-accordion li ul li {
  list-style-type: none;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

ul.document-accordion li > a {
  text-decoration: none;
  font-size: 12pt;
  font-weight: bold;
  color: #000000;
  margin: 0 0 15px 0;
}

ul.document-accordion > li > a:after {
  display: none;
}

div.tabs-holder ul.document-accordion li > a {
  display: none;
}

.tabs-holder ul.document-accordion li ul, ul.document-accordion li ul {
  display: block !important;
}

.document-aside-section ul {
  margin: 0 0 15px 0;
}

#footer .footer__upper {
  display: none;
}

.no-print {
  display: none !important;
}
