html {
  overflow-y: scroll;
}

a[href], label, input[type='submit'], input[type='image'], input[type="button"], input[type="checkbox"], input[type="radio"], input[type="file"], select, button, .pointer {
  cursor: pointer;
}

::-webkit-file-upload-button {
  cursor: pointer;
}

.cal-sprite {
  background-image: url("/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/calendar.png");
  background-repeat: no-repeat;
  display: inline-block;
  width: 40px;
  height: 36px;
  font-style: normal;
  font-weight: bold;
  font-size: 24px;
  color: #fff;
  text-align: center;
  line-height: 44.64px;
}

.view-seminar .cal-sprite {
  margin-top: 3px;
}

.calendar-01 {
  background-position: -5px -5px;
}

.calendar-02 {
  background-position: -55px -5px;
}

.calendar-03 {
  background-position: -105px -5px;
}

.calendar-04 {
  background-position: -5px -51px;
}

.calendar-05 {
  background-position: -55px -51px;
}

.calendar-06 {
  background-position: -105px -51px;
}

.calendar-07 {
  background-position: -5px -97px;
}

.calendar-08 {
  background-position: -55px -97px;
}

.calendar-09 {
  background-position: -105px -97px;
}

.calendar-10 {
  background-position: -155px -5px;
}

.calendar-11 {
  background-position: -155px -51px;
}

.calendar-12 {
  background-position: -155px -97px;
}

.tab-pane ul {
  list-style-type: none;
  padding-left: 0px;
}
.tab-pane .media {
  margin-bottom: 10px;
}
.tab-pane .media h4 {
  font-size: 15px;
  line-height: 1.15;
  margin-bottom: 0;
}

html.no-js .no-js {
  display: block;
}
html.no-js .js {
  display: none;
}

html.js .no-js {
  display: none;
}
html.js .js {
  display: block;
}

.tooltip small {
  color: #333333;
}

div.tooltip-inner {
  max-width: 200px;
}

.input-group-btn .btn {
  padding-bottom: 9px;
}

.text-heading {
  color: #242B88;
}

a.text-heading:hover {
  color: #191e60;
}

.transparent-more, #header-wrap #logo-box img, #header-wrap #search-box .expand-search, #header-wrap #lang-box a, #header-wrap #boxes-box-top_icons a, #header-wrap #front-second .nav-pills > li, #header-wrap #front-second .tab-pane, #main-wrap .main-content {
  background: white;
  background: transparent\9;
  background: rgba(255, 255, 255, 0.6);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99FFFFFF,endColorstr=#99FFFFFF);
  zoom: 1;
}
.transparent-more:nth-child(n), #header-wrap #logo-box img:nth-child(n), #header-wrap #search-box .expand-search:nth-child(n), #header-wrap #lang-box a:nth-child(n), #header-wrap #boxes-box-top_icons a:nth-child(n), #header-wrap #front-second .nav-pills > li:nth-child(n), #header-wrap #front-second .tab-pane:nth-child(n), #main-wrap .main-content:nth-child(n) {
  filter: none;
}

.transparent-less, .menu-block-wrapper {
  background: white;
  background: transparent\9;
  background: rgba(255, 255, 255, 0.8);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFFFF,endColorstr=#CCFFFFFF);
  zoom: 1;
}
.transparent-less:nth-child(n), .menu-block-wrapper:nth-child(n) {
  filter: none;
}

hr.hr-condensed {
  margin-top: 0;
  margin-bottom: 0;
}

code {
  display: inline-block;
}

.list li {
  margin-bottom: 8px;
}

.main-content form {
  margin-top: 24px;
}
.main-content button.webform-submit, .main-content button.webform-next, .main-content button.webform-previous {
  margin-top: 8px;
}

.view-webform-results {
  overflow: auto;
}
.view-webform-results td, .view-webform-results th {
  background: white;
}

.no-gutter {
  margin-left: 0;
  margin-right: 0;
}
.no-gutter [class^='col-'] {
  padding-left: 0;
  padding-right: 0;
}

.img-highlight {
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 4px;
}

