@font-face { font-family: "Inter"; font-style: normal; font-weight: bold;  src: url('../../fonts/Inter/Inter-Bold.woff2') format('woff2'); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 400;  src: url("../../fonts/Inter/Inter-Italic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500;  src: url("../../fonts/Inter/Inter-Medium.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600;  src: url("../../fonts/Inter/Inter-SemiBold.woff2") format("woff2"); }
@font-face {font-family: "Noto Sans TC"; src: url('../../fonts/Noto_Sans_TC/NotoSansTC.ttf') format('truetype'); font-weight: normal; font-style: normal; }

/***** Clearfix *****/
.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

* html .clearfix {
	height: 1%;
}

* .clearfix {
	display: block;
}

/***** Basic Elements *****/
html, body {
	height: 100%;
	margin: 0px;
}
#print-container {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #525252;
	padding: 8px 0;
}

#print-container input[type=text], #print-container select, #print-container textarea{
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

#print-container input[type=submit],#print-container input[type=button],#print-container input[type=image] {
    background: url('../img/button-bg.png') repeat-x bottom #fff;
	border: 1px solid #c0c0c0;
	height: 24px;
    padding: 0 1em;
	overflow: visible;
    color: #c56a58; 
    font-size: 11px;
	font-weight: bold;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
	*filter:chroma(color=#000000);
}

#print-container input[type=submit]:focus ,#print-container input[type=button]:focus,#print-container input[type=image]:focus {
	border-color: #808080;
	-moz-box-shadow:    0 0 2px #a0a0a0;
	-webkit-box-shadow: 0 0 2px #a0a0a0;
	box-shadow:         0 0 2px #a0a0a0;
}

#print-container input[type=submit][disabled],#print-container input[type=button][disabled] {
	color: #888;
	background: #f0f0f0;
}

#print-container input[type=submit][disabled]:focus, #print-container input[type=button][disabled]:focus {
	border: 1px solid #c0c0c0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

input.narrow-input {
    width: 50%;
}

input.wide-input {
    width: 90%;
}

h1 {
	font-size: 1.8em;
	line-height: 1.6em;
}

h2 {
	font-size: 1.6em;
	line-height: 1.4em;
}

h3 {
	font-size: 1.4em;
	line-height: 1.3em;
}

h4 {
	font-size: 1.3em;
	line-height: 1.2em;
}

h5 {
	font-size: 1.2em;
	line-height: 1.2em;
}

h6 {
	font-size: 1.0em;
	line-height: 1.0em;
}

hr { 
    background: #6d6e71;
    border: none;
    height: 1px;
}

/* a {
	text-decoration: none;
	color: #b83a09;
} */

a {
	color: #a02337;
}

a:hover {
	text-decoration: underline;
}

form {
	margin: 0;
}

strong {
	font-weight: bold;
}

/***** Floating *****/
.lfloat {
	float: left;
}

.rfloat {
	float: right;
}

/***** Miain Container *****/
#container {
	background-color: #ffffff;
	min-width: 1240px;
	min-height: calc(100% - 177px);
}

/***** Content *****/
#content {
	background: url('../img/content-bg.png') bottom repeat-x;
	position: relative;
}

#blockline {
	background: url('../img/blockline.png') no-repeat center top;
	height: 2px;
    position: relative;
    top: 10px;
    z-index: 1;
}

/***** Header *****/
/* Header Blockline Styles */
.header-blockline {
	position: relative;
	width: 100%;
	min-width: 1050px;
	max-height: 149px;
	background: #fff;
	overflow: hidden;
	padding-bottom: 25px;
	height: 112px;
}

/* Top angled red block */
.header-blockline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 485px;
  height: 112px;
  background: #A02337;
  clip-path: polygon(0 0, 100% 0, 77.2% 100%, 0% 100%);
  z-index: 1;
}

/* Bottom red bar */
.header-blockline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 14px;
  background: #A02337;
  z-index: 2;
}

/* PolyU Logo (left side) */
.header-blockline-logo {
  position: absolute;
  top: 26px;
  left: 26px;
  width: 318px;
  height: 62px;
  z-index: 3;
  padding-left: 20px;
}

