/* DDS 3.0 changes */

/* vars */
:root {
  --nsw-brand-dark: rgb(0, 38, 100);
  --nsw-brand-light: rgb(203, 237, 253);
  --nsw-status-info: rgb(46, 82, 153);
  --nsw-text-dark: rgb(34, 39, 43); /* = 01 */
  --nsw-text-hover: rgba(0, 133, 179, 0.2);
  --nsw-grey-02: rgb(73, 80, 84);
  --light40: rgb(160, 165, 174); /* DDS 2/Daemon? */
  --nsw-grey-03: rgb(205, 211, 214);
  --nsw-grey-04: rgb(235, 235, 235);
  --nsw-off-white: rgb(242, 242, 242); /* palette- */
  --nsw-brand-accent: rgb(215, 21, 58); /* card border-top */
  --nsw-status-error: rgb(184, 18, 55);
  --nsw-status-success: rgb(0, 169, 8);
  --nsw-font-bold: 700;
}

/* apply "Public Sans" font & other style innovations since DDS 2.0, where body has class .dds3
    leave default browser margins for most elements except i.a. list items and nested lists */
.dds3 {
  color: var(--nsw-text-dark);
  font-family: 'Public Sans', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.dds3 a:not(.nsw-button):not(.nsw-btn):link {
  color: var(--nsw-brand-dark);
}

.dds3 a:not(.nsw-button):not(.nsw-btn):hover {
  background-color: var(--nsw-text-hover);
  outline: 2px solid var(--nsw-text-hover);
}

.dds3 li {
  margin-bottom: 0.5rem;
}

.dds3 li > ul {
  margin-top: 0.5rem;
}

.dds3 p {
  line-height: 1.5;
}

.dds3 small {
  font-size: .875rem;
  line-height: 1.25;
}

.dds3 button,
.dds3 input,
.dds3 select,
.dds3 textarea {
  font-size: inherit;
}

/* set new font for each class which has a font-famly declaration (Montserrat) */
.dds3 button,
.dds3 input,
.dds3 select,
.dds3 textarea,
.dds3 .accordion,
.dds3 .clear,
.dds3 .dropdown,
.dds3 .icons-text > button,
.dds3 .link,
.dds3 .main-h1,
.dds3 .nsw-btn,
.dds3 .nsw-form-helper,
.dds3 .nsw-form-input,
.dds3 .nsw-form-select,
.dds3 .nsw-pagination,
.dds3 .nsw-sidenav > h2 {
  font-family: 'Public Sans', Arial, Helvetica, sans-serif;
}

/* add to _text.scss */
.fs-sm {
  font-size: 1rem;
}

/* ### FORMS */

/* remove arrows/spinners from type="number" */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.nsw-search__btn > .m-icons {
  font-size: 2.25rem;
}

/* search input field which is hidden until focused
.input-tr .nsw-form-input {
  padding-right: 2rem;
}

.input-tr .nsw-form-input:not(:focus) {
  background: transparent;
  border-color: transparent;
  position: relative;
  z-index: 1;
}

.input-tr .nsw-form-input:not(:focus)::placeholder {
  color: transparent;
}

.input-tr .nsw-form-input:focus:hover {
  background: #fff;
} */

/* ### MODULES */

/* .accordion */

.dds3 .accordion > [aria-expanded] {
  border-left: none;
  font-size: 1.25rem;
  line-height: 1.4;
  transition: background-color .15s ease-in-out, color .15s ease-in-out;
}

.dds3 .accordion > [aria-expanded]:hover {
  background-color: var(--nsw-brand-dark);
  color: white;
}

.dds3 .accordion > [aria-expanded]::after {
  background: none;
  content: 'keyboard_arrow_down';
  font-family: 'Material Icons';
  font-size: 1.875rem;
  font-weight: 400;
  height: auto;
  right: 0.5rem;
  transform: translateY(-50%);
  transition: transform .15s ease-in-out, color .15s ease-in-out;
  width: auto;
}

.dds3 .accordion > [aria-expanded=true]::after {
  transform: translateY(-50%) rotate(180deg);
}

.dds3 .accordion > [aria-expanded]:hover > a {
  background-color: transparent;
  color: white;
  outline: none;
}

.dds3 .accordion > [aria-expanded=true] + .content {
  border-left: none;
}

.dds3 .accordion > [aria-expanded=true] + .content > :first-child {
  margin-top: 0;
}

.dds3 .accordion > [aria-expanded=true] + .content > :last-child {
  margin-bottom: 0;
}

.dds3 .accordion > .toggles {
  text-align: right;
}

.dds3 .accordion > .toggles > button {
  color: var(--nsw-brand-dark);
  text-decoration: underline;
  font-weight: var(--nsw-font-bold);
  border: 0;
  padding: 0;
  background: none;
}

.dds3 .accordion > .toggles > button[disabled] {
  opacity: .4;
  cursor: not-allowed;
}

.dds3 .accordion > .toggles > button:first-of-type {
  margin-right: 1.5rem;
}

.accordion.sub {
  position: relative;
}

.accordion.sub > label {
  padding-right: 2rem;
}

.accordion.sub > [aria-expanded] {
  display: inline-block;
  background-color: transparent;
  height: 2rem;
  padding: .5rem;
  position: absolute;
  right: -.5rem;
  text-indent: -999rem;
  top: 0;
  width: 2rem;
}

.accordion.sub > [aria-expanded]:hover {
  background-color: transparent;
}

.accordion.sub > [aria-expanded]::after {
  right: 0;
  text-indent: 0;
  top: auto;
}

.accordion.sub > [aria-expanded]:hover::after {
  color: var(--nsw-brand-dark);
}

.accordion.sub > [aria-expanded=true] + .content {
  padding: .5rem 0 .5rem 1.25rem;
}

.accordion.sub > h5 {
  cursor: pointer;
  margin: .5rem 0 0 0;
}

/* .banner */

.dds3 .banner > .nsw-container > h1 {
  margin: 0;
}

/* breadcrumbs (.nsw-breadcrumbs) */

.nsw-breadcrumbs ol {
  font-size: .875rem;
  list-style: none;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}

.nsw-breadcrumbs li {
  display: inline;
}

.nsw-breadcrumbs li:before {
  font-family: Material Icons;
  -webkit-font-feature-settings: "liga"; /* font-variant-ligatures: no-common-ligatures */
  content: "keyboard_arrow_right";
  font-size: 1.25rem;
  line-height: .5rem;
  display: inline-block;
  position: relative;
  top: .375rem;
}

.nsw-breadcrumbs li:first-child:before {
  display: none;
}

.nsw-breadcrumbs [aria-current] {
  text-decoration: none;
  pointer-events: none;
  color: var(--nsw-text-dark);
}

/* button (.nsw-btn) */

.nsw-btn {
  border: 2px solid transparent;
  border-radius: 0.25rem;
  cursor: pointer;
  display: inline-block;
  font-size: 100%;
  font-weight: var(--nsw-font-bold);
  line-height: 1.5;
  margin: 0 1rem 0 0;
  min-width: 7.75rem;
  padding: 0.625rem 1.375rem;
  text-align: center;
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  vertical-align: middle;
}

.nsw-btn.danger {
  background-color: rgb(184, 18, 55);
}

.nsw-btn.danger,
.nsw-btn.dark {
  color: white;
}

.nsw-btn.danger:hover,
.nsw-btn.dark:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15));
}