@media (min-width: 768px) {
  .main-content fieldset.captcha, .main-content .recaptchatable, .main-content button.webform-submit, .main-content button.webform-next {
    margin-left: 27% !important;
  }
}
form.preview label {
  display: block;
}

.webform-confirmation {
  margin-bottom: 20px;
}

@-moz-document url-prefix() {
  .main-content .form-file {
    height: auto;
    padding: 6px 12px 7px;
  }
}
#ui-datepicker-div {
  z-index: 9999 !important;
}

.view .pagination .progress-disabled {
  float: left;
}

.search-results {
  padding-left: 0;
}
.search-results li {
  list-style-type: none;
}
.search-results h3 {
  margin-bottom: 4px;
}
.search-results .search-url {
  color: #006621;
}
.search-results strong {
  font-weight: normal;
  color: #dd4b39;
}

#search-form input[type='checkbox'] {
  margin-left: 0px;
}

.node-readmore {
  padding-left: 5px !important;
  padding-top: 5px;
}
.node-readmore a:after {
  content: "...";
}

.node-teacher ol li, .node-news .field-item > ol > li, .node-news .field-item > ul > li {
  margin-bottom: 8px;
}

.field {
  margin-bottom: 10px;
}

.node-course-website.ds-2col-fluid > .group-left {
  width: 25%;
  padding-top: 20px;
}
.node-course-website.ds-2col-fluid > .group-right {
  width: 75%;
}
@media (max-width: 767px) {
  .node-course-website.ds-2col-fluid > .group-right, .node-course-website.ds-2col-fluid > .group-left {
    width: 100%;
  }
}

#conferences-table th {
  border-top-width: 0px;
}