/* Text centered vertically in the angled block, next to logo */
.header-blockline-title {
  position: absolute;
  left: 500px; /* 26px (logo left) + 452px (logo width) + 2px (gap) + 22px (gap) */
  top: 40%;
  transform: translateY(-50%);
  color: #000;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  z-index: 3;
  white-space: nowrap;
  text-decoration: none;
}
/* #header {
	padding: 8px 20px 0 20px;
}

#header #header-logo {
    white-space: nowrap;
}

#header #header-info {
	text-align: right;
	line-height: 1.5em;
}

#header img#polyu-logo {
    margin-bottom: 5px;
}

#header img#estudent-logo {
    margin: 5px 0;
}

#header img#tagline1_estud {
	margin: 12px 5px;
}

#header img#tagline1_epub {
	margin: 11px 5px
} */

/***** Footer *****/
/* #footer {
	background-color: #ffb155;
	text-align: justify;
	padding: 0 25px 10px;
	color: #6b4100;
}

#footer .footer-title {
	padding: 8px 0;
}

#footer .footer-content {
	font-size: 0.8em;
	line-height: 1.2em;
	-webkit-text-size-adjust:none;
}

#copyright {
    padding: 10px 25px 0;
    font-size: 0.8em;
	line-height: 1.2em;
	-webkit-text-size-adjust:none;
} */
 .footer {
	width: 100%;
	min-width: 1050px;
	position: relative;
	background-color: #f5f5f5;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 24px 64px;
	box-sizing: border-box;
	text-align: left;
	font-size: 12px;
	color: #a02337;
	z-index: 5;
}
 
.footer-info {
	position: absolute;
	right: 24px;    /* Match horizontal padding */
	bottom: 16px;   /* Adjust as needed for spacing */
	text-align: right;
	font-size: 12px;
	color: #58595b;
}

.disclaimer-title {
  	position: relative;
	font-size: 24px;
	line-height: 32px;
	color: #a02337;
	text-align: left;
	font-weight: bold;
}

.disclaimer-content {
  	flex: 1;
	width: 100%;
	position: relative;
	font-size: 1rem;
	color: #000;
	text-align: left;
	display: inline-block;
	margin: 0;
}

.line-break{
	line-height: 2;
}

.copyright-container {
	width: 100%;
	position: relative;
	font-size: 12px;
	line-height: 18px;
	color: #58595b;
	text-align: left;
	display: flex;
	align-items: flex-end;
}

/***** Wrapper *****/
.wrapper-top div {
	height: 20px;
}

.wrapper-top {
	background: url('../img/shadow-top-left.png') left no-repeat;
	margin: 0 15px;
	padding-left: 11px;
}

.wrapper-top > div {
	background: url('../img/shadow-top-right.png') right no-repeat;
	padding-right: 11px;
}

.wrapper-bottom div {
	height: 40px;
}

.wrapper-bottom {
	background: url('../img/shadow-bottom-left.png') left no-repeat;
	margin: 0 15px;
	padding-left: 11px;
}

.wrapper-bottom > div {
	background: url('../img/shadow-bottom-right.png') right no-repeat;
	padding-right: 11px;
}

.wrapper-bottom > div  > div {
	background: url('../img/shadow-bottom.png') right repeat-x;
	margin: 0 19px;
}

.wrapper {
	background: url('../img/shadow-left.png') left repeat-y;
	margin: 0 15px;
	padding-left: 11px;
}

.wrapper > div {
	background: url('../img/shadow-right.png') right repeat-y;
	padding-right: 11px;
}

/* .wrapper > div > div {
	padding: 1px 15px;
	background-color: #ffffff;
} */

#main {
	min-height: 400px;
}

/***** Text & word *****/
.loose-paragraph {
	line-height: 1.5em;
}

.fixed-size-label {
	display: inline-block;
	width: 90px;
}

.select-item-list-label {
    line-height: 20px;  
}

.title {
	font-family: "Arial Black", sans-serif;
	color: #963501;
}

.subtitle {
	color: #b83a09;
}

.remark {
	font-size: 0.9em;
}

.date {
	color: #e57c02;
}

.panel-button {
	margin-left: 12px;
}

#yearsem-panel {
	text-align: left;
	margin-bottom: 8px;
}

#yearsem-label {
	text-align: right;
	line-height: 20px;
}

.message-panel {
	padding-bottom: 8px;
}

.personal-details-heading-label {
	font-weight: bold;
	text-decoration: underline;
	margin-top: 1em;
}

.heading-label {
	color: #000000;
	font-weight: bold;
	line-height: 1.5em;
	display: block;
}

