:root {
    /* Colours */
    /* Teal (primary) variants */
    --color-teal-050: hsl(169deg 48% 90% / 100%); /* #daf2ee */
    --color-teal-100: hsl(169deg 47% 81% / 100%); /* #b6e5dc */
    --color-teal-200: hsl(169deg 47% 71% / 100%); /* #92d8cb */
    --color-teal-300: hsl(169deg 48% 62% / 100%); /* #6eccbb */
    --color-teal-400: hsl(169deg 47% 52% / 100%); /* #4abea9 */
    --color-teal-500: hsl(169deg 65% 42% / 100%); /* #26b298 */
    --color-teal-600: hsl(169deg 64% 35% / 100%); /* #20947f */
    --color-teal-700: hsl(169deg 65% 28% / 100%); /* #197766 */
    --color-teal-800: hsl(169deg 65% 21% / 100%); /* #13594c */
    --color-teal-900: hsl(169deg 64% 14% / 100%); /* #0d3c33 */
    --color-teal: var(--color-teal-500);
    /* Plum (secondary) variants */
    --color-plum-050: hsl(324deg 49% 90% / 100%); /* #f2d9e8 */
    --color-plum-100: hsl(324deg 48% 80% / 100%); /* #e4b3d0 */
    --color-plum-200: hsl(324deg 49% 70% / 100%); /* #d88eba */
    --color-plum-300: hsl(324deg 49% 60% / 100%); /* #cb68a3 */
    --color-plum-400: hsl(324deg 49% 50% / 100%); /* #be428c */
    --color-plum-500: hsl(324deg 72% 40% / 100%); /* #b11d75 */
    --color-plum-600: hsl(324deg 72% 32% / 100%); /* #941862 */
    --color-plum-700: hsl(324deg 72% 27% / 100%); /* #76134e */
    --color-plum-800: hsl(324deg 71% 20% / 100%); /* #590f3b */
    --color-plum-900: hsl(324deg 71% 14% / 100%); /* #3b0a27 */
    --color-plum: var(--color-plum-500);
    /* Black (tertiary) variants */
    /* Using RGB as HSL values containing 0deg or 0 cause display error in Safari macOS 14.1 Sonoma, Safari 17.6, fixed in 15+ */
    --color-black-050: rgb(229 229 229 / 1); /* #e5e5e5 */
    --color-black-100: rgb(204 204 204 / 1); /* #ccc */
    --color-black-200: rgb(178 178 178 / 1); /* #b2b2b2 */
    --color-black-300: rgb(153 153 153 / 1); /* #999 */
    --color-black-400: rgb(127 127 127 / 1); /* #7f7f7f */
    --color-black-500: rgb(102 102 102 / 1); /* #666 */
    --color-black-600: rgb(77 77 77 / 1); /* #4d4d4d */
    --color-black-700: rgb(51 51 51 / 1); /* #333 */
    --color-black-800: rgb(26 26 26 / 1); /* #1a1a1a */
    --color-black-900: rgb(0 0 0 / 1); /* #000 */
    --color-black: var(--color-black-900);
    /* White variants */
    --color-white: rgb(255 255 255 / 1); /* #fff, using rgb due to HSL Safari display error */ 
    --color-ecru: hsl(156deg 19% 95% / 100%); /* #eff4f2 */
    /* Primary variants */
    --color-primary: var(--color-teal);
    --color-secondary: var(--color-plum);
    --color-tertiary: var(--color-black);
    /* Spaces */
    --space-s: 8px;
    --space-m: 16px;
    --space-l: 24px;
    --space: var(--space-m);
    /* Text */
    --text-size-s: 13.33px;
    --text-size-m: 16px;
    --text-size-l: 24px;
    --text-size: var(--text-size-s);
    /* Font family */
    --font-body: 'Helvetica', 'Arial', -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
    --font-feature: "Barlow", -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
    /* Button overrides */
    --btn-color: currentcolor;
    --btn-bg: transparent;
    /* Logo size Vars */
    --logo-width: 101px;
    --logo-height: 80px;
  
    @media (max-width: 767px) {
      --logo-width: 91px;
      --logo-height: 72px;
    }
  }

  body {
    padding: 0px;
    position: relative;
    background-color: var(--color-white);;
    font-family: var(--font-body); /* set base font family */
    color: var(--color-black);
    line-height: 1.5;
  }

  :focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

  a {
    text-decoration: underline;
    color: currentColor;
  }
  
  a:focus {
    color: currentColor; /* apply focus styles to focus-visible */
  }
  
  a:hover,
  a:focus-visible {
    color: var(--color-teal-700); /* provides contrast of 5.42 on white background */
}

/* ---------------------------------------------------------------------------------------
START: STRUCTURE
--------------------------------------------------------------------------------------- */

html {
    background: #fafafa;
}