.menu-block-wrapper {
  margin-bottom: 15px;
}
.menu-block-wrapper ul li {
  border: 1px solid #d9d9d9;
  border-width: 0px 1px 1px 1px;
}
.menu-block-wrapper ul li.first {
  border-top-width: 1px;
  border-radius: 5px 5px 0 0;
}
.menu-block-wrapper ul li.last {
  border-bottom-width: 1px;
  border-radius: 0 0 5px 5px;
}
.menu-block-wrapper ul li.first.last {
  border-radius: 5px;
}
.menu-block-wrapper li.expanded ul.menu {
  display: none;
}
.menu-block-wrapper .expanded.active-trail {
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0 !important;
}
.menu-block-wrapper .expanded.active-trail a {
  color: #fff;
}
.menu-block-wrapper .expanded.active-trail, .menu-block-wrapper .expanded.active-trail a:active, .menu-block-wrapper .expanded.active-trail a:hover {
  z-index: 2;
  background-color: #1b71c6;
}
.menu-block-wrapper .expanded.active-trail a:focus {
  background-color: #155799;
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu {
  background: transparent;
  display: inline;
  position: relative;
  width: 100%;
  box-shadow: none;
  border: 0;
  padding: 0;
  margin: 0;
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu li {
  border-width: 0;
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu li:last-child {
  border-radius: 0;
  border-bottom-width: 1px;
  padding-bottom: 5px;
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu li a {
  color: #555;
  white-space: normal;
  padding: 7px 15px 7px 48px;
  text-indent: -22px;
  /* Firefox specific styles go here */
  /* IE10+ specific styles go here */
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu li a:hover, .menu-block-wrapper .expanded.active-trail > .dropdown-menu li a:focus {
  text-decoration: none;
  color: white;
  background-color: #5ea4e9;
}
@-moz-document url-prefix() {
  .menu-block-wrapper .expanded.active-trail > .dropdown-menu li a {
    text-indent: -11px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .menu-block-wrapper .expanded.active-trail > .dropdown-menu li a {
    text-indent: -16px;
  }
}
.menu-block-wrapper .expanded.active-trail > .dropdown-menu li a:before {
  font-size: 75%;
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e080\00A0  ';
  text-align: right;
}
.menu-block-wrapper li.expanded:first-child.active-trail > a:hover {
  border-radius: 5px 5px 0 0;
}
.menu-block-wrapper li.expanded:last-child.active-trail {
  border-radius: 0;
}
.menu-block-wrapper li.expanded:last-child.active-trail > a:hover {
  border-radius: 0 0 5px 5px;
}
.menu-block-wrapper li.expanded:last-child.active-trail > .dropdown-menu li {
  border-width: 0 1px;
  border-radius: 0;
}
.menu-block-wrapper li.expanded:last-child.active-trail > .dropdown-menu li:last-child {
  border-bottom-width: 1px;
  border-radius: 0 0 5px 5px;
}
.menu-block-wrapper li a {
  display: inline-block;
  width: 100%;
}

#header-wrap {
  padding-top: 4px;
}
#header-wrap #logo-box img {
  box-sizing: content-box;
  border-radius: 5px;
}
#header-wrap #search-box .expand-search {
  -webkit-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -moz-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -ms-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -o-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
}
#header-wrap #search-box .expand-search + label .search-icon {
  color: #1b71c6;
}
#header-wrap #search-box .expand-search:hover {
  color: white;
  background: #4897e6;
}
#header-wrap #search-box .expand-search:hover + label .search-icon {
  color: white;
}
#header-wrap #search-box .expand-search:focus {
  -webkit-transition: width 0.6s ease cubic-bezier(0, 1.22, 0.66, 1.39), border-radius 0.6s, background 0.6s;
  -moz-transition: width 0.6s ease cubic-bezier(0, 1.22, 0.66, 1.39), border-radius 0.6s, background 0.6s;
  -ms-transition: width 0.6s ease cubic-bezier(0, 1.22, 0.66, 1.39), border-radius 0.6s, background 0.6s;
  -o-transition: width 0.6s ease cubic-bezier(0, 1.22, 0.66, 1.39), border-radius 0.6s, background 0.6s;
  transition: width 0.6s ease cubic-bezier(0, 1.22, 0.66, 1.39), border-radius 0.6s, background 0.6s;
  border: none;
  outline: none;
  box-shadow: none;
  padding-left: 15px;
  padding-right: 40px;
  cursor: text;
  width: 150px;
  border-radius: 10px 20px 20px 10px;
  background: #b8d7f5;
  color: black;
}
@media (min-width: 992px) {
  #header-wrap #search-box .expand-search:focus {
    width: 200px;
  }
}
#header-wrap #search-box .expand-search:focus + label .search-icon {
  color: black;
}
#header-wrap #search-box .expand-search:not(:focus) {
  text-indent: -5000px;
}
#header-wrap #search-box #search-submit {
  position: relative;
  left: -5000px;
  width: 0px;
}
#header-wrap #search-box .search-icon {
  position: relative;
  left: -30px;
  color: white;
  cursor: pointer;
  width: 0px;
}
#header-wrap #lang-box a {
  font-size: 14px;
  border-radius: 5px;
}
#header-wrap #search-box, #header-wrap #lang-box {
  display: inline-block;
}
#header-wrap #search-lang {
  padding-top: 24px;
}
@media (max-width: 767px) {
  #header-wrap #search-lang {
    padding-top: 2px;
    text-align: right;
    width: 100%;
    margin-bottom: 4px;
  }
}
#header-wrap #boxes-box-top_icons a {
  -webkit-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -moz-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -ms-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  -o-transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  transition: width 0.6s ease, border-radius 0.6s, background 0.6s;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  text-align: center;
  line-height: 40px;
  display: inline-block;
  margin-right: 5px;
}
#header-wrap #boxes-box-top_icons a:hover {
  color: white;
  background: #4897e6;
}
#header-wrap #boxes-box-top_icons a#top_login {
  margin-left: 15px;
}
@media (min-width: 1200px) {
  #header-wrap #front-second {
    margin-bottom: 15px;
  }
}
#header-wrap #front-second blockquote {
  border-left: none;
  margin-bottom: 0px;
  min-height: 200px;
}
#header-wrap #front-second blockquote footer {
  color: #333333;
  display: block;
  padding-top: 7.5px;
}
@media (max-width: 991px) {
  #header-wrap #front-second blockquote h1 {
    font-size: 27px;
  }
}
#header-wrap #front-second blockquote, #header-wrap #front-second blockquote * {
  font-family: satisfy, cursive, "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", "Apple LiGothic Medium", "LiHei Pro Medium", sans-serif, sans-serif !important;
}
#header-wrap #front-second .nav-pills > li a {
  font-family: "PT Sans", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", "Apple LiGothic Medium", "LiHei Pro Medium", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