.nsw-btn.dark,
.nsw-btn.outline:hover:not(:disabled) {
  background-color: var(--nsw-brand-dark);
}

.nsw-btn.outline {
  background-color: white;
  border-color: var(--nsw-brand-dark);
  color: var(--nsw-brand-dark);
}

.nsw-btn.outline:hover:not(:disabled) {
  color: white;
}

.nsw-btn.toggle {
  border-width: 1px;
  font-weight: 500;
  min-width: 0;
  padding: .25rem .75rem;
}

.nsw-btn.login {
  margin-right: 0;
  min-width: auto;
  padding: 6px 1rem;
}

.nsw-btn:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.nsw-btn:last-child {
  margin-right: 0;
}

/* .callout */

.callout {
  background: #fff;
  padding: 1rem;
  border-left: 4px solid var(--nsw-brand-dark);
}

.callout > h3,
.callout > h4 {
  font-size: 1.25rem;
}

.callout > :first-child {
  margin-top: 0;
}

.callout > :last-child {
  margin-bottom: 0;
}

/* .cards */

.dds3 .cards > a,
.dds3 .cards > section,
.dds3 .cards > li {
  border: 1px solid var(--nsw-grey-03);
  box-shadow: none;
}

.dds3 .cards:not(.borders-0) > a,
.dds3 .cards:not(.borders-0) > section,
.dds3 .cards:not(.borders-0) > li {
  border-top: 6px solid var(--nsw-brand-accent);
}