/***** Block Panel *****/
.hidden {
    display: none;  
}

.panel-content {
	padding: 1.5em;
    border-bottom: 1px solid #6d6e71;
    border-left: 1px solid #6d6e71;
    border-right: 1px solid #6d6e71;
}

.panel-function-button {
	margin-top: 8px;
    text-align: center;
}

.data-block, .info-block, .edit-block {
	margin-bottom: 12px;
}
				
/* .info-block > h3 {
    background: url("../img/panel-info-bg.png") repeat-x top left;
    border: 1px solid #919191;
    line-height: 29px;
    padding-left: 12px;
} */

/* .info-block > div {
    border-bottom: 1px solid #919191;
    border-left: 1px solid #919191;
    border-right: 1px solid #919191;
	padding: 12px;
} */

/* .edit-block > h3 {
    background: url("../img/panel-edit-bg.png") repeat-x top left;
    border: 1px solid #eb932a;
    line-height: 29px;
    padding-left: 12px;
} */

/* .edit-block > div {
    border-bottom: 1px solid #eb932a;
    border-left: 1px solid #eb932a;
    border-right: 1px solid #eb932a;
	padding: 12px;
} */

.toggle > h3 {
	cursor: pointer;
}
.toggle .toggle-opened {
	background: url("../img/toggle-arrow-up.png") right center no-repeat;
	display: block;
}
.toggle .toggle-closed {
	background: url("../img/toggle-arrow-down.png") right center no-repeat;
	display: block;
}

/* .button-block {
    background-color: #e58919;
    padding: 0.5em 1em;
    text-align: right;  
} */

/***** List Formation *****/
ol.decimal-list {
	padding-left: 1.5em;
	list-style: decimal outside none;
}

ol.decimal-list li {
	text-align: justify;
	padding: 0.5em 1em;
}

#print-container ul.disc-list {
    padding-left: 1.5em;
    list-style: disc outside none;
}

#print-container ul.disc-list li {
    text-align: justify;
    padding: 0.5em 1em;
} 

ul {
	padding-inline-start: 0px;
}

ol.alpha-list {
    padding-left: 1.5em;
    list-style: lower-alpha outside none;
}

ol.alpha-list li {
    text-align: justify;
    padding: 0.5em 1em;
}

ul.space-list {
	line-height: 1.5em;
}

ul.address li {
	line-height: 2em;
}

/***** Component - Dialog *****/
.dialog {
	display: none;
}

.dialog > div {
	text-align: center;
	min-height: 75px;
}

.dialog-text {
	display: none;
	line-height: 1.5em;
	font-size: 12px; 
}

/***** Message & Alert *****/
.greybox {
	background-color: #f7f7f7;
	border: 1px solid #cccccc;
	color: #333333;
	padding: 10px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5em;
	margin-top: 0;
}

.bluebox {
	background-color: #eceff6;
	border: 1px solid #d4dae8;
	color: #333333;
	padding: 10px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5em;
	margin-top: 0;
}

.infobox {
	background-color: #fff9d7;
	border: 1px solid #e2c822;
	color: #333333;
	padding: 10px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5em;
	margin-top: 0;
}

.errorbox {
	background-color: #ffebe8;
	border: 1px solid #dd3c10;
	color: #333333;
	padding: 10px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5em;
	margin-top: 0;
}

.warning-message {
    color: #ff0000;
    font-size: 13px;
    text-align: justify;  
}

/***** Notice List (Login & Home) *****/
ul#notice-list {
	list-style: none outside none;
	padding-right: 1em;
}

.notice-list-scroll {
	max-height: 350px;
    overflow-y: auto;
}

ul#notice-list > li {
	line-height: 1.5em;
	padding: 0 0 0.5em 1.5em;
	background: url('../img/list-dot-icon.png') no-repeat left 0.3em;
}

.notice-title {
	display: inline;
	margin-right: 10px;
}

.notice-content {
	text-align: justify;
	line-height: 1.3em;
	padding: 0.5em 1em;
}

.notice-content-no-indent {
	text-align: justify;
	line-height: 1.3em;
	padding: 0.5em 0;
}

/***** Hot Links List (Login & Home & Functions) *****/
ul#hotlink-list {
	list-style: none outside none;
}

ul#hotlink-list.two-col li {
	*float: left; /* For IE 7 Hacking */
	display: inline-block;
	vertical-align: top;
	width: 40%;
	padding: 0 0 1em 1.5em;
}

