html,
body {
    height: calc(100% - 5px);
}
.site-index {
    font-size: 15px;
    line-height: 1.8;
}
.site-index p {
	margin: 20px 0 10px 0;
}
.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 -20px 0 0; 
    padding: 0 0 60px;
}

/* Not used for fixed menu bar */
/*
.wrap > .container {
    padding: 10px 15px 20px; 
}*/

.footer {
    height: 60px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    padding-top: 20px;
    margin: 0 -20px 0 0; /* follow wrap */
}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;
src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.woff2) format("woff2"),
url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.ttf) format("truetype")}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;
src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2) format("woff2"),
url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.ttf) format("truetype")}

a.asc:after, a.desc:after {
    padding-left: 3px;
}
a.asc:after {
    font-family: "Font Awesome 6 Free";
    content: "\f885" /*"\e113" "\e151"*/;
}
a.desc:after {
    font-family: "Font Awesome 6 Free";
    content: "\f884" /*"\e114" "\e152"*/;
}
.fa-sort-amount-down-alt:before { /* 20250707: to fix seemingly a bug in Gridview which uses fa-sort-amount-down-alt instead of fa-sort-amount-down */
	content: "\f160";
}
.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}

/*************************************************************/
/********       CUHK Library Standard Custom CSS       *******/
/*************************************************************/

div.sandbox-label {
    position: sticky;
    top: 0px;
    width1: 100%;
    text-align: center;
    height: 20px;
    line-height: 20px;
    background-color: #009b7b;
    color: #FFFF00;
    font-weight: bold;
    font-size: 15px;
    opacity: 0.8;
    z-index: 16777271;
    margin: 0 -20px 0 0; /* follow wrap */
}

div.banner-jpeg {
	background-size: contain;
    background-image: url(/cuhklib/images/banner.jpg);
	background-repeat: no-repeat;
    background-position: left;
    height: 100px;
	min-width: 400px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.navbar-custom {
	background-color: #6d1b6d;
	margin-bottom: 10px;
}
.navbar-toggle .icon-bar {
	background-color: #ffffff;
}
/* change the brand and text color */
.navbar-custom .navbar-brand,
.navbar-custom .navbar-text {
    color: rgba(255,255,255,.8);
	font-size: 24px !important;
}
	
@media (max-width: 530px) {
	.navbar-custom .navbar-brand,
	.navbar-custom .navbar-text {
		font-size: 18px !important;
	}
	
	div.banner-jpeg {
		background-image: url(/cuhklib/images/banner_m.jpg);
	}
	.footer {
		font-size: 12px !important;
	}
}
a.lang-switcher {
	color: #ffffff;
	
}
a.lang-switcher:hover {
	color: #ffffff;
	background-color: rgba(255,255,255,0.5) !important;
	
}
/* change the link color */
.navbar-custom .navbar-nav .nav-link {
    color: rgba(255,255,255,.5);
}
/* change the color of active or hovered links */
.navbar-custom .nav-item.active .nav-link,
.navbar-custom .nav-item:hover .nav-link {
    color: #ffffff;
}

.navbar-noapp {
	height: 20px !important;
	max-height: 20px !important;
	min-height: 20px !important;
}

.btn-primary {
    color: #fff !important;
    background-color: #6d1b6d !important;
    border-color: #561856 !important;
}

.btn-cancel {
    color: #fff;
    background-color: #727475;
    border-color: #555656;
}

.btn {
	margin: 1px;
}

.btn-group-cuhk {
	text-align: left;
	margin: 20px 0 20px 0;
}

div.row {
	margin-bottom: 2px;
}

.attention-text {
	color: #d83762;
}

form div.required label.control-label:after{
  content:" * ";
  color:red;
}
form div.required label.control-description:after{
  content:" * ";
  color:red;
}

div.grid-view {
	min-width: 800px !important; /* Not collapse table even in mobile view */
}

div.grid-view {
	min-width: 800px !important; /* Not collapse table even in mobile view */
}

div.help-block {
	color: red;
}
/*******************************************************************/
/********      end of CUHK Library Standard Custom CSS       *******/
/*******************************************************************/

/*loader css*/

#loader-animation {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}
#loader-msg {
  position: absolute;
  //left: 50%;
  top: 50%;
  z-index: 1;
  margin: -120px 0 0 0;
  text-align: center;
  width: 100%;
}


@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Add animation to "page content" */
.animate-bottom {
  position: relative;
  -webkit-animation-name: animatebottom;
  -webkit-animation-duration: 1s;
  animation-name: animatebottom;
  animation-duration: 1s
}

@-webkit-keyframes animatebottom {
  from { bottom:-100px; opacity:0 } 
  to { bottom:0px; opacity:1 }
}

@keyframes animatebottom { 
  from{ bottom:-100px; opacity:0 } 
  to{ bottom:0; opacity:1 }
}

#loader-overlay {
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none !important;
  z-index:    1000;
}