.dds3 .cards.primary > a,
.dds3 .cards.primary > section,
.dds3 .cards.primary > li {
  border-top: 6px solid var(--nsw-brand-dark);
}

.dds3 .cards.new > a:hover {
  border: 1px solid var(--nsw-brand-dark);
}

.dds3 .cards.new:not(.borders-0) > a:hover {
  border-top-width: 6px;
}

.dds3 .feature-news.new > a,
.dds3 .feature-news.new > a:hover {
  border-top: none;
}

.dds3 .feature-news > a > .img {
  margin: -1rem -2.05rem 1rem;
}

.dds3 .cards > a > h3,
.dds3 .cards > a > h4,
.dds3 .cards > section > h3,
.dds3 .cards > section > h4,
.dds3 .cards > li > h3,
.dds3 .cards > li > h4 {
  margin: 0;
}

.dds3 .cards > a > p,
.dds3 .cards > section > p,
.dds3 .cards > li > p {
  margin-bottom: 0;
}

.dds3 .cards > a > p + a,
.dds3 .cards > a > p + i,
.dds3 .cards > section > p + a,
.dds3 .cards > section > p + i,
.dds3 .cards > li > p + a,
.dds3 .cards > li > p + i {
  display: inline-block;
  margin-top: 1rem;
}

.dds3 .cards > a > time,
.dds3 .cards > section > time,
.dds3 .cards > li > time  {
  margin-bottom: 1rem;
}

.dds3 .cards > a:not(.nsw-button):not(.nsw-btn):hover {
  outline: none;
}

.dds3 .cards.new > a::after {
  content: 'east';
  font-family: 'Material Icons';
  font-size: 1.875rem;
  margin-top: 0.75rem;
}

.cards.new > .light,
.cards.new.light > a {
  background: var(--nsw-brand-light);
  border-color: var(--nsw-brand-light);
}

.cards.new > .dark,
.cards.new.dark > a {
  background: var(--nsw-brand-dark);
  border-color: var(--nsw-brand-dark);
}

.dds3 .cards.new > a.dark > h3,
.dds3 .cards.new.dark > a > h3,
.dds3 .cards.new > a.dark > p,
.dds3 .cards.new.dark > a > p,
.dds3 .cards.new > a.dark:after,
.dds3 .cards.new.dark > a:after {
  color: #fff;
}

.cards.new > a.dark:hover,
.cards.new.dark > a:hover {
  border-color: var(--nsw-grey-03);
  color: var(--nsw-text-dark);
}

.cards.new > .dark:not(.nsw-button):not(.nsw-tag):hover,
.cards.new.dark > a:not(.nsw-button):not(.nsw-tag):hover {
  background: #fff;
}

.dds3 .cards.new > a.dark:hover > h3,
.dds3 .cards.new.dark > a:hover > h3,
.dds3 .cards.new > a.dark:hover > p,
.dds3 .cards.new.dark > a:hover > p {
  color: var(--nsw-text-dark);
}

.dds3 .cards.new > a.dark:hover:after,
.dds3 .cards.new.dark > a:hover:after {
  color: var(--nsw-brand-dark);
}

.dds3 .cards.profiles > li {
  margin-bottom: 1.5rem;
}

.dds3 .cards.profiles > li > a::after {
  background: none;
  content: 'east';
  font-family: 'Material Icons';
  font-size: 1.5rem;
  height: auto;
  margin-top: 0.75rem;
  width: auto;
}

.profiles > li > a > .nsw-tags,
.dds3 .cards.profiles > li > a > .pipes,
.dds3 .cards.profiles > li > div {
  border-bottom: 1px solid var(--nsw-grey-04);
}

.dds3 .cards.profiles > li > div > h3 {
  margin: 0;
}

.dds3 .cards.profiles > li > div > p {
  margin-top: 0;
}

/*  .dropdown */
.dropdown.primary a:not(.nsw-button):not(.nsw-btn) {
  color: #fff;
}

.dropdown.top > [aria-expanded]:after {
  content: "menu";
  font-family: "Material Icons";
}

/* .icons */

/*    multiple */

.dds3 .icons.discs > a button,
.dds3 .icons.discs > section button {
  background: white;
}

.dds3 .icons.discs > a button::after,
.dds3 .icons.discs > section button::after {
  font-family: 'Material Icons';
  font-size: 1.875rem;
}