ul#hotlink-list li {
	line-height: 1.5em;
	padding: 0 0 1em 1.5em;
	background: url('../img/list-dot-icon.png') no-repeat left 0.1em;
}

/***** Menu List *****/
.menu .menu-title {
	background: url('../img/menu-bg.png') repeat-x center top;
	color: #313131;
	height: 30px;
	line-height: 30px;
	padding: 0 16px;
	border: 1px solid #e67e03;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.menu > li {
	margin-bottom: 15px;
}

.menu > li > ul > li {
	background: url('../img/list-arrow-icon.png') no-repeat 16px center;
	color: #726e68;
	height: 24px;
	line-height: 24px;
	padding-left: 40px;
	border-left: 1px solid #e67e03;
	border-right: 1px solid #e67e03;
	border-bottom: 1px solid #e67e03;
	white-space: normal;	
}

/***** For Login page *****/
#login-content-left-panel {
	width: 55%;
}

#login-content-right-panel {
	width: 43%;
	background: url('../img/banner-polyu.png') right bottom no-repeat;
	padding-bottom: 220px;
}

/***** Icon Panel *****/
#notice-panel {
	background: url('../img/icon-notice.png') no-repeat #ffffff;
}

#hotlink-panel {
	background: url('../img/icon-hotlink.png') no-repeat #ffffff;
}

.icon-panel {
	padding: 40px 40px 0;
}

.icon-panel .icon-panel-head {
	padding-left: 40px;
}

.icon-panel .icon-panel-head > div {
	padding-top: 15px;
	height: 40px;
	border-top: 1px solid #6d6e71;
	border-right: 1px solid #6d6e71;
}

.icon-panel .icon-panel-content {
	padding: 0 20px 20px 40px;
}

/***** Highligthing Panel *****/
.highlight-panel {
    height: 145px;
}

.highlight-panel h1 {
    background: url('../img/highlight-panel-mask.png') repeat-x;
    color: #fff;
    font-weight: bold;
    line-height: 36px;
    padding-left: 40px;
}

.highlight-panel img {
	float: right;
	margin: 19px 15px 10px;
}

#notice-highlight-panel {
    background: url('../img/highlight-panel-background-notice.png') repeat-x;
}

#hotlinks-highlight-panel {
    background: url('../img/highlight-panel-background-hotlinks.png') repeat-x;
}

#notice-highlight-panel .panel-icon {
	width: 76px; 
	height: 80px; 
	background: url('../img/icon-notice-white.png'); 
	float: right; 
	margin: 19px 15px 10px;
}

#hotlinks-highlight-panel .panel-icon {
	width: 81px; 
	height: 80px; 
	background: url('../img/icon-hot-links-white.png'); 
	float: right; 
	margin: 19px 15px 10px;
}

/***** Login Panel *****/
.wrapper-login {
	background: url('../img/shadow-login-left.png') left -10px no-repeat;
	padding-left: 26px;
	margin: 0 15px 0px 0px;
}

.wrapper-login > div {
	background: url('../img/shadow-right.png') right top repeat-y;
	padding-right: 11px;
}

.wrapper-login > div > div {
	background-color: #ffdabf;
	padding: 20px 0;
}

#login-form-panel {
	background: url('../img/shadow-login-right.png') right top no-repeat;
	padding-right: 24px;
}

#login-form-panel td {
	vertical-align: middle;
	white-space: nowrap;
	padding: 3px 2px;
}

#login-form-panel > div {
	background: url('../img/shadow-login.png') center top repeat-x;
	height: 125px;
	padding: 10px 0;
}

#login-form-panel #login-form-header {
	height: 30px;
}

#login-form-panel .login-error {
	background: #ffdddd;
	border: 1px solid red;
	padding: 4px;
}

#login-form-panel #login-control-table td {
	padding: 4px;
	text-align: right;
}

#login-form-panel input[type=text], #login-form-panel input[type=password] {
	width: 90%;
	min-width: 100px;
}

td#login-hint-panel-cell {
	vertical-align: top;
}

#login-hint-panel {
	margin: 0 2em;
}

#login-hint-panel .title {
	text-align: center;
	padding-bottom: 0.5em;
}

#login-hint-panel p {
	text-align: justify;
	line-height: 1.5em;
	padding: 0.25em 0;
}