.container-header,
.container-footer {
	padding: 20px 0;
}

.container-body {
	padding: 15px 0 30px;
	min-height: 500px;
}

.container-header {
	width: 100%;
	height: auto;
	background-color: var(--color-black);
    color: var(--color-white);
    font-family: var(--font-feature);
}

.container-footer {
	background: #eeeeee;
}

h1 {
	font-size: calc( 24px + (26 - 24) * ( (100vw - 400px) / ( 800 - 400) ));
	margin: 0;
}

h1 span {
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.ecu-logo {
    display: flex;
    gap: var(--space-l);
    align-items: center;
}

.ecu-logo .ecu-logo-image {
    display: block;
    width: var(--logo-width);
    height: var(--logo-height);
    background-image: url('https://www.ecu.edu.au/__data/assets/image/0014/1100390/ecu-logo-alternate.png');
    background-repeat: no-repeat;
	background-size: contain; /* Keeps logo at this size regardless of dpi */
}

ul.footer {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-s);
    justify-content: center;
    cursor: pointer;
    list-style: none outside none;
    margin: 20px auto;
    padding: 0;
    text-align: center;
}

ul.footer li {
    display: block;
    margin: 0;
    list-style-type: none;
}

ul.footer a {
    padding: 6px 0;
    text-decoration: none;
}

.footer-link-divider {
    color: #333;
    margin: 0 2px 0 6px;
}

@media (max-width:991px) {

	.container-header .col-sm-8.menu {
    	float: left;
    	padding-right: 0;
    	width: 77%;
	}

	.container-header .col-sm-4.menu {
    	float: right;
    	padding-left: 0;
    	width: 22%;
	}

}

@media (max-width:767px) {

	.container-header,
	.container-body,
	.container-footer {
		padding: 15px;
	}

	.container-body,
	.container-footer {
		font-size: 1.05em;
	}

}

@media (max-width:480px) {

    ul.footer {
        flex-direction: column;
        align-items: flex-start;
        justify-content: stretch;
        text-align: left;
    }

    ul.footer li {
        width: 100%;
        border-bottom: 1px dotted var(--color-black-500);
    }

    .footer-link-divider {
        display: none;
    }

}

/* ---------------------------------------------------------------------------------------
START: NAVBAR / MENU BAR.
--------------------------------------------------------------------------------------- */

nav.sidebar-nav {
	float: right;
}

nav.sidebar-nav .navbar-collapse {
	padding-right: 0;
}

nav.sidebar-nav .navbar-nav li a {
	text-decoration: none;
	font-size: 1.2em;
	padding: 15px 0;
	color: #333;
	margin: 0 10px;
}

nav.sidebar-nav .navbar-nav li a:hover {
	background-color: transparent;
	color: #999;
}

nav.sidebar-nav .navbar-nav li.active a {
	color: #999;
}

.navbar-header {
	display: flex;
}

.navbar-toggler {
	order: 2;
	margin-left: 0.5rem;
}

/* 
https://www.svgbackgrounds.com/tools/svg-to-css/

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="#fff">
	<path d="M0 88C0 74.7 10.7 64 24 64l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 272c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24L24 432c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24z"/>
</svg>
*/

.navbar-light .navbar-toggler-icon {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%23fff"><path d="M0 88C0 74.7 10.7 64 24 64l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 272c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24L24 432c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24z"/></svg>');
}

.sidebar-nav-title {
	text-transform: uppercase;
	float: right;
	color: var(--color-white);
	margin: 0;
	font-size: 1rem;
	align-self: center;
}

.sidebar-nav .navbar-toggle {
	margin-right: 0;
}

a#sidebar-nav-btn-icon {
	border-color: var(--color-black-100);
}

a#sidebar-nav-btn-icon:hover {
	border-color: var(--color-black-050);
}

a#sidebar-nav-btn-icon .icon-bar {
	background-color: var(--color-black-100);
}

a#sidebar-nav-btn-icon:hover .icon-bar {
	background-color: var(--color-black-050);
}

@media (max-width:767px) {

	.sidebar-nav-title {
		margin: 0;
	}

}

/* ---------------------------------------------------------------------------------------
START: SIDR.
--------------------------------------------------------------------------------------- */

.sidr-help {
    margin: 20px;
    color: var(--color-white);
}

.sidr {
    background: var(--color-black-800);
    font-family: var(--font-body);
}

.sidr ul {
    margin: 15px 5px;
    border: 0;
}

.sidr li {
    font-size: 0.95em;
}

.sidr li li {
    font-size: 0.80em;
}

.sidr ul li a:hover {
    color: #ccc;
}

.sidr ul li,
.sidr ul li ul li,
.sidr ul li ul li ul li {
    border: 0;
    border-top: 0 none;
    line-height: 30px;
}