.dds3 .icons.discs.exes > a button::after,
.dds3 .icons.discs.exes > section button::after {
  color: var(--nsw-brand-accent);
  content: 'cancel';
}

.dds3 .icons.discs.pluses > a button::after,
.dds3 .icons.discs.pluses > section button::after {
  color: var(--nsw-brand-dark);
  content: 'add_circle';
}

.dds3 .icons.discs.pluses > a button.tick,
.dds3 .icons.discs.pluses > section button.tick {
  background: white; /* need to override current .tick declaration */
}

.dds3 .icons.discs.pluses > a button.tick::after,
.dds3 .icons.discs.pluses > section button.tick::after {
  color: var(--nsw-status-success);
  content: 'check_circle';
  font-family: 'Material Icons'; /* need to override current .tick declaration */
  font-size: 1.875rem; /* ditto */
}

.dds3 .icons.bgs-n.bins > a button::after,
.dds3 .icons.bgs-n.bins > section button::after,
.dds3 .icons.btns.bins > a button::after,
.dds3 .icons.btns.bins > section button::after {
  color: var(--nsw-status-error);
  content: 'delete';
  font-family: 'Material Icons';
  font-size: 1.5rem;
}

.dds3 .icons.discs > a button[disabled],
.dds3 .icons.discs > section button[disabled] {
  background: var(--nsw-grey-04);
}

.dds3 .icons.discs > a button[disabled]::after,
.dds3 .icons.discs > section button[disabled]::after {
  color: var(--nsw-grey-02);
  content: 'lock';
  font-size: 1.25rem;
}

/*    single */

/*      arrow with shaft (pointing right) */
.dds3 .arr-r::after {
  color: var(--nsw-brand-dark);
  content: 'east';
  font-family: 'Material Icons';
  line-height: 1rem;
  text-transform: none; /* icon is lost if parent is uppercase */
  vertical-align: text-top;
}

/* Material Icons  (.m-icons) */

.m-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  text-transform: none; /* icon is lost if parent is uppercase */
  white-space: nowrap;
}

.m-icons.fs-sm {
  font-size: 1rem;
}

.m-icons.fs-xxxl {
  font-size: 2.5rem;
}

.m-icons.fw-b {
  font-weight: var(--nsw-font-bold);
}

.nsw-btn .m-icons {
  line-height: .625rem;
  /*position: relative;*/ /* NB - doing this via diaply:inline-flex & align-items:center is buggy with disabled */
  /*bottom: -.4375rem;*/
  vertical-align: middle;
}

.nsw-btn .m-icons:first-child {
  margin-right: 0.5rem;
}

.nsw-btn .m-icons:last-child {
  margin-left: 0.5rem;
}

.nsw-btn .m-icons:only-child {
  margin: 0;
}

.m-icons > i {
  font-style: normal;
}

a > .m-icons {
  vertical-align: middle;
}

a > .m-icons:not(.disc) {
  display: inline-block;
}

.m-icons.wrap {
  white-space: normal;
}

/* link-list */

.link-list > li {
  border-top: 1px solid var(--nsw-grey-04);
  margin: 0;
}

.link-list > li:last-child {
  border-bottom: 1px solid var(--nsw-grey-04);
}

.link-list > li > a {
  padding: 1rem;
  color: var(--nsw-brand-dark);
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}

.link-list > li > a:not(.nsw-button):not(.nsw-btn):hover {
  outline-width: 0;
}

.link-list > li > a::after {
  content: 'east';
  font-family: 'Material Icons';
  font-size: 1.25rem;
  margin-left: 1rem;
}

.link-list > li > a > b {
  text-decoration: underline;
}

/* pagination (.nsw-pagination) */

.nsw-pagination > ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nsw-pagination > ul > li {
  margin: 0;
}

.nsw-pagination > ul > li > a {
  display: block;
  text-decoration: none;
  text-align: center;
  padding: .25rem;
  min-width: 1.875rem;
}

.nsw-pagination > ul > li > a:not(.nsw-button):not(.nsw-btn):hover {
  outline-width: 0;
}

.nsw-pagination > ul > li > a.active {
  position: relative;
}

.nsw-pagination > ul > li > a:not(.nsw-button):not(.nsw-btn).active {
  color: var(--nsw-text-dark);
}

.nsw-pagination > ul > li > a:not(.nsw-button):not(.nsw-btn).active:hover {
  background-color: transparent;
}