#header-wrap #front-second .tab-pane {
  padding: 8px 12px;
  width: 100%;
  height: 200px;
  overflow: auto;
  border-bottom: 1px solid #eeeeee;
  border-top: 0;
  border-radius: 0 0 5px 5px;
}
@media (min-width: 768px) {
  #header-wrap #front-second .tab-pane {
    height: 154px;
  }
}
#header-wrap nav.navbar {
  border-radius: 0;
}
#header-wrap nav.navbar .home-link {
  background-size: 45px 45px;
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: -9999px;
  width: 50px;
  background-image: url("/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/home-icon-blue.png");
}
#header-wrap nav.navbar .home-link:hover, #header-wrap nav.navbar .home-link:focus {
  background-image: url("/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/home-icon-white.png");
}
#header-wrap nav.navbar .home-link.with-text {
  width: auto;
  text-indent: 35px;
}
@media (max-width: 767px) {
  #header-wrap nav.navbar {
    top: 0;
    width: 100%;
    position: fixed;
    border-width: 0 0 1px;
    z-index: 1030;
  }
}
#header-wrap nav.navbar .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  #header-wrap nav.navbar .navbar-collapse {
    max-height: 200px;
  }
}
@media only screen and (min-width: 768px) {
  #header-wrap nav.navbar .dropdown:hover .dropdown-menu {
    display: block;
  }
  #header-wrap nav.navbar .dropdown-submenu {
    position: relative;
  }
  #header-wrap nav.navbar .dropdown-submenu > .dropdown-menu {
    border-radius: 0 6px 6px 6px;
  }
  #header-wrap nav.navbar .dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    display: none !important;
  }
  #header-wrap nav.navbar .dropdown-submenu:hover > .dropdown-menu {
    display: block !important;
  }
  #header-wrap nav.navbar .dropdown-submenu > a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #cccccc;
    margin-top: 5px;
    margin-right: -10px;
  }
  #header-wrap nav.navbar .dropdown-submenu:hover > a:after {
    border-left-color: #ffffff;
  }
  #header-wrap nav.navbar .dropdown-submenu.pull-left {
    float: none;
  }
  #header-wrap nav.navbar .dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    border-radius: 6px 0 6px 6px;
  }
}
@media (min-width: 768px) {
  #header-wrap .navbar {
    border: 0px solid transparent;
  }
  #header-wrap .navbar .navbar-nav > li > a {
    color: #1b71c6;
    font-family: "PT Sans", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", "Apple LiGothic Medium", "LiHei Pro Medium", sans-serif;
    font-weight: bold;
    text-transform: uppercase;
  }
  #header-wrap .navbar .navbar-nav li a:focus, #header-wrap .navbar .navbar-nav li a:hover {
    color: white;
  }
  #header-wrap .navbar, #header-wrap .navbar .dropdown-menu {
    background: white;
    background: transparent\9;
    background: rgba(255, 255, 255, 0.8);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFFFF,endColorstr=#CCFFFFFF);
    zoom: 1;
  }
  #header-wrap .navbar:nth-child(n), #header-wrap .navbar .dropdown-menu:nth-child(n) {
    filter: none;
  }
  #header-wrap .navbar a, #header-wrap .navbar .dropdown-menu a {
    color: #155799;
  }
  #header-wrap .navbar a:hover, #header-wrap .navbar .dropdown-menu a:hover {
    color: white;
  }
}

@media (max-width: 767px) {
  body {
    padding-top: 50px;
    padding-bottom: -20px;
  }
}

#main-wrap .row {
  margin-top: 15px;
  margin-bottom: 15px;
}
#main-wrap .main-content {
  min-height: 340px;
  padding: 15px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  #main-wrap .main-content h1, #main-wrap .main-content .h1 {
    font-size: 30px;
  }
  #main-wrap .main-content h2, #main-wrap .main-content .h2 {
    font-size: 25px;
  }
  #main-wrap .main-content h2.panel-title {
    font-size: 16px;
  }
  #main-wrap .main-content h3, #main-wrap .main-content .h3 {
    font-size: 21px;
  }
  #main-wrap .main-content h4, #main-wrap .main-content .h4 {
    font-size: 16px;
  }
}

#footer-wrap {
  background: white;
  background: transparent\9;
  background: rgba(255, 255, 255, 0.6);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99FFFFFF,endColorstr=#99FFFFFF);
  zoom: 1;
  min-height: 50px;
  padding-top: 15px;
  padding-bottom: 15px;
}
#footer-wrap:nth-child(n) {
  filter: none;
}

.front .not-front-only, .not-front .front-only {
  display: none;
}

@media (max-width: 1599px) {
  .front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-front-1200w.png) no-repeat fixed;
  }
}
@media (min-width: 1600px) {
  .front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-front-1800w.png) no-repeat fixed;
  }
}
@media (min-width: 2200px) {
  .front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-front-full.png) no-repeat fixed;
  }
}

@media (max-width: 1599px) {
  .not-front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-content-1200w.png) no-repeat fixed;
  }
}
@media (min-width: 1600px) {
  .not-front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-content-1800w.png) no-repeat fixed;
  }
}
@media (min-width: 2200px) {
  .not-front {
    background: white url(/20241031050205oe_/https://www.math.cuhk.edu.hk/sites/all/themes/math/img/theme/bg-content-full.png) no-repeat fixed;
  }
}

.front, .not-front {
  -webkit-background-size: 991px;
  -moz-background-size: 991px;
  -o-background-size: 991px;
  background-size: 991px;
  background-position: 10% 0%;
}
@media (min-width: 768px) {
  .front, .not-front {
    -webkit-background-size: 1200px;
    -moz-background-size: 1200px;
    -o-background-size: 1200px;
    background-size: 1200px;
  }
}
@media (min-width: 992px) {
  .front, .not-front {
    background-position: 50% 0%;
  }
}
@media (min-width: 1200px) {
  .front, .not-front {
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    -o-background-size: auto 100%;
    background-size: auto 100%;
  }
}

@media print {
  .admin-menu, .alert {
    display: none;
  }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
  }

  #logo-box * {
    display: block !important;
  }

  a[href]:after {
    content: "";
  }

  #search-lang {
    display: none;
  }

  footer .col-md-8 {
    width: 100%;
  }
  footer .col-md-4 {
    display: none;
  }
  footer #boxes-box-footer_copyright_en {
    border-top: 1px solid #ccc;
    padding-top: 8px;
  }

  .main-content form {
    margin-top: 0;
  }

  .not-front .breadcrumb {
    border: 1px solid #ccc;
    border-width: 1px 0;
    border-radius: 0;
    margin-bottom: 0;
  }
  .not-front .main-content h1.page-header {
    margin-top: 0;
  }
  .not-front header.page-banner {
    display: none;
  }
  .not-front section.col-sm-9 {
    width: 100%;
  }
  .not-front aside.col-sm-3 {
    display: none;
  }

  .front #slogan {
    display: block !important;
  }
  .front #slogan blockquote {
    border: 0;
    min-height: initial !important;
  }
  .front #header-wrap #front-second .tab-pane {
    height: initial;
    border-radius: 0;
    border: 0 !important;
  }
  .front #boxes-box-news_seminar li.active {
    border: 1px solid #ccc;
  }
  .front .cal-sprite {
    font-weight: normal;
    font-size: 1em;
  }
  .front .cal-sprite .sr-only {
    display: block;
    width: 40px;
    height: initial;
    margin: initial;
    padding: initial;
    clip: initial;
    overflow: auto;
    line-height: normal;
  }
  .front #highlight-box {
    display: none;
  }
  .front #main-wrap {
    display: none;
  }

  h2, h3 {
    page-break-after: avoid;
  }

  img {
    max-width: 100% !important;
  }

  ul, img {
    page-break-inside: avoid;
  }

  .main-content a[href^=http]:after {
    content: " (" attr(href) ")";
    font-style: italic;
  }
  .main-content a[href^="#"]:after {
    content: "";
  }

  .panel {
    page-break-inside: avoid;
  }
}