#help-link {
	background: url('../img/icon-help.png') no-repeat left bottom;
	text-decoration: underline;
	padding-left: 20px;
	margin-right: 20px;
}

#login-button {
	text-transform: capitalize;
	width: 80px;
}

/***** For Home Page *****/
#home-panel #home-center-panel {
	margin-left: 250px;
	margin-right: 250px;
}

#home-panel #home-left-panel {
	width: 240px;
	float: left;
}

#home-panel #home-right-panel {
	width: 240px;
	float: right;
}

/***** For Function Page *****/
#func-panel #func-left-panel {
	margin-right: 250px;
}

#func-panel #func-right-panel {
	width: 240px;
	float: right;
}

#nav-menu {
    margin-bottom: 8px;
}

#nav-menu .nav-menu-item {
	color: #b83a09; 
}

/***** For Timetable Remarks *****/
.timetable-remarks h6 {
	text-decoration: underline;
	margin: 18px 0 12px;
}

.timetable-remarks ul li {
	float: left;
	line-height: 1.2em;
}

.timetable-remarks ul.five-col li {
    width: 20%;
}

.timetable-remarks ul.two-col li {
	width: 45%;
}

.timetable-remarks ul.one-col li {
	width: 90%;
}

/***** For Personal Details Page *****/
.personal-details-field-label {
	padding-left: 2em;
}

/***** For Study Change Page *****/
.toc {
	list-style: none;
	max-width: 1000px;
}

.toc li {
	line-height: 2.5em;
}

.toc li .link {
	float: right;
}

.toc li .link a {
	margin-left: 1em;
}

/***** Custom Table Format *****/
table.info-table thead tr {
	background: #ffddb7;
}

table.space-table, table.vertical-space-table {
    width: 100%;
}

table.space-table td {
    padding: 4px;
}

table.vertical-space-table td {
    padding: 4px 0;
}

/* table.label-table {
	width: 100%;
} */
table.label-table .field-label {
    text-align: right;
    padding-right: 1em;
	white-space: nowrap;
	font-weight: bold;
}

table.sa-format-table {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #888888;
}

table.sa-format-table td {
	padding: 3px;
	border: 1px solid #888888;
	font-size: 13px;
	text-align: left;
}

table.sa-format-table th {
	background-color: #EEEEEE;
	font-weight: bold;
	padding: 3px;
	border: 1px solid #888888;
	font-size: 13px;
	text-align: left;
}

table.details-table {
	width: 100%;
}
table.details-table .field-label{
	width: 250px;
	text-align: right;
	white-space: nowrap;
}
table.details-table td {
	padding: 8px 4px;
}
table.no-padding-table td {
	padding: 0;
}

.table-caption {
	margin-bottom: 1em;
}

.table-caption h6 {
	font-weight: bold;
	display: inline;
	margin-right: 1em;
}
  
/***** RichFaces - dataTable *****/
#print-container .rich-table {
	border: 1px solid #919191;
	width: 100%;
}

#print-container .rich-table-headercell,#print-container .rich-table-subheadercell,#print-container .rich-table-subfootercell {
	border: 1px solid #919191;
	white-space: normal;
	text-align: left;
}

#print-container .rich-table-cell {
	border: 1px solid #919191;
}

.rich-table-header, .rich-table-subheader {
	background: #eee none;
	font-weight: bold;
}

.rich-table-odd {
	background: #ffffff;
}

.rich-table-even {
	background: #f8f0e0;
}

.rich-table-even2 {
	background: #fafafa;
}

/***** RichFaces Calendar *****/ /*
.rich-calendar-tool-btn {
	font-family: Arial, Verdana;
}
*/
.rich-calendar-exterior {
	border-color: #888;
}

.rich-calendar-days {
	background: #fff;
}

.rich-calendar-cell {
	background: #fff;
}

.rich-calendar-toolfooter {
	background: #fff;
}

.rich-calendar-time-layout {
	background: #fff;
	border: 1px solid #888;
}

.rich-calendar-date-layout {
	background: #fff;
	border: 1px solid #888;
}

.rich-calendar-time-btn {
	background: #e6e6e6;
	border-color: #888;
}

/***** RichFace - DataScrollor *****/
.rich-datascr {
    margin: 12px 0;
}

.rich-dtascroller-table  td {
	padding: 2px;
}

fieldset.defaultFieldSet {
	border: 1px solid #eb932a;
	padding: 0 10px 10px 10px;
	margin: 15px 0 0 0;
}