.nsw-pagination a.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: .25rem;
  right: .25rem;
  height: 2px;
  background-color: var(--nsw-brand-accent);
}

.nsw-pagination > ul > li > a > .m-icons {
  display: inline-block;
}

/* .points */

.dds3 .point::after,
.dds3 .points > a > i::after,
.dds3 .points > li > a::after,
.dds3 .points > section > a::after {
  color: var(--nsw-brand-accent);
  content: 'arrow_right';
  font-family: 'Material Icons';
  font-size: 1.5rem;
  line-height: normal;
  margin-left: 0;
}

/* progress indicator */
.nsw-progress-indicator > .bar {
  display: flex;
  padding-top: .5rem;
}

.nsw-progress-indicator > .bar > div {
  height: .25rem;
  width: 100%;
  background-color: var(--nsw-grey-04);
}

.nsw-progress-indicator > .bar > div:not(:first-child) {
  margin-left: .25rem;
}

.nsw-progress-indicator > .bar > .active {
  background-color: var(--nsw-brand-accent);
}

/* separation (of sections) */

.separation > section:nth-of-type(even) {
  background: var(--nsw-off-white);
  margin: 2rem 0;
  padding: 1rem 2rem;
}

/* sidenav (.nsw-sidenav) */

.nsw-sidenav > h2,
.nsw-sidenav > h3,
.nsw-sidenav > h4 {
  border-bottom: 2px solid var(--nsw-brand-dark);
}

.nsw-sidenav > h3,
.nsw-sidenav > h4 {
  margin: 0;
}

.nsw-sidenav > h3 > a,
.nsw-sidenav > h4 > a {
  padding: 0.5rem 0;
}

.nsw-sidenav a {
  display: block;
  text-decoration: none;
  color: var(--nsw-text-dark);
}

.dds3 .nsw-sidenav a:not(.nsw-button):not(.nsw-btn) {
  color: var(--nsw-text-dark);
}

.dds3 .nsw-sidenav a:not(.nsw-button):not(.nsw-btn):hover {
  outline-width: 0;
}

.nsw-sidenav ul,
.link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dds3 .nsw-sidenav li > ul {
  margin-top: 0;
}

.nsw-sidenav li {
  border-top: 1px solid var(--nsw-grey-04);
  margin: 0;
}

.nsw-sidenav > h3 + ul > li:first-child,
.nsw-sidenav > h4 + ul > li:first-child {
  border-top: none;
}

.nsw-sidenav li > a {
  padding: 1rem;
}

.nsw-sidenav li li > a {
  padding-left: 1.5rem;
}

.nsw-sidenav li li li > a {
  padding-left: 2rem;
}

.nsw-sidenav li li li li > a {
  padding-left: 3rem;
}

.nsw-sidenav > ul > li.active {
  border-left: 2px solid var(--nsw-brand-accent);
}

.nsw-sidenav li.active > a {
  font-weight: var(--nsw-font-bold);
}

.nsw-sidenav a.current,
.dds3 .nsw-sidenav a.current:hover {
  background-color: var(--nsw-off-white);
}

/* tags (.nsw-tags > button) */

.nsw-tags {
  display: flex;
  flex-wrap: wrap;
}

ul.nsw-tags {
  padding-left: 0;
}

.nsw-tags > button,
.nsw-tags > li {
  align-items: center;
  background: white;
  border: 1px solid var(--nsw-brand-dark);
  border-radius: 1.5rem;
  color: var(--nsw-brand-dark);
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  /*line-height: 1.175rem;*/
  margin: 0 0.5rem 0.75rem 0;
  /*padding: 0.125rem 1rem;*/
  padding: 0.175rem 1rem; /*.25 1 */
  white-space: nowrap;
}

.nsw-tags > button {
  padding-bottom: 0.25rem;
}

.nsw-tags > button:last-child {
  margin-right: 0;
}

.nsw-tags > button:hover {
  background: var(--nsw-text-hover);
}

.nsw-tags.removal > button {
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
}

.nsw-tags.removal > button:hover {
  background: var(--nsw-brand-dark);
  color: white;
}

.nsw-tags.removal > button::after,
.nsw-tags.alt > li.certified::after {
  content: 'close';
  font-family: 'Material Icons';
  font-weight: 900;
  margin-left: 0.5rem;
}
/*font-size: 1.15rem;*/

/*    solid blue or green background; list used in search results to indicate supplier categories i.a. */