.sidr li:hover,
.sidr li.active,
.sidr li.sidr-class-active,
.sidr ul li:hover,
.sidr ul li.active,
.sidr ul li.sidr-class-active,
.sidr ul li ul li:hover,
.sidr ul li ul li.active,
.sidr ul li ul li.sidr-class-active {
    border-top: 0;
    line-height: 30px;
}

.sidr ul li.active > a,
.sidr ul li.active > span,
.sidr ul li.sidr-class-active > a,
.sidr ul li.sidr-class-active > span,
.sidr ul li ul li:hover > a,
.sidr ul li ul li:hover > span,
.sidr ul li ul li.active > a,
.sidr ul li ul li.active > span,
.sidr ul li:hover > a,
.sidr ul li:hover > span {
    background: none;
    box-shadow: none;
}

.sidr ul li ul li a {
    padding-left: 20px;
}

.sidr ul li ul li ul li a {
    padding-left: 30px;
}

#sidr-local-nav .close-btn,
.AppStyle2018 .container-sidebar .close-btn {
    position: absolute;
    right: 0;
    text-align: right;
}

.AppStyle2018 #sidr.sidr {
    width: 320px;
}

.AppStyle2018 #sidr.sidr.right {
    right: -320px;
}

.AppStyle2018 .sidr li .fa.fa-facebook,
.AppStyle2018 .sidr li .fa.fa-question {
    background: #3b5998;
    border-radius: 3px;
    color: #fff;
    font-size: 0.85em;
    left: 14px;
    padding: 5px 3px 3px;
    position: absolute;
    text-align: center;
    top: 18px;
    width: 15px;
}

.AppStyle2018 .sidr li .fa.fa-question {
    background: white;
    color: black;
}

.AppStyle2018 .sidr .most-popular li, 
.AppStyle2018 .sidr .popular-facebook li {
    font-size: 0.87em;
    line-height: 36px;
}

.AppStyle2018 .container-sidebar li.heading, 
.AppStyle2018 .container-sidebar li.heading:hover, 
.AppStyle2018 .sidr li.sidr-class-heading, 
.AppStyle2018 .sidr li.sidr-class-heading:hover {
    background-color: #2B2B2B;
    color: #fff;
    font-size: .7em;
    padding-left: 15px;
    text-transform: uppercase;
    line-height: 30px;
    border-top: 1px solid #444;
}

.AppStyle2018 .container-sidebar ul li.heading span {
    color: #B0B0B0;
    float: right;
    padding: 10px 14px 0 0;
}

.AppStyle2018 .sidr .popular-facebook li a {
    line-height: 20px;
    padding: 13px 15px 13px 47px;
    position: relative;
}

/* Sidr close button
.AppStyle2018.sidr .close-btn .fa-times {
    margin-right: 15px;
}

.AppStyle2018  #sidr-local-nav .close-btn,
.AppStyle2018 .container-sidebar .close-btn {
    background-color: #222;
    display: block;
    line-height: 30px;
    margin: 0;
    text-align: right;
    width: 100%;
    font-size: .85em;
    color: #fff;
    text-decoration: none;
    position: relative;
    padding-right: 10px;
}

.AppStyle2018 .sidr ul {
    margin: 0 0 15px;
}
*/

/* ---------------------------------------------------------------------------------------
START: SKIP LINKS
--------------------------------------------------------------------------------------- */

#skip-links {
    height: 40px;
    width: 100%;
    background: -moz-linear-gradient(top, #353739, #2a2b2c);
    background: -webkit-gradient(linear, left top, left bottom, from(#353739), to(#2a2b2c));
    -pie-background: linear-gradient(#353739, #2a2b2c); /*PIE*/
    border-bottom: 1px solid #000;
    box-shadow: 0 2px 0 2px rgba(0,0,0,0.1);
    position: absolute;
    left: -99999px;
}

#skip-links-container {
    width: 900px;
    margin: 0 auto;
    padding-top: 10px;
}

#skip-links ul {
    margin: 0;
    padding: 0;
}

#skip-links li {
    display: inline;
}

#skip-links li a {
    float: left;
    padding-right: 2px;
    margin-right: 2px;
    text-decoration: none;
    color: var(--color-white);
}

#skip-links li a:hover,
#skip-links li a:focus {
    text-decoration: underline;
}

#skip-links li span {
    float: left;
    padding-right: 4px;
    margin-right: 4px;
    margin-left: 4px;
    color: var(--color-white);
}

/* ---------------------------------------------------------------------------------------
START: WCAG FIXES - CONTRAST
--------------------------------------------------------------------------------------- */

/* Change to 7:1 contrast */
.AppStyle2018 .alert-info { color: #135271; }
.AppStyle2018.alert-block { color: #040200; }
.AppStyle2018 .alert-success { color: #000300; }
.AppStyle2018 .alert-error { color: #8c1d1b; }

.btn-primary {
    --btn-bg: var(--color-primary);
	background-color: var(--btn-bg);
	border-color: var(--btn-bg);
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* ---------------------------------------------------------------------------------------
START: Application Style 2018
--------------------------------------------------------------------------------------- */

.AppStyle2018 h1,
.AppStyle2018 h2 {
    font-family: var(--font-feature);
}

.AppStyle2018 h3, .AppStyle2018 h4 {
    font-family: var(--font-feature);
}  

.AppStyle2018 .sidr p,
.AppStyle2018 .sidr li {
    font-family: var(--font-feature);
}

.AppStyle2018 h2.page-title {
	margin-left: 0px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.AppStyle2018 .accordion {
    margin: 1rem 0;
}

.AppStyle2018 .accordion h4 .btn {
    font-size: 1.25rem;
}
.AppStyle2018 .accordion h4 .btn span {
    vertical-align: middle;
    font-size: 1.25rem;
    line-height: 1.4rem;
    margin-left: 1rem;
}
/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-externalSegmentation
--------------------------------------------------------------------------------------- */

.sf-externalSegmentation h3,
.sf-externalSegmentation .h3 {
    font-size: 1.5rem;
}

.sf-externalSegmentation h4,
.sf-externalSegmentation .h4 {
    font-size: 1.3rem;
}

.sf-externalSegmentation p, .sf-externalSegmentation li {
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
}

.sf-externalSegmentation .alert {
	color: #0b535f;
}

.sf-dataDictionary .card-text {
          white-space: -moz-pre-wrap; /* Mozilla */
          white-space: -hp-pre-wrap; /* HP printers */
          white-space: -o-pre-wrap; /* Opera 7 */
          white-space: -pre-wrap; /* Opera 4-6 */
          white-space: pre-wrap; /* CSS 2.1 */
          white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
          word-wrap: break-word; /* IE */
          word-break: break-all;
}

/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-forms*
--------------------------------------------------------------------------------------- */

.sf-forms .subHeader {
	margin-bottom: 40px;
}

.sf-forms .marginTop {
	margin-top: 30px;
}

.sf-forms .commentsBox {
	min-height: 100px;
}

.sf-forms legend {
	display: none;
}

.sf-forms label {
	font-weight: bold;
}

.sf-forms h2 {
	margin-top: 10px;
	margin-bottom: 30px;
	font-size: 1.8rem;
}

.sf-forms h3 {
	margin-top: 30px;
	margin-bottom: 20px;
    font-size: 1.5rem;
}

/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-forms; Manage your subscriptions (asset-id_778700)
--------------------------------------------------------------------------------------- */

.asset-id_778700 .marginTop {
	margin-top: 30px;
}

/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-forms; Unsubscribe from communications (asset-id_774820)
--------------------------------------------------------------------------------------- */

.asset-id_774820 .marginTop {
	margin-top: 30px;
}

/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-forms; Request Callback (asset-id_803159)
--------------------------------------------------------------------------------------- */

.asset-id_803159 .marginTop {
	margin-top: 30px;
}




/* ---------------------------------------------------------------------------------------
START: Salesforce: sf-leadForm; Hosted within CloudPages.
--------------------------------------------------------------------------------------- */

.sf-leadForm .sf-checkbox {
	margin-right: 10px;
}

.sf-leadForm label {
	    font-size: 0.8rem;
}

.sf-leadForm .securityNotification {
	    font-size: 0.8rem;
}

.sf-leadForm {
    font-family: "FFMarkPro", Helvetica, Arial, sans-serif;
}

.sf-leadForm .container-body {
    min-height: 450px;
}

.sf-leadForm h1 {
	font-size: 1.8rem;
}

/* ---------------------------------------------------------------------------------------
START: BAM: Staff Only Intranet (asset-id_789066)
--------------------------------------------------------------------------------------- */

.bam-nav a {
    text-decoration: none;
}

.bam-main .bam-pageHeader {
    margin-bottom: 20px;
}

.bam-main h3, 
.bam-marketing-urls h3 {
    font-size: 1.3rem;
}

.bam-main h4,
.bam-marketing-urls h4 {
    font-size: 1.1rem;
    font-family: var(--font-feature);
}   

.bam-main ul {
    font-size: 0.9rem;
}   

.bam-main li,
.bam-marketing-urls li {
    margin-bottom: 5px;
}

.bam-main .alert-primary > p,
.bam-main .alert-secondary > p {
    font-size: 0.8rem;
}

.bam-main .alert-dark > p {
    font-size: 0.9rem;
}

.bam-marketing-urls .alert-info > p,
.bam-marketing-urls .alert-success > p,
.bam-marketing-urls .alert-secondary > p {
    font-size: 0.9rem;
}