legend {
	font-size: 13px;
	font-weight: bold;
	padding: 0 10px 3px;
	margin: 0 0 5px;
}

/***** Subreg Progress Bar [START] *****/
.progress-bar-wrapper {
	font-size: 0px;
	position: relative;
}

/* progress bar element */
.progress-label {
	font-size: 12px;
	min-width: 130px;
	background: #bab4b4;
	border: 1px solid transparent;
	position: relative;
	height: 40px;
	display: inline-block;
	padding: 0px;
	margin: 0px;
	text-align: center;
	color: #fff;
	line-height: 40px;
	padding: 0px 20px 0px 40px;
}

/* right triangles */
.progress-label:before,
.progress-label:after {
	content: '';
	display: block;
	position: absolute;
	left: 100%;
	width: 0;
	height: 0;
	border-style: solid;
}

/* this border color controlls the outside, thin border */
.progress-label:before {
	top: -2px;
	border-color: transparent transparent transparent white;
	border-width: 22px 22px;
}

/* this border color controlls the color of the triangle (what looks like the fill of the triangle) */
.progress-label:after {
	top: -1px;
	border-color: transparent transparent transparent #bab4b4;
	border-width: 21px 21px;
}
	
.progress-label.highlight {
	background: #e58919;
	font-weight: bold;
}

.progress-label.highlight:after {
	border-color: transparent transparent transparent #e58919;
}

/* left triangle for the first element*/
.progress-tri {
	border-style: solid;
	width: 0px;
	height: 0px;
	line-height: 0px;
	border-width: 0px 100px 100px 100px;
	border-color: transparent transparent transparent white;
	_border-color: transparent transparent transparent white;
	_filter: progid: DXImageTransform.Microsoft.Chroma(color='#000000');
	border-color: transparent transparent transparent white;
	border-width: 22px 22px 22px 22px;
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 200;
}
/***** Subreg Progress Bar [END] *****/


.psRemark.section:after, .gpa.section:after {
    clear: both;
    content: ".";
    height: 0; 
    visibility: hidden; 
}

/* Background Logo - Scaled Version */
.bg-polyu-logo {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
    max-width: 75vw; /* % of viewport width */
    max-height: 75vh; /* % of viewport height */
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Main Dialog Container - Notice Style */
.ui-dialog {
  position: absolute;
  padding: 0;
  width: 340px;
  max-width: 95vw;
  overflow: hidden;
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(10,13,18,0.08), 0 1.5px 4px rgba(10,13,18,0.10);
  color: #242424;
  z-index: 1001;
}

/* Title Bar (Banner) */
.ui-dialog .ui-dialog-titlebar {
  padding: 0.7em 1.2em;
  background: #a02337;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  font-size: 1.05rem;
  min-height: 16px;
  display: flex;
  align-items: center;
  position: relative;
}
.ui-dialog .ui-dialog-title {
  float: none;
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  font-family: inherit;
}

/* Close Button */
.ui-dialog .ui-dialog-titlebar-close {
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: transparent;
  border: none;
  color: #fff;
  opacity: 0.7;
  cursor: pointer;
  transition: opacity 0.2s;
  padding: 0;
}
.ui-dialog .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar-close:focus {
  opacity: 1;
}
.ui-dialog .ui-dialog-titlebar-close span {
  display: block;
  font-size: 1.3rem;
  margin: 0;
}

/* Dialog Content */
.ui-dialog .ui-dialog-content {
  position: relative;
  border: none;
  padding: 1.2em 1.2em 1em 1.2em;
  background: #fff;
  color: #242424;
  font-size: 1rem;
  overflow: auto;
  box-sizing: border-box;
  min-height: 75px;
  font-family: inherit;
}

/* Button Pane & Buttons */
.ui-dialog .ui-dialog-buttonpane {
  text-align: right;
  border-width: 1px 0 0 0;
  background: #fafafa;
  margin: 0;
  padding: 0.7em 1.2em;
  border-radius: 0;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: none;
  display: flex;
  gap: 0.5em;
}

.ui-dialog .ui-dialog-buttonpane button {
  background: #a02337;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 0.4em 1.2em;
  font-size: 1rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s;
  margin: 0;
}
.ui-dialog .ui-dialog-buttonpane button:hover,
.ui-dialog .ui-dialog-buttonpane button:focus {
  background: #7b1622;
}