.nsw-tags.alt > li {
  background: var(--nsw-brand-dark);
  color: white;
}

.nsw-tags.alt > li.certified {
  background: var(--nsw-status-success);
  border-color: var(--nsw-status-success);
}

.nsw-tags.alt > li.certified::after {
  content: 'check';
}

/*  specific to search results: */
.profiles > li > a > .nsw-tags {
  margin-top: .75rem;
}

/* top link */
.nsw-top-link > a {
  position: absolute;
  left: 0;
}

.dds3 .nsw-top-link > a::after {
  background: var(--nsw-brand-dark);
  color: white;
  content: 'arrow_upward';
  display: inline-block; /* remove text-dec */
  font-family: 'Material Icons';
  margin-left: .5rem;
  text-decoration: none;
  vertical-align: middle;
}

/* ### FRAMEWORK ### (replace .dds3 with .nsw?) */

/*  header */
/*    TODO: .dds3 header or .nsw > header instead of .nsw-header;
        which would require copying 3 (or more?) existing rules for .nsw-header */
.nsw-header > .nsw-container {
  align-items: center;
  display: grid;
  padding: 1rem;
  /*position: relative; - the only difference between nsw-container & nsw-header__container */
}

.nsw-header > .nsw-container {
  grid-template-areas: 'logo title x user top';
  grid-template-columns: auto auto 1fr auto auto;
}

.nsw-header.H > .nsw-container {
  grid-template-areas: 'logo title x search user top';
  grid-template-columns: auto auto 1fr auto auto auto;
}

/* NB - .buynsw-header is required for implementation in 3rd party sites: */
.buynsw-header {
  display: flex;
  align-items: center;
}

.nsw-header > .nsw-container > a,
.buynsw-header > a {
  text-decoration: none;
}

.nsw-header .waratah > svg,
.buynsw-header > a > .logo {
  height: 55px;
}

@media (min-width: 62em) {
  .nsw-header .waratah > svg,
  .buynsw-header > a > .logo {
    height: 76px;
  }
}

.nsw-header .name,
.buynsw-header > .title {
  color: rgb(0, 38, 100);
  font: 700 24px/28px "Public Sans", Arial, sans-serif;
  margin-left: 40px;
}

.nsw-header .waratah {
  grid-area: logo;
}

.nsw-header .name {
  grid-area: title;
}

.nsw-header .search,
.nsw-header .input-tr {
  grid-area: search;
}

.dropdown.top {
  grid-area: top;
  position: relative;
}

.dropdown.user,
.nsw-header .login {
  grid-area: user;
}

.dropdown.user {
  position: relative;
}

.dropdown.user > [tabindex] {
  font-family: 'Material Icons';
}

.dropdown.user > [tabindex]::before {
  content: 'account_circle';
  font-size: 2rem;
}

.dropdown.user > [tabindex]::after {
  content: 'expand_more';
  font-size: 2.5rem;
  width: 32px;
}

.dropdown.user > [aria-expanded=true] + ul,
.dropdown.user > [tabindex] + ul:focus-within,
.dropdown.user > [tabindex] + ul:hover,
.dropdown.user > [tabindex]:focus + ul {
  top: 2.5rem;
}

/* .nsw-header.A - hamburger menu becomes single row menu above 66rem */
.dropdown.top li > a > i {font-style:normal}

@media (min-width: 66rem) { /* 1056px */
  .nsw-header.A {background:linear-gradient(to bottom, white 68%, rgb(242, 242, 242) 68%)}
  .nsw-header.A > .nsw-container {align-items:center; display:grid; padding:1rem 1rem 0 1rem; grid-template-areas:
    'logo title x user'
    'top top top top'; 
    grid-template-columns:auto auto 1fr auto}
  .nsw-header.A .top > [aria-expanded], .nsw-header.A .top > ul ul, .nsw-header.A .top > ul a > i {display:none}
  .nsw-header.A .top a:not(.nsw-button):not(.nsw-btn) {color: var(--nsw-text-dark)}
  .nsw-header.A .top {background:none; border-top:none; margin:1rem 0 0 0}
  .nsw-header.A .top > [aria-expanded] + ul {display:flex; margin:0; padding:0}
  .nsw-header.A .top > [aria-expanded=true] + ul {background:none; border:none; display:flex; position: static; }
  .nsw-header.A .top li {margin-bottom:0}
  .nsw-header.A .top > [aria-expanded=true] + ul > li {border-bottom: none}
  .nsw-header.A .top li:first-of-type {order:9} /* shift 'Help' to end */
  .nsw-header.A .top li > a {display:inline-block; font-weight:var(--nsw-font-bold); padding:1rem}
  .nsw-header.A .top > [aria-expanded=true] + ul > li > a {margin:0; padding:1rem}
  .nsw-header.A .top > ul [href*="opportunities"] {text-transform:capitalize}
  .nsw-header.A .top a:not(.nsw-button):not(.nsw-btn):hover {outline:none}
}

@media (max-width: 48rem) { /* 768 */
  .dropdown.user {
    position: static;
  }

  .dropdown.user > [aria-expanded=true] + ul,
  .dropdown.user > [tabindex] + ul:focus-within,
  .dropdown.user > [tabindex] + ul:hover,
  .dropdown.user > [tabindex]:focus + ul {
    margin-right: 0;
    top: 4.8rem;
  }
}

@media (max-width: 36rem) { /* 576rem */
  .nsw-header .name, .dropdown.top {
    margin-left: 0;
  }

  .nsw-header > .nsw-container {
    grid-column-gap: 1rem;
  }

  .nsw-header .login {
    white-space: nowrap;
    width: 6rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nsw-header .search {
    margin-right: 0;
  }
}

 /* was: (=400px)
@media (max-width: 25rem) {
  .nsw-header.H > .nsw-container {
    grid-template-areas:
      'logo title title'
      'search user top';
    grid-template-columns: auto auto auto;
  }
}*/

@media (max-width: 48rem) { /* 768px */
  .nsw-header.H > .nsw-container {
    grid-template-areas:
      'logo title top'
      'search search user';
    grid-template-columns: auto auto auto;
  }
}

/* modal */
.modal > div {
  max-height: 100%;
  overflow-y: auto;
  padding-right: 2rem;
  width: 700px;
}

.modal > div > .top {
  align-items: center;
  border-bottom: 1px solid var(--nsw-grey-04);
  display: flex;
  justify-content:space-between;
  margin: -2rem -2rem 2rem -2rem;
  padding: 2rem;
}

.modal > div > .top > h2 {
  font-size: 2rem;
  margin: 0 2rem 0 0;
}

.modal > div > .top > .m-icons {
  padding: .35rem;
  text-decoration: none;
}

.modal > div > .bot {
  background: #fff;
  border-top: 1px solid var(--nsw-grey-04);
  bottom: -2rem;  /* keep 'continue' in view */
  margin: 0 -2rem -2rem -2rem;
  padding: 2rem;
  position: -webkit-sticky;
  position: sticky; /* keep 'continue' in view */
  text-align: right;
}

/*  footer */

.dds3 footer a {
  text-decoration: none;
}

.dds3 footer [target='_blank']::after {
  display: inline-block; /* remove underline */
}

.dds3 footer [target='_blank']:not([href*='facebook']):not([href*='twitter'])::after {
  content: 'open_in_new';
  font-family: 'Material Icons';
  font-size: smaller;
  margin-left: 0.5rem;
  vertical-align: middle;
}

.dds3 footer [href*='facebook'] {
  position: relative; /* required for display with neg. text-indent */
  text-indent: -999rem;
  width: 28px;
}

.dds3 footer [href*='facebook']::after {
  content: 'facebook';
  font-family: 'Material Icons';
  font-size: 32px;
  line-height: 1rem;
  position: absolute; /* required for display with neg. text-indent on parent */
  left: 0;
  text-indent: 0;
}

/* NB - viewBox must be set in svg image and svg tag (enclosing 'use' tag) to preserve aspect ratio: */
.dds3 footer [href*='twitter'] > svg {
  fill: white;
  height: 28px;
  vertical-align: middle;
  width: 29px;
}

/* classes that don't require quarantining inside .dds3 (refactor as .nsw footer?): */

.nsw-footer > .upper {
  background: var(--nsw-off-white);
  padding: 1px 0 1.5rem 0;
}

.nsw-footer > .upper a:visited {
  color: var(--nsw-brand-dark);
}

.nsw-footer > .upper .disc {
  height: 2rem;
  margin-right: 0.75rem;
  width: 2rem;
}

.nsw-footer > .upper .disc.m-icons {
  background: var(--nsw-brand-dark);
  font-size: 1.25rem;
}

.nsw-footer > .upper .grid-sm {
  gap: 0;
}

.nsw-footer > .upper .grid-sm li {
  margin: 0.5rem 1rem 1rem 0;
}

.nsw-footer > .upper .grid-sm li i {
  font-size: smaller;
}

.nsw-footer > .lower {
  background: var(--nsw-brand-dark);
  color: white;
  font-size: 0.875rem;
  padding: 1rem 0 1.5rem;
}

.nsw-footer > .lower a:not(.nsw-btn):link,
.nsw-footer > .lower a:not(.nsw-btn):visited {
  color: white;
}

.nsw-footer > .lower ul {
  align-items: center;
  border-top: 1px solid var(--light40);
  display: flex;
  flex-wrap: wrap;
  font-weight: var(--nsw-font-bold);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.nsw-footer > .lower ul > li {
  margin-right: 1.5rem;
}

.nsw-footer > .lower ul > li .fa-external-link-alt {
  font-size: smaller;
}

.nsw-footer > .lower ul > li:last-of-type {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: 0;
}

.nsw-footer > .lower ul > li:last-of-type > a:first-of-type {
  margin: 0 0.65rem;
}

/* media queries */
@media only screen and (min-width: 992px) {
  .nsw-footer > .upper {
    padding: 1.75rem 0 1rem 0;
  }

  .nsw-footer > .lower ul {
      margin-bottom: 3rem;
  }
}

@media only screen and (max-width: 1023px) {
  .nsw-footer > .lower ul > li:last-of-type {
    margin-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .nsw-footer > .lower ul {
    display: grid;
    gap: 0.5rem 1rem;
    grid-template-columns: 1fr auto;
  }
}

/* ### UTILITIES ### */

/* colour */

.cl-bdrk {
  color: var(--nsw-brand-dark);
}

.cl-tdrk,
.dds3 .main-h1 {
  color: var(--nsw-text-dark);
}

/* flex */

.flex {
  display: flex;
}

@media only screen and (min-width: 768px) {
  .flex-sm {
    display: flex;
  }
}

.ai-c {
  align-items: center;
}

.jc-b {
  justify-content: space-between;
}

/* grid */

.grid.gap-0-3 {
  gap: 0 3rem;
}

/* margin */

.m-0 {
  margin: 0;
}

.mt-0 {
  margin-top: 0;
}

.mt-xs {
  margin-top: .5rem;
}

.mt-md {
  margin-top: 1rem;
}

.mr-xs {
  margin-right: .5rem;
}

.mr-sm {
  margin-right: .75rem;
}

.mr-md {
  margin-right: 1rem;
}

.mb-xs {
  margin-bottom: .5rem;
}

.mb-sm {
  margin-bottom: .75rem;
}

.mb-md {
  margin-bottom: 1rem;
}

.mb-lg {
  margin-bottom: 1.25rem;
}

.mb-xl {
  margin-bottom: 1.5rem;
}

.mb-xxl {
  margin-bottom: 2rem;
}

.mb-xxxl {
  margin-bottom: 2.5rem;
}

.ml-0 {
  margin-left: 0;
}

.ml-xs {
  margin-left: .5rem;
}

.ml-sm {
  margin-left: .75rem;
}

.ml-md {
  margin-left: 1rem;
}

.ml-lg {
  margin-left: 1.25rem;
}

.ml-xxl {
  margin-left: 2rem;
}

/* set margin-bottom:1rem for all child elements
    caters for narrow items (such as buttons) which will wrap to the next line if space isn't available,
    with space above the wrapped items */
.ch-mb1r > *,
.ch-mb-md > * {
  margin-bottom: 1rem;
}

/* padding */

.p-md {
  padding: 1rem;
}

.pb-xl {
  padding-bottom: 1.5rem;
}

/* margin & padding in wide screens */

@media (min-width: 75em) {
  .mb-lg {
    margin-bottom: 1.5rem;
  }

  .mb-xl {
    margin-bottom: 2rem;
  }

  .mb-xxl {
    margin-bottom: 3rem;
  }

  .mb-xxxl {
    margin-bottom: 4rem;
  }

  .ml-lg {
    margin-left: 1.5rem;
  }

  .pb-xl {
    padding-bottom: 2rem;
  }
}

/* max-width */

.maxw-400 {
  max-width: 400px;
}


/* TEMP rule overrides - shift to relevant scss style sheet: */

@media only screen and (min-width: 768px) {
  .dds3 .opportunities-T > section button {
    margin-left: 1rem;
  }
}
/*# sourceMappingURL=dds3.css.map */