/* 
    Theme: Atlantica
--  All styles are imported into this main stylesheet
*/
/* 
    Theme: Atlantica
--  Default color variables file
*/
/* 
    Theme: Atlantica
--  Default color variables file
*/
/* 
    Theme: Atlantica
--  Master variables file
*/
/* 
    Theme: Atlantica
--  Theme specific styles
*/
/* 
    Theme: Atlantica
--  Button placeholders
--  Using placeholders rather than mixins cuts down on CSS duplication
--  .my-button {@extend %btn-primary;}
--  Create another file to override these styles if needed
*/
.main-nav-links, .top-nav-bar .nav-container .link-scroll .h-menu a, .top-nav-bar .more-links-div ul a {
  color: #fff;
  background-color: transparent;
  border: none; }
  .main-nav-links:hover, .top-nav-bar .nav-container .link-scroll .h-menu a:hover, .top-nav-bar .more-links-div ul a:hover {
    color: #064429;
    background-color: #DEDEDE; }

.sidebar-slide-menu-links, .slide-menu-right .navbar li a, .slide-menu-right .navbar li #pagePortlets .glyphicons, .slide-menu-right .navbar li #pagePortlets .custom-icon, .slide-menu-right .navbar li #myPages .glyphicons, .slide-menu-right .navbar li #myPages .custom-icon, .slide-menu-right .navbar li #myGroups .glyphicons, .slide-menu-right .navbar li #myGroups .custom-icon, .slide-menu-right .navbar li #myCourses .glyphicons, .slide-menu-right .navbar li #myCourses .custom-icon, .slide-menu-right .navbar li button {
  color: #064429;
  background-color: transparent;
  border: none; }
  .sidebar-slide-menu-links:hover, .slide-menu-right .navbar li a:hover, .slide-menu-right .navbar li #pagePortlets .glyphicons:hover, .slide-menu-right .navbar li #pagePortlets .custom-icon:hover, .slide-menu-right .navbar li #myPages .glyphicons:hover, .slide-menu-right .navbar li #myPages .custom-icon:hover, .slide-menu-right .navbar li #myGroups .glyphicons:hover, .slide-menu-right .navbar li #myGroups .custom-icon:hover, .slide-menu-right .navbar li #myCourses .glyphicons:hover, .slide-menu-right .navbar li #myCourses .custom-icon:hover, .slide-menu-right .navbar li button:hover {
    color: #fff;
    background-color: #064429; }

.dashboard-menu-links li a {
  color: #000;
  background-color: transparent;
  border: none;
  text-decoration: none; }
  .dashboard-menu-links li a:hover {
    color: #fff;
    background-color: #064429; }

.link-secondary {
  color: #3e3e3e; }
  .link-secondary:hover {
    color: #3e3e3e; }

.btn-primary {
  color: #fff;
  background-color: #064429;
  border: none; }
  .btn-primary:hover {
    background-color: #064429; }
  .btn-primary:active {
    background-color: #064429;
    box-shadow: none; }
  .btn-primary:active:hover, .btn-primary:active:focus {
    background-color: #064429; }
  .btn-primary:focus {
    background-color: #064429; }

.btn-no-bg-hover-color-content-one {
  color: #fff;
  background-color: transparent;
  border: none; }
  .btn-no-bg-hover-color-content-one:hover {
    background-color: transparent; }
  .btn-no-bg-hover-color-content-one:active {
    background-color: transparent;
    box-shadow: none; }
  .btn-no-bg-hover-color-content-one:active:hover, .btn-no-bg-hover-color-content-one:active:focus {
    background-color: transparent; }
  .btn-no-bg-hover-color-content-one:focus {
    background-color: transparent; }
  .btn-no-bg-hover-color-content-one:hover, .btn-no-bg-hover-color-content-one:focus {
    color: #fff; }

.btn-no-bg-hover-primary {
  color: #fff;
  background-color: transparent;
  border: none; }
  .btn-no-bg-hover-primary:hover {
    background-color: transparent; }
  .btn-no-bg-hover-primary:active {
    background-color: transparent;
    box-shadow: none; }
  .btn-no-bg-hover-primary:active:hover, .btn-no-bg-hover-primary:active:focus {
    background-color: transparent; }
  .btn-no-bg-hover-primary:focus {
    background-color: transparent; }
  .btn-no-bg-hover-primary:hover, .btn-no-bg-hover-primary:focus {
    color: #064429; }

.btn-success-no-bg-no-hover {
  color: #fff;
  background-color: transparent;
  border: none; }
  .btn-success-no-bg-no-hover:hover {
    background-color: transparent; }
  .btn-success-no-bg-no-hover:active {
    background-color: transparent;
    box-shadow: none; }
  .btn-success-no-bg-no-hover:active:hover, .btn-success-no-bg-no-hover:active:focus {
    background-color: transparent; }
  .btn-success-no-bg-no-hover:focus {
    background-color: transparent; }
  .btn-success-no-bg-no-hover:hover, .btn-success-no-bg-no-hover:focus {
    color: #417505; }

.btn-danger {
  color: #fff;
  background-color: #D33A35;
  border: none; }
  .btn-danger:hover {
    background-color: #D33A35; }
  .btn-danger:active {
    background-color: #D33A35;
    box-shadow: none; }
  .btn-danger:active:hover, .btn-danger:active:focus {
    background-color: #D33A35; }
  .btn-danger:focus {
    background-color: #D33A35; }

.btn-success {
  color: #fff;
  background-color: #417505;
  border: none; }
  .btn-success:hover {
    background-color: #417505; }
  .btn-success:active {
    background-color: #417505;
    box-shadow: none; }
  .btn-success:active:hover, .btn-success:active:focus {
    background-color: #417505; }
  .btn-success:focus {
    background-color: #417505; }

.btn-primary-toggle {
  color: #fff;
  background-color: #064429;
  border: 1px solid #064429;
  box-shadow: none; }
  .btn-primary-toggle:hover {
    color: #fff;
    background-color: #064429; }
  .btn-primary-toggle:active {
    background-color: #064429;
    box-shadow: none; }
  .btn-primary-toggle:active:hover, .btn-primary-toggle:active:focus {
    background-color: #064429; }
  .btn-primary-toggle:focus {
    background-color: #064429; }
  .btn-primary-toggle .btn.active {
    box-shadow: none; }

.btn-default-toggle {
  color: #fff;
  background-color: #666666;
  border: 1px solid #666666;
  box-shadow: none; }
  .btn-default-toggle:hover {
    color: #fff;
    background-color: #666666; }
  .btn-default-toggle:active {
    background-color: #666666;
    box-shadow: none; }
  .btn-default-toggle:active:hover, .btn-default-toggle:active:focus {
    background-color: #666666; }
  .btn-default-toggle:focus {
    background-color: #666666; }
  .btn-default-toggle .btn.active {
    box-shadow: none; }

.btn-danger-toggle {
  color: #fff;
  background-color: #D33A35;
  border: 1px solid #D33A35;
  box-shadow: none; }
  .btn-danger-toggle:hover {
    color: #fff;
    background-color: #D33A35; }
  .btn-danger-toggle:active {
    background-color: #D33A35;
    box-shadow: none; }
  .btn-danger-toggle:active:hover, .btn-danger-toggle:active:focus {
    background-color: #D33A35; }
  .btn-danger-toggle:focus {
    background-color: #D33A35; }
  .btn-danger-toggle .btn.active {
    box-shadow: none; }

.btn-success-toggle {
  color: #fff;
  background-color: #417505;
  border: 1px solid #417505;
  box-shadow: none; }
  .btn-success-toggle:hover {
    color: #fff;
    background-color: #417505; }
  .btn-success-toggle:active {
    background-color: #417505;
    box-shadow: none; }
  .btn-success-toggle:active:hover, .btn-success-toggle:active:focus {
    background-color: #417505; }
  .btn-success-toggle:focus {
    background-color: #417505; }
  .btn-success-toggle .btn.active {
    box-shadow: none; }

.btn-alternate-one {
  color: #fff;
  background-color: #6b6b6b;
  border: 1px solid #6b6b6b; }
  .btn-alternate-one:hover, .btn-alternate-one:focus {
    color: #fff;
    box-shadow: none; }

.btn-alternate-two {
  color: #000;
  background-color: #fff;
  border: 1px solid #6b6b6b; }
  .btn-alternate-two:hover, .btn-alternate-two:focus {
    color: #000;
    box-shadow: none; }

.btn-primary-jquery-ui-override {
  font-family: Open Sans !important;
  color: #fff !important;
  background: #064429 !important;
  border: none !important;
  text-shadow: none !important; }
  .btn-primary-jquery-ui-override:hover {
    background-color: #064429 !important; }
  .btn-primary-jquery-ui-override:active {
    background-color: #064429 !important;
    box-shadow: none !important; }
  .btn-primary-jquery-ui-override:active:hover, .btn-primary-jquery-ui-override:active:focus {
    background-color: #064429 !important; }
  .btn-primary-jquery-ui-override:focus {
    background-color: #064429 !important; }

.btn-danger-jquery-ui-override {
  font-family: Open Sans !important;
  color: #fff !important;
  background: #D33A35 !important;
  border: none !important;
  text-shadow: none !important; }
  .btn-danger-jquery-ui-override:hover {
    background-color: #D33A35 !important; }
  .btn-danger-jquery-ui-override:active {
    background-color: #D33A35 !important;
    box-shadow: none !important; }
  .btn-danger-jquery-ui-override:active:hover, .btn-danger-jquery-ui-override:active:focus {
    background-color: #D33A35 !important; }
  .btn-danger-jquery-ui-override:focus {
    background-color: #D33A35 !important; }

.link-btn {
  color: #064429;
  background: none;
  border: none; }
  .link-btn:focus {
    border: 1px solid #064429; }

.link-btn-jquery-ui-btn-override {
  font-family: Open Sans !important;
  color: #064429 !important;
  text-decoration: underline !important;
  background: none !important;
  border: none !important;
  text-shadow: none !important; }

a.disabled {
  color: #575757; }

/* 
    Theme: Atlantica
--  Utility color specific styles
--  Create another file to override these styles if needed
*/
/* 
    Theme: Atlantica
--  Base colors
--  Create another file to override these styles if needed
*/
.primary {
  color: #064429; }

.accent {
  color: #064429; }

.color-content-one {
  color: #fff; }

.color-content-two {
  color: #000; }

.warning-content {
  color: #fffde5; }

.secondary-content {
  color: #DEDEDE; }

.secondary-alternate-content-one {
  color: #5f5f5f; }

.danger {
  color: #D33A35; }

.danger.inactive-description {
  color: #af2a26; }

.fooicon-trash.danger,
.delete-tag.danger {
  color: #af2a26; }

.error {
  color: #D33A35; }

.success {
  color: #417505; }

.most-popular {
  color: #417505; }

.popular {
  color: #5ca607; }

.average {
  color: #e5d300; }

.below-average {
  color: #dc635f; }

.poor {
  color: #D33A35; }

.feedback {
  color: #265B8C; }

.caution {
  color: #fc9002; }

.danger-alternate-content-one {
  color: #af2a26; }

.body-text {
  color: #575757; }

.body-text-alternate-one {
  color: #bdbdbd; }

.disabled-link {
  color: #5f5f5f; }

.text-link {
  color: #265B8C; }

.color-background-one {
  background-color: #fff; }

.color-background-two {
  background-color: #000; }

.primary-background {
  background-color: #064429; }

.primary-alternate-background-one {
  background-color: #88f4c5; }

.primary-alternate-background-two {
  background-color: rgba(6, 68, 41, 0.18); }

.secondary-alternate-background-one {
  background-color: whitesmoke; }

.secondary-alternate-background-two {
  background-color: #d9d9d9; }

.secondary-background {
  background-color: #DEDEDE; }

.secondary-alternate-background-three {
  background-color: #ababab; }

.secondary-alternate-background-four {
  background-color: #6b6b6b; }

.warning-background {
  background-color: #fffde5; }

.highlight-background {
  background-color: #fffde5; }

.success-background {
  background-color: #77d709; }

.transparent-background {
  background-color: transparent; }

.my-popup-info-modal-header-background {
  background-color: #064429; }

.default-border {
  border-color: #DEDEDE; }

.default-top-border {
  border-top-color: #DEDEDE; }

.default-right-border {
  border-right-color: #DEDEDE; }

.default-bottom-border {
  border-bottom-color: #DEDEDE; }

.default-left-border {
  border-left-color: #DEDEDE; }

.default-border-alternate-one {
  border-color: #ababab; }

.default-top-border-alternate-one {
  border-top-color: #ababab; }

.default-right-border-alternate-one {
  border-right-color: #ababab; }

.default-bottom-border-alternate-one {
  border-bottom-color: #ababab; }

.default-left-border-alternate-one {
  border-left-color: #ababab; }

.primary-border {
  border-color: #064429; }

.primary-top-border {
  border-color: #064429; }

.primary-right-border {
  border-color: #064429; }

.primary-bottom-border {
  border-color: #064429; }

.primary-left-border {
  border-color: #064429; }

.warning-border {
  border-color: #fffde5; }

.warning-alternate-border-one {
  border-color: #e5d300; }

.success-border {
  border-color: #417505; }

.transparent-border {
  border-color: transparent; }

/* 
    Theme: Atlantica
--  Base mobile colors specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .portlet-style-override .primary-hover-state {
    color: inherit; }
    .portlet-style-override .primary-hover-state:hover {
      color: #fff;
      background-color: #064429; }
  .portlet-style-override .color-background-one.override-hover-state {
    color: #fff;
    background-color: #064429; }
    .portlet-style-override .color-background-one.override-hover-state:hover {
      color: #fff;
      background-color: #064429; }
  .secondary-alternate-background-mobile-one {
    background-color: whitesmoke; }
  .user-image-shape {
    border-color: #fff; }
  .my-profile-settings .user-image-shape {
    border-color: #064429; } }

/* 
    Theme: Atlantica
--  Button color specific styles
--  Create another file to override these styles if needed
*/
.dashboard-menu-links li a.active-content-color {
  color: #fff; }

button:focus, button.btn:focus {
  outline: 2px solid #ababab; }

.btn-border {
  border: 1px solid #ababab; }

/* 
    Theme: Atlantica
--  Base colors specific styles
--  Create another file to override these styles if needed
*/
body {
  color: #575757;
  background: #fff; }

a {
  color: #265B8C; }
  a:hover {
    color: #265B8C; }
  a:focus {
    color: #064429;
    outline: 2px solid #ababab;
    outline-offset: 2px; }

a.btn:focus,
input.btn:focus,
label.btn.on-focus {
  outline: 2px solid #ababab;
  outline-offset: 2px; }

.accsessibility-highlight {
  outline: 2px solid #ababab;
  outline-offset: 2px; }

a.success {
  color: #417505; }
  a.success:hover, a.success:focus {
    color: #417505; }

.feedbackError {
  color: #D33A35; }

caption {
  color: #242424; }

.user-image-shape {
  border-color: #064429; }

.push-icon-shape {
  border-color: #064429; }

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
  background-color: #064429; }

.pagination > li > a {
  color: #064429; }

.choose-file {
  color: #fff;
  background-color: #064429; }

.error-message {
  color: #D33A35;
  background: #fff;
  border-color: #DEDEDE; }

.page-title-btn {
  background-color: #064429; }

.footer-wrapper {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #ababab; }

h5 {
  border-bottom-color: #DEDEDE; }

/* 
    Theme: Atlantica
--  Base mobile colors specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .portlet-style-override .primary-hover-state {
    color: inherit; }
    .portlet-style-override .primary-hover-state:hover {
      color: #fff;
      background-color: #064429; }
  .portlet-style-override .color-background-one.override-hover-state {
    color: #fff;
    background-color: #064429; }
    .portlet-style-override .color-background-one.override-hover-state:hover {
      color: #fff;
      background-color: #064429; }
  .secondary-alternate-background-mobile-one {
    background-color: whitesmoke; }
  .user-image-shape {
    border-color: #fff; }
  .my-profile-settings .user-image-shape {
    border-color: #064429; } }

/* 
    Theme: Atlantica
--  Portlet color specific styles
--  Create another file to override these styles if needed
*/
.portlet-grid .portlet-header-bar {
  background: #064429; }
  .portlet-grid .portlet-header-bar h3,
  .portlet-grid .portlet-header-bar a {
    color: #fff; }

.portlet-grid .portlet {
  border: 1px solid #DEDEDE; }

.portlet-grid .singlePortlet {
  border: none; }

.portlet-grid .alt {
  background: #d6d6d6; }

.portlet-grid .pagination {
  border: none; }
  .portlet-grid .pagination li {
    background: transparent;
    border: none; }

.portlet-grid .display-order-row {
  background-color: #f8f8f8; }

.portlet-grid .display-order-row.alternatve-item {
  background-color: #fff; }

.portlet-grid .choose-file-btns .btn-primary {
  color: #333333;
  background-color: #fff;
  border-color: #b3b3b3; }
  .portlet-grid .choose-file-btns .btn-primary:hover {
    background-color: #dedede;
    border-color: #b3b3b3;
    color: #333333; }
  .portlet-grid .choose-file-btns .btn-primary:focus {
    color: #333333;
    background-color: #dedede; }
  .portlet-grid .choose-file-btns .btn-primary:active {
    background-color: #dedede;
    border-color: #b3b3b3;
    color: #333333; }
  .portlet-grid .choose-file-btns .btn-primary:active:hover {
    color: #333333;
    background-color: #dedede; }

.portlet-grid .choose-file-btns li.active a {
  background-color: #dedede;
  border-color: #b3b3b3; }

.pa-roleContentMenu li a.allowedButton.selected {
  background-color: whitesmoke;
  border: 1px solid #417505;
  color: #417505; }

.pa-roleContentMenu li a.allowedButton.byInheritance.selected {
  background: url("./images/portlet-images/icon/white_check.gif") 8px 10px no-repeat #417505; }

.pa-roleContentMenu li a.notallowedButton.selected {
  background-color: whitesmoke;
  border: 1px solid #D33A35;
  color: #D33A35; }

.pa-roleContentMenu li a.notallowedButton.selected .pointer {
  border-left: 16px solid whitesmoke; }

.pa-roleContentMenu li a.notallowedButton.selected .pointerBorder {
  border-left: 17px solid #D33A35; }

.selected .pointer {
  border-bottom: 16px solid transparent;
  border-top: 16px solid transparent;
  border-left: 16px solid whitesmoke; }

.selected .pointerBorder {
  border-bottom: 17px solid transparent;
  border-top: 17px solid transparent;
  border-left: 17px solid #417505; }

.availablePage:hover .hoverHint, a.availableLayout:hover .hoverHint, .PageLayoutPanel .availableLayout.selected .hoverHint {
  color: #575757; }

.PageLayoutPanel .availableLayout.selected {
  Border: 1px solid #417505;
  background-color: #fffde5;
  cursor: none; }

.buttonBar {
  background-color: #DEDEDE; }

.buttonBarCentered {
  background-color: #DEDEDE; }

.buttonBarCenteredVer2 {
  background-color: #88f4c5; }

.buttonBarCenteredVer2 input {
  padding: 3px 15px; }

.buttonBarCenteredVer2 input.enhanced {
  font-weight: bold; }

.groupedGrid {
  border-bottom: solid 1px #ababab;
  background: #DEDEDE; }

.groupedGrid thead, .groupedGrid .ghead {
  background: #DEDEDE;
  font-weight: bold; }

.groupedGrid thead tbody {
  background: #DEDEDE; }

.groupedGrid th {
  background-color: whitesmoke; }

.groupedGrid tfoot, .subheader, .subfooter {
  background-color: whitesmoke; }

.groupedGrid tfoot tbody {
  background-color: whitesmoke; }

.groupedGrid_VerticalHeader {
  background-color: whitesmoke; }

.groupedGrid tr.subGroup td {
  font-weight: bold; }

.groupedGrid tr.subItem td {
  border-top: dashed 1px #ababab; }

.groupedGrid th a,
.groupedGrid th a:link,
.groupedGrid th a:visited {
  color: #000; }

.groupedGrid th a:hover {
  color: #575757; }

.groupedGrid tbody {
  background: #fff; }

.groupedGrid tbody tr td.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.alt td.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.althighlight {
  background: #fffde5; }

.groupedGrid tbody tr td.alt {
  background: whitesmoke; }

.groupedGrid tbody tr.alt td.alt {
  background: #DEDEDE; }

.groupedGrid thead tr th.highlight {
  background: #000;
  color: #fff; }

.groupedGrid .error {
  color: #D33A35; }

.groupedGrid .disable {
  color: #575757; }

.groupedGrid .disable td input {
  color: #575757; }

.groupedGrid .disable td a:link {
  color: #575757; }

.groupedGrid .disable td a:visited {
  color: #575757; }

.groupedGrid .disable td a:active {
  color: #575757; }

.groupedGrid .innerTable {
  background: #DEDEDE; }

.cal img {
  cursor: pointer; }

div.originalDiv {
  border: 1px solid #ababab;
  background-color: #fff; }

.hint {
  background-color: #ebebeb;
  border: 1px solid #DEDEDE; }

.pToolbar ul {
  border-bottom: 1px solid #DEDEDE; }

/* Styles for Menu Items */
.pToolbar a,
.pToolbar a:link,
.pToolbar a:visited {
  color: #fff;
  background: #064429;
  /* IE6 needs this */ }

.pToolbar .menu a.hasKids {
  background: #064429 url(./images/toolbar_rightarrow.gif) center right no-repeat; }

.pToolbar a:hover,
.pToolbar a.active,
.pToolbar .pTool a:hover,
.pToolbar .pTool a.active {
  color: #fff;
  background-color: #064429; }

/* End */
.pToolbar {
  background: #064429;
  color: #fff;
  border-top: solid 1px #ebebeb; }

.pToolbar .pTool {
  border-right: solid 1px #ebebeb; }

.pToolbar .menu a,
.pToolbar .menu a:link,
.pToolbar .menu a:visited {
  border: 1px solid #DEDEDE; }

.pToolbar li.off a,
.pToolbar li.off a:link,
.pToolbar li.off a:visited,
.pToolbar li.off a:hover,
.pToolbar li.off a.active,
.pToolbar .pTool li.off a:hover,
.pToolbar .pTool li.off a.active {
  background-color: rgba(6, 68, 41, 0.18);
  color: #000; }

.cpHeader {
  color: #fff;
  background-color: #88f4c5; }

.cpBody {
  background-color: #fff; }

.cpLbl {
  color: #064429; }

.cpTxt {
  color: #417505; }

div.cp div.cpHead {
  background: #DEDEDE; }

.dateRangeEdit div.opt a,
.dateRangeEdit div.opt a:link,
.dateRangeEdit div.opt a:visited {
  color: #000; }

.dateRangeEdit div.opt a:hover {
  color: #064429; }

.dateRangeEdit div.opt label:hover {
  color: #064429; }

#AccessiblityPopup .optionContainer span {
  background: url("images/admin/accessbility-icons.png") no-repeat scroll left top rgba(0, 0, 0, 0); }

.contentTabs ul {
  border-bottom: 1px solid #ababab; }

.contentTabs li {
  border: solid 1px #ababab;
  border-bottom: none;
  background: #DEDEDE; }

.contentTabs li.selected {
  border-color: #ababab;
  background: #fff; }

div.tabbox {
  border-color: #ababab; }

div.thumbDiv {
  border: 1px solid #ababab;
  padding: 2px;
  float: left;
  z-index: 2; }

div#action {
  border: 1px solid #ababab;
  background-color: whitesmoke; }

.multiUp table {
  background: whitesmoke; }

.multiUp table thead {
  background: #DEDEDE; }

#tblUserSelector .largehint {
  background-color: whitesmoke;
  border: 1px solid #ababab; }

#tblUserSelector #userSelectorCell .userlistTitleCell {
  background-color: #DEDEDE; }

.error {
  color: #D33A35;
  font-weight: bold; }

.glyphicons.glyphicons-minus-sign.delete-ordered-item {
  color: #D33A35; }

.glyphicon.glyphicon-ok.approve-ordered-item {
  color: #417505; }

.multi-file-upload .header-row {
  background-color: #DEDEDE; }

.MyPagesSetup .glyphicons.glyphicons-circle-arrow-right, .MyPagesSetup .glyphicons.glyphicons-circle-arrow-left {
  color: #064429; }

.RssPortlet .rss-folder {
  color: #064429; }

.RssPortlet .custom-icon.icon-rss {
  color: #064429; }

.RssPortlet .categories-and-feed-header-row {
  color: #064429; }

.RssPortlet .categories-and-feed, .RssPortlet .rss-feed-item-alt-row {
  background-color: whitesmoke; }

.RssPortlet .item-header {
  background-color: #DEDEDE; }

.RssPortlet .category-header {
  color: #000; }

.forums-portlet .single-post-container .original-post-row a {
  color: #fff; }

.forums-portlet .alternate-post {
  background-color: whitesmoke; }

.forums-portlet .original-post.alternate-post {
  background-color: #dae3df; }

.forums-portlet .original-post {
  background-color: #dae3df; }

.forums-portlet .unread-post {
  background-color: #eaf9e6; }

.forums-portlet .requires-approval,
.forums-portlet .original-post.requires-approval,
.forums-portlet .unread-post.requires-approval,
.forums-portlet .original-post.unread-post.requires-approval {
  background-color: #fffde5; }

.forums-portlet .secondary-alternate-background-one.original-post-row.primary-background {
  background-color: #064429; }

.sharedToolsListRepeaterItemContainer:hover {
  background-color: whitesmoke;
  border: 1px solid #064429; }

.toolsListRepeaterItemContainer:hover {
  background-color: #88f4c5;
  border: 1px solid #064429; }

.featuredToolsListRepeaterItemContainer:hover {
  background-color: #88f4c5;
  border: 1px solid #064429; }

table.assignmentGrid.itemHover tr:hover,
table.assignmentGrid.itemHover tr:hover td {
  border: 1px solid #064429;
  background-color: #88f4c5; }

table.assignmentGrid th {
  border: 1px solid #DEDEDE;
  background-color: whitesmoke; }

table.assignmentGrid td {
  border: 1px solid #DEDEDE; }

.inlineLink:hover {
  border-color: #064429; }

.meetingPortlet .goToMeetingLink {
  border: 1px solid #DEDEDE;
  background: linear-gradient(top, whitesmoke, #DEDEDE); }

.previousMeetingTable tr:hover {
  background-color: #88f4c5; }

.meetingPortlet .modalDiv {
  background-color: #fff;
  border: 1px solid #000;
  box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.5); }

.meetingPortlet .modalPopup {
  background-color: #DEDEDE;
  filter: Alpha(Opacity=70);
  opacity: 0.7; }

.meetingPortlet .modalHeading {
  background-color: whitesmoke; }

.meetingPortlet .innerModal {
  border: 1px solid #d9d9d9;
  background-color: whitesmoke; }

.chat-portlet.chat-wrapper .message-info.lastActivity.start > td.name {
  border-bottom: 1px solid #DEDEDE; }

.chat-portlet.chat-wrapper .message-info.repeat.end > td.name {
  border-bottom: 1px solid #DEDEDE; }

.chat-portlet.chat-wrapper .table > tbody > tr > td.time-stamp {
  border-bottom: 1px solid #DEDEDE;
  border-top: 1px solid #DEDEDE; }

.chat-portlet.chat-wrapper .table > tbody > tr > td.message {
  border-bottom: 1px solid #DEDEDE;
  border-top: 1px solid #DEDEDE; }

.courseOrgPortlet .linkButton {
  color: #064429; }

div.assignmentTitle.unitPast span {
  color: #575757; }

table.assignmentGrid.itemHover tr:hover,
table.assignmentGrid.itemHover tr:hover td,
table.cwkTableDisplay.itemHover tr:hover td,
table.reorder.itemHover tr:hover,
table.reorder.itemHover tr:hover td {
  border: 1px solid #DEDEDE;
  background-color: #DEDEDE; }

.CourseworkPortlet table.cwkTableDisplay th,
.CourseworkPortlet table.assignmentGrid th {
  border: 1px solid #DEDEDE;
  background-color: #DEDEDE; }

.CourseworkPortlet table.cwkTableDisplay td,
.CourseworkPortlet table.assignmentGrid td {
  border: 1px solid #DEDEDE; }

div.assignmentDisplay:hover {
  border-color: #DEDEDE;
  background-color: #88f4c5; }

div.assignmentDisplay.closed, a.assignmentDisplay.closed {
  color: #575757; }

div.assignmentDisplay.closed a {
  color: #575757; }

div.assignmentDisplay.late {
  background-color: #fffde5; }

div.assignmentDisplay.retake {
  background-color: #88f4c5; }

div.assignmentDisplay.new {
  background-color: #c1fa7f; }

div.assignmentDisplay.newlyOpen {
  background-color: #c1fa7f; }

div.assignmentDisplay.newFeedback {
  background-color: #c1fa7f; }

div.detailInfo.studentInfo:hover {
  background-color: #88f4c5;
  border: 1px solid #DEDEDE; }

div.detailInfoLink:hover {
  background-color: whitesmoke;
  border: 1px solid #DEDEDE; }

div.assignmentStepHeader.expandable:hover {
  background-color: whitesmoke;
  border: 1px solid #ababab; }

div.menuContent, .moreHover {
  background-color: whitesmoke; }

div.detailAction div.detailActionDeleteAssignment span {
  color: #D33A35; }

div.feedbackMessage.notVisible span {
  color: #064429; }

a.selectAssignment:hover {
  background-color: whitesmoke;
  border: 1px solid #DEDEDE; }

.assignmentFormat {
  border-color: #fff; }

.assignmentFormat:hover {
  background-color: whitesmoke;
  border-color: #DEDEDE; }

table.reorderHeader th.assignMetaOrgHeader, table.reorderHeader th.assignMetaDate {
  border-left: 1px solid #DEDEDE; }

.timeBarNormal.open {
  color: #417505; }

div.imgGallery span {
  color: #575757; }

div.richText div.equation img, div.editEquation div.equation img,
div.questionTypeDisplay div.equation img {
  border: 1px solid #DEDEDE; }

.questionTable tr.distractor.multiAdd td {
  background-color: whitesmoke;
  border-bottom: 1px dashed #DEDEDE; }

div.testHeader li.timeRemaining.cwk-taketest-warning {
  background-color: white; }

div.testHeader li.exitTest a {
  color: #D33A35; }

div.reviewFooter a {
  color: #D33A35; }

.CourseworkPortlet .matchDisplayTable td {
  border: 1px solid #DEDEDE; }

ul.sortable li {
  border: 1px solid #DEDEDE;
  background: #fff; }

ul.sortable li.sortableHighlight {
  background-color: #fffde5;
  border: 1px solid #e5d300; }

div.bonusModal div.classicModal-innerModal {
  border-color: #DEDEDE; }

div.bonusModal div.classicModal-innerModal div.classicModal-modalHeading {
  background-color: whitesmoke;
  color: #fff; }

div.openAssignment span.assignmentStatus strong {
  color: #064429; }

div.lateAssignment span.assignmentStatus strong {
  color: #D33A35; }

div.reviewQuestions div.questionDisplay.showCollapse div.collapseGradeDisplay:hover,
div.reviewQuestions div.questionDisplay.showExpand div.expandGradeDisplay:hover {
  border: 1px solid #DEDEDE; }

div.collapseGradeDisplay.zero, div.expandGradeDisplay.zero, table.multiReview .incorrect {
  border: 1px solid #D33A35;
  background-color: whitesmoke; }

div.expandFooter div.feedbackContainer:hover {
  background-color: whitesmoke;
  border: 1px solid #DEDEDE; }

.CourseworkPortlet td.correct {
  color: #417505; }

.CourseworkPortlet div.correct {
  color: #417505; }

td.incorrect {
  color: #D33A35; }

div.incorrect {
  color: #D33A35; }

td.partial {
  color: #575757; }

.forumAssignmentSummarySubHeader a, .forumAssignmentSummarySubHeader a:visited, .forumAssignmentSummarySubHeader a:cwk-active {
  color: #575757; }

.forumAssignmentSummaryControlValid span {
  color: #575757; }

a.turnInAssignment, a.turnInAssignment:link, a.turnInAssignment:visited {
  color: #fff; }

span.waitAttempt {
  background-color: whitesmoke;
  border-color: #DEDEDE;
  color: #575757; }

a.uploadFile, a.uploadFile:link, a.uploadFile:visited, a.startAttempt span, a.startAttempt:visited span, a.startAttempt:link span {
  color: #064429; }

.onlineAssignmentAttempts a, .onlineAssignmentAttempts a:visited, .onlineAssignmentAttempts a:cwk-active, .onlineAssignmentAttempts a:link {
  color: #575757; }

.onlineAssignmentAttempts li.ignored a, div.retakeGradeContainer.ignored, div.retakeGradeContainer.ignored .retakeGrade {
  color: #575757; }

.CourseworkPortlet .gradeAssignment.notGraded {
  background-color: #fffde5; }

div.overrideDisplay:hover {
  background-color: whitesmoke;
  border: 1px solid #DEDEDE; }

.passwordStrength1 {
  background-color: #fffde5; }

.passwordStrength2 {
  background-color: #fff9b2; }

.passwordStrength3 {
  background-color: #fff57f; }

.passwordStrength4 {
  background-color: #e5d300; }

.passwordStrength5 {
  background-color: #4c4600; }

.secureBrowserInfo .returnLink {
  background-color: #88f4c5;
  border: 1px solid #DEDEDE; }

.CourseworkPortlet .override-modal-error {
  color: #D33A35; }

div.manualGradeFinal b {
  color: #D33A35; }

.selectiveRelease-ruleSelector-groupHeader:before {
  background: #000; }

.selectiveRelease-ruleSelector-row:before {
  background: #000; }

.selectiveRelease-ruleSelector-row:last-child:before {
  background: #000; }

.selectiveRelease-ruleSelector-row:after {
  background: #000; }

input.selectiveRelease-ruleSelector-validationFailed {
  border: solid 2px #D33A35; }

.selectiveRelease-ruleSelector-ignoredRule {
  background-color: white; }

.selectiveRelease-ruleSelector-selectAssignmentButton {
  color: #064429; }

.selectiveRelease-ruleSelector-assignmentLink {
  color: #064429; }

.portlet-grid .portlet .rubric tr.staticGrid-columnHeader th.staticGrid-rowLabelColumn:first-child {
  background-color: #ababab;
  color: #fff; }

.portlet-grid .portlet .rubric .staticGrid-dataColumn {
  background: #fff; }

.portlet-grid .portlet .rubric .staticGrid-rowLabelColumn,
.portlet-grid .portlet .rubric .staticGrid-rowLabelColumn.selecting {
  background-color: #88f4c5; }

.portlet-grid .portlet .rubric td.selected,
.portlet-grid .portlet .rubric td.selected.selecting {
  background: none repeat scroll 0 0 #ffffe5;
  border: 2px solid #e7d937; }

.portlet-grid .portlet .rubric-editing *:not(.mce-btn) > button {
  color: #000; }

.portlet-grid .portlet .rubric-editing tr.staticGrid-dataRow th.staticGrid-rowLabelColumn {
  background: #fff; }

.portlet-grid .portlet .rubric-editing tr.staticGrid-columnHeader th.staticGrid-dataColumn {
  background: #fff; }

.portlet-grid .portlet .rubric-editing tr > th.staticGrid-dataColumn.panelEditor-formView,
.portlet-grid .portlet .rubric-editing tr > th.staticGrid-rowLabelColumn.panelEditor-formView {
  background: whitesmoke; }

.portlet-grid .portlet .rubric-editing .addScoreOverrideButton .link {
  color: #575757; }

.portlet-grid .portlet .rubric-editing .panelEditor-formView label.rubric-validationFailure {
  color: #D33A35; }

.portlet-grid .portlet .rubric-editing .panelEditor-formView input.rubric-validationFailure {
  border: solid 3px #D33A35; }

.rubric .panelEditor-formView .panelEditor-saveButton {
  color: #575757;
  background-color: #064429;
  border-bottom: 0.1em solid #DEDEDE;
  border-right: 0.1em solid #DEDEDE;
  border-top: 0.1em solid #DEDEDE;
  border-left: 0.1em solid #DEDEDE; }

.rubric .panelEditor-formView .panelEditor-saveButton:hover {
  background-color: #064429; }

.rubric .panelEditor-formView .panelEditor-cancelButton {
  color: #064429; }

.rubric .panelEditor-formView .panelEditor-cancelButton:hover {
  color: #064429; }

.rubric .panelEditor-formView .deleteButton {
  color: #D33A35; }

.portlet-grid .portlet .rubric-editing tr > *:last-child {
  background: #fffde5;
  border: solid 1px #DEDEDE; }

.portlet-grid .portlet .rubric-editing > tbody > tr:last-child > * {
  background: #fffde5;
  border: solid 1px #DEDEDE; }

.portlet-grid .portlet .rubric-grading td.selecting,
.portlet-grid .portlet .rubric-grading th.selecting {
  background: whitesmoke; }

.rubric:not(.rubric-grading) .facultyComment,
.rubric-grading .facultyComment.panelEditor-displayView .commentText {
  background: #fff;
  border: 1px solid #064429; }

.rubric:not(.rubric-grading) .facultyComment:after,
.rubric-grading .facultyComment.panelEditor-displayView .commentText:after {
  border-left-color: #fff; }

.rubric:not(.rubric-grading) .facultyComment:before,
.rubric-grading .facultyComment.panelEditor-displayView .commentText:before {
  border-left-color: #064429; }

.rubric-grading .facultyComment *:not(.mce-btn) > button {
  color: #575757; }

.gradebookPortlet .fullGradebookGrid tr.superheaderRow > th {
  background-color: #DEDEDE; }

.gradebookPortlet .fullGradebookGrid .gradeItemColumn .droppedGrade {
  color: #575757; }

.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.gradeItemColumn.altColumn {
  background-color: #88f4c5; }

.gradebookPortlet .fullGradebookGrid tbody > tr.alt:hover > td,
.gradebookPortlet .fullGradebookGrid tbody > tr.alt:hover > td.gradeItemColumn.altColumn {
  background-color: #88f4c5; }

.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.studentColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.hoverColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.hoverColumn.altColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr.alt:hover > td.hoverColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr.alt:hover > td.hoverColumn.altColumn {
  background-color: whitesmoke; }

.gradebookPortlet .fullGradebookGrid thead > tr > th.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid thead > tr > th.gradeItemColumn.hoverColumn.altColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.gradeItemColumn.altColumn,
.gradebookPortlet .fullGradebookGrid tfoot > tr > td.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid tfoot > tr > td.gradeItemColumn.hoverColumn.altColumn {
  border-top: double 1px #064429;
  border-bottom: double 1px #064429; }

.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td:first-child,
.gradebookPortlet .fullGradebookGrid tr > th.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid tr > th.gradeItemColumn.hoverColumn.altColumn,
.gradebookPortlet .fullGradebookGrid tr > td.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid tr > td.gradeItemColumn.hoverColumn.altColumn {
  border-left: double 1px #064429; }

.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.studentColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td:last-child,
.gradebookPortlet .fullGradebookGrid tr > th.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid tr > th.gradeItemColumn.hoverColumn.altColumn,
.gradebookPortlet .fullGradebookGrid tr > td.gradeItemColumn.hoverColumn,
.gradebookPortlet .fullGradebookGrid tr > td.gradeItemColumn.hoverColumn.altColumn {
  border-right: double 1px #064429; }

.gradebookPortlet .fullGradebookGrid thead > tr.superheaderRow > th.altColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr.alt > td.altColumn,
.gradebookPortlet .fullGradebookGrid tfoot > tr > td.altColumn {
  background-color: #DEDEDE; }

.gradebookPortlet .fullGradebookGrid tbody > tr > td.altColumn {
  background-color: #DEDEDE; }

.gradebookPortlet .fullGradebookGrid .previousButtonColumn,
.gradebookPortlet .fullGradebookGrid .nextButtonColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.previousButtonColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.nextButtonColumn {
  border: solid 2px #064429; }

.gradebookPortlet .fullGradebookGrid tr.superheaderRow > th.previousButtonColumn,
.gradebookPortlet .fullGradebookGrid tr.superheaderRow > th.nextButtonColumn,
.gradebookPortlet .fullGradebookGrid .previousButtonColumn,
.gradebookPortlet .fullGradebookGrid .nextButtonColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.previousButtonColumn,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.nextButtonColumn {
  background-color: #88f4c5; }

.gradebookPortlet .fullGradebookGrid tr.superheaderRow > th.previousButtonColumn.gbk-disabled,
.gradebookPortlet .fullGradebookGrid tr.superheaderRow > th.nextButtonColumn.gbk-disabled,
.gradebookPortlet .fullGradebookGrid .previousButtonColumn.gbk-disabled,
.gradebookPortlet .fullGradebookGrid .previousButtonColumn.gbk-disabled:hover,
.gradebookPortlet .fullGradebookGrid .nextButtonColumn.gbk-disabled,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.previousButtonColumn.gbk-disabled,
.gradebookPortlet .fullGradebookGrid tbody > tr:hover > td.nextButtonColumn.gbk-disabled {
  background-color: whitesmoke;
  border-color: #DEDEDE; }

.gradebookPortlet .navBar.fullGradebookNavBar #FullGradebookTab,
.gradebookPortlet .navBar.evaluationsNavBar #EvaluationsTab,
.gradebookPortlet .navBar.letterGradeAdminNavBar #GradeLetterTab,
.gradebookPortlet .navBar.weightingNavBar.hideExpandedTab #WeightingTab {
  background-color: #fff; }

.gradebookPortlet .navBar.attendanceDetailNavBar #EvaluationsTab,
.gradebookPortlet .navBar.evaluationDetailNavBar #EvaluationsTab {
  background-color: #fffde5; }

.gradebookPortlet .navBar.weightingNavBar #WeightingTab {
  background-color: whitesmoke; }

.gradebookPortlet .weightingListControl .missingWeight {
  background-color: #fffde5; }

.gradebookPortlet .weightingListControl tr.missingChildItemWeight > td.itemNameColumn {
  background-color: #fffde5; }

.gradebookPortlet .weightingListControl.allowWeightEntry .itemWeightList > tbody > tr.missingWeightRow .weightColumn,
.gradebookPortlet .weightingListControl.allowWeightEntry.missingWeight .itemWeightList > tfoot > tr {
  background-color: #fffde5; }

.gradebookPortlet .weightingListControl.allowWeightEntry.invalidTotalWeight table.itemWeightList > tfoot > tr {
  background-color: #fffde5; }

.gradebookPortlet .weightingListControl.allowWeightEntry.invalidTotalWeight table.itemWeightList > tfoot > tr > td.weightColumn {
  color: #D33A35; }

.gradebookPortlet .weightingListControl table.itemWeightList > tbody > tr > td.extraCreditColumn,
.gradebookPortlet .weightingListControl table.extraCreditList > tbody > tr > td.extraCreditColumn {
  background-color: #fffde5; }

.gradebookPortlet .weightingListControl .extraCreditList > tfoot > tr {
  background-color: #fffde5; }

.gradebookPortlet .weightingAdmin .selectPanel li a:hover {
  color: #575757;
  border: 1px solid #DEDEDE;
  background-color: whitesmoke; }

.gradebookPortlet .weightingSetupScreen tr.optionItemSelected > td,
.gradebookPortlet .weightingSetupScreen .optionItemSelected {
  background-color: whitesmoke;
  border-top: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE; }

.gradebookPortlet .studentDetailScreen.attendanceFailure .finalGradePanel {
  color: #064429;
  background-color: #fffde5;
  border-color: #064429; }

.gradebookPortlet .studentDetailScreen.attendanceFailure.facultyView .finalGradePanel {
  background-color: #fffde5; }

.gradebookPortlet .studentDetailScreen.facultyView .attendanceFailureMessage span {
  color: #575757; }

.gradebookPortlet .studentDetailScreen .extraCreditGroup .gradeGroupSidebar {
  background-color: #fffde5; }

.gradebookPortlet .studentDetailScreen .gradeItemGrid .droppedGrade {
  color: #575757; }

.gradebookPortlet .gradeList .onlineAssignment {
  color: #064429; }

.gradebookPortlet caption {
  color: #575757; }

.gradebookPortlet .evaluationDetailScreen .attendanceAdmin .includeButton strong,
.gradebookPortlet .evaluationDetailScreen .attendanceAdmin .isIncludedText strong {
  color: #575757; }

.gradebookPortlet .evaluationDetailScreen .attendanceAdmin .doNotIncludeButton strong,
.gradebookPortlet .evaluationDetailScreen .attendanceAdmin .isNotIncludedText strong {
  color: #575757; }

.gradebookPortlet .letter-grade-screen .LetterConfigModalPopup {
  background: #fff;
  border-color: #DEDEDE; }

.gradebookPortlet .letter-grade-screen .LetterConfigModalPopupHeader {
  background: #DEDEDE; }

.gradebookPortlet .letter-grade-screen .LetterConfigModalPopupBody {
  background-color: whitesmoke; }

.gradebookPortlet table.tabularData > thead > tr > th {
  background-color: #fff; }

.gradebookPortlet .mainStudentListScreen .otherFeaturesColumn .attendancePanel .includeButton,
.gradebookPortlet .mainStudentListScreen .otherFeaturesColumn .attendancePanel .doNotIncludeButton,
.gradebookPortlet .mainStudentListScreen .otherFeaturesColumn .attendancePanel .helpLink {
  border-right: solid 1px #DEDEDE;
  background-color: #88f4c5; }

.Attendance .groupedGrid thead th,
.Attendance .groupedGrid thead td,
.Attendance .groupedGrid tbody.gbody tr th,
.Attendance .groupedGrid tfoot td {
  color: #575757;
  background: #DEDEDE; }

.Attendance .attHighlight A:link,
.Attendance .attHighlight A:visited,
.Attendance .attHighlight A:active,
.Attendance .attHighlight A:hover,
.Attendance .attHighlight A:visited:hover {
  color: #D33A35; }

.portlet-grid .portlet .staticGrid {
  border: solid 1px #DEDEDE; }

.portlet-grid .portlet .staticGrid tr > * {
  border: solid 1px #DEDEDE;
  background: #fff; }

.portlet-grid .portlet .staticGrid tr th,
.portlet-grid .portlet .staticGrid tr td {
  color: #575757; }

/* 
    Theme: Atlantica
--  Portlet mobile color specific styles
--  Create another file to override these styles if needed
*/
/* 
    Theme: Atlantica
--  Admin color specific styles
--  Create another file to override these styles if needed
*/
.admin-menu .actions-menu {
  background: #064429; }
  .admin-menu .actions-menu a {
    color: #fff; }

.admin-menu .actions-menu.drag-menu {
  background-color: #DEDEDE; }
  .admin-menu .actions-menu.drag-menu a {
    color: #265B8C; }

.ui-sortable .drag-header h3, .ui-sortable .drag-header a {
  color: #fff; }

.site-manager {
  /* Dashboard control*/ }
  .site-manager .custom-icon.icon-arrow-down {
    color: #575757; }
  .site-manager a.disabled .custom-icon.icon-arrow-down {
    color: #d7d7d7; }
  .site-manager ul.menu li .arrow-box:after {
    border-left-color: #064429 !important; }

.drag-list.empty-List {
  background-color: #DEDEDE; }

#editPortletPopup .Content .portletRename input[type="text"].error {
  border-color: #D33A35; }

.DeletePagePanel .header {
  background-color: transparent; }

.DeletePagePanel .warning-info {
  background-image: url("./images/admin/Warning.gif");
  background-repeat: no-repeat;
  background-position: 15px 15px; }

.DeletePagePanel .deleteButtonPanel div {
  background-color: #f7dddd;
  border-color: #D33A35; }

#AccessiblityPopup .Content li .downButton .icon {
  background: transparent url(./images/portlet-images/icon/arrow_down.gif) 0 0 no-repeat; }

#AccessiblityPopup .Content li .upButton .icon {
  background: transparent url(./images/portlet-images/icon/arrow_up.gif) 0 0 no-repeat; }

#AccessiblityPopup .optionContainer span {
  background: url("./images/admin/accessbility-icons.png") no-repeat scroll left top rgba(0, 0, 0, 0); }

.settings-wrapper .inner-settings-wrapper .innerModal,
.pageOptionsPanel .innerModal,
.preferencesPanel .inner-settings-wrapper .innerModal {
  background-color: #fff !important; }

.settings-wrapper .saveButtonContainer,
.preferencesPanel .saveButtonContainer,
#AccessiblityPopup .saveButtonContainer {
  background-color: #59f0ae;
  border-color: #064429; }

.settings-wrapper .modalDiv,
.preferencesPanel .modalDiv,
.pageAccessPanel .inner-settings-wrapper .modalDiv {
  border-color: #000;
  background-color: #fff; }

.settings-wrapper .modalHeadingImg,
.preferencesPanel .modalHeadingImg,
.pageAccessPanel .inner-settings-wrapper .modalHeadingImg,
.pageOptionsPanel .inner-settings-wrapper .modalHeadingImg, .ui-dialog-content .modalHeadingImg {
  background-image: url("./images/admin/16/close-popup.png"); }

.settings-wrapper .modalHeading .icon,
.preferencesPanel .modalHeading .icon {
  background-image: url("./images/admin/16/cog_edit.png"); }

.settings-wrapper .inner-settings-wrapper .modalHeading,
.preferencesPanel .inner-settings-wrapper .modalHeading {
  background-color: #fff; }

.settings-wrapper .inner-settings-wrapper .inner-settings-wrapper,
.preferencesPanel .inner-settings-wrapper .inner-settings-wrapper {
  background-color: #e8e8e8;
  border-color: #DEDEDE; }

.settings-wrapper .inner-settings-wrapper div.modalButtons,
.preferencesPanel .inner-settings-wrapper div.modalButtons,
#AccessiblityPopup div.modalButtons {
  background-color: #e8e8e8; }

.settings-wrapper .portletSelection,
.preferencesPanel .portletSelection {
  border-color: #DEDEDE;
  background-color: #88f4c5; }

.allowedButton {
  background-color: #d9fcb0; }

.allowedButton.byInheritance {
  background-color: #d9fcb0; }

.notallowedButton {
  background-color: #DEDEDE; }

.PageLayoutPanel .custom-layout .availableLayout.one_column.readonly {
  border: 1px solid #DEDEDE;
  background-color: #d9fcb0; }

.PageLayoutPanel .custom-layout .pre-title {
  color: #575757; }

.PageLayoutPanel .availableLayout.one_column.readonly {
  border: 1px solid #064429;
  background-color: #88f4c5; }

.PageLayoutPanel .custom-layout .availableLayout.one_column.readonly .hoverHint {
  color: #575757; }

.PageLayoutPanel .custom-layout .availableLayout.one_column.readonly .layoutType {
  color: #575757; }

.pageAccessPanel .inner-settings-wrapper .innerModal,
.preferencesPanel .inner-settings-wrapper .innerModal {
  background-color: #fff; }

.pageAccessPanel .inner-settings-wrapper .topBackButton {
  color: #064429; }

.pageAccessPanel .backButton, .pageOptionsPanel .backButton {
  color: #064429; }

.pageAccessPanel .roleManager .roleOptions .addPeople-link.hasMembers a {
  background-color: #fff; }

.pageAccessPanel .roleManager .roleOptions .addPeople-link a {
  color: #064429;
  background-color: #88f4c5;
  border-color: #DEDEDE; }

.pageAccessPanel .roleManager .roleOptions .addOthersRoles-link {
  color: #064429; }

.pageAccessPanel .roleManager .expandAll {
  color: #575757; }

.pageAccessRoleMenu .AddRoleContainer a {
  color: #064429; }

.pageAccessRoleMenu .AddRoleContainer {
  color: #575757; }

.pageAccessRoleMenu .AddRoleContainer.noRoles {
  color: #575757; }

.pa-roleContentMenu li a {
  border-bottom-color: #ababab; }

.accessActions .pageAccessActionTitle.disable {
  border-top-color: #ababab; }

.accessActions.adminPanel .exclamation {
  background: url("./images/portlet-images/icon/exclamation.png") no-repeat scroll 8px 0 #fff; }

.accessActions.adminPanel header {
  font-size: 1.3em; }

.accessActions.adminPanel a {
  color: #064429; }

.back-to-members {
  background-color: #064429;
  color: #fff; }

.no-selection {
  background-color: #DEDEDE; }

.portletAccessDescription {
  color: #575757; }

.portletActions li a.portletAction.enabled {
  background: url("./images/portlet-images/icon/tick.png") no-repeat scroll 8px 0 #fff;
  color: #575757; }

.portletActions li a.portletAction.disabled {
  color: #D33A35;
  background: url("./images/portlet-images/icon/delete.png") no-repeat scroll 8px 0 #fff; }

.permissionsTitle .subTitle {
  color: #064429; }

.pageOptionsPanel .PageOptionsHeader .description a {
  color: #064429; }

.pageOptionsPanel .PageOptionsBody {
  background-color: #fff !important; }

.pageOptionsPanel .actions .deletePage, #editPortletPopup .Content .deletePortlet, #DeleteShortcutPopup .Content .deletePortlet {
  background-color: #fffde5;
  border-color: #D33A35;
  color: #D33A35 !important; }

.pageOptionsPanel .actions .deletePage.disabled {
  color: #575757 !important; }

.pageOptionsPanel .actions .deletePage .disabledDeleteButton {
  color: #575757; }

.pageOptionsPanel .layout {
  background: url("./images/admin/pageLayout.png") 0 0 no-repeat; }

.pageOptionsPanel .layout.multiPorltet .pagePortlets.shortcuts div div a {
  color: #575757 !important; }

.pageOptionsPanel .layout.multiPorltet .pagePortlets.shortcuts a:link {
  color: #575757 !important; }

.pageOptionsPanel .layout.multiPorltet .pagePortlets .portletDisplayName {
  color: #575757; }

.pageOptionsPanel .PageOptionsInnerBody .pageOptionsLinks .title {
  color: #575757; }

.pageOptionsPanel .pageRenaming .outsidePortal {
  color: #064429; }

.pageOptionsPanel .pageRenaming .content .validator {
  color: #D33A35; }

.pageOptionsPanel .pageRenaming .renameButton:hover {
  background-color: #88f4c5;
  border-color: #064429; }

.pageOptionsPanel .modalHeading {
  background-color: #fff !important; }

.PageOptionsInnerBody .layoutOptions .content.one_column, .PageLayoutPanel .availableLayout.one_column .icon {
  background-image: url(./images/admin/layout_icon-1.gif); }

.PageOptionsInnerBody .layoutOptions .content.two_column_rwide, .PageLayoutPanel .availableLayout.two_column_rwide .icon {
  background-image: url(./images/admin/layout_icon-1.gif); }

.PageOptionsInnerBody .layoutOptions .content.three_column_rwide, .PageLayoutPanel .availableLayout.three_column_rwide .icon {
  background-image: url(./images/admin/layout_icon-1.gif); }

.PageOptionsInnerBody .layoutOptions .content.two_column_even, .PageLayoutPanel .availableLayout.two_column_even .icon {
  background-image: url(./images/admin/layout_icon-2.gif); }

.PageOptionsInnerBody .layoutOptions .content.two_column_lwide, .PageLayoutPanel .availableLayout.two_column_lwide .icon {
  background-image: url(./images/admin/layout_icon-3.gif); }

.PageOptionsInnerBody .layoutOptions .content.three_column_mwide, .PageLayoutPanel .availableLayout.three_column_mwide .icon {
  background-image: url(./images/admin/layout_icon-6.gif); }

.PageOptionsInnerBody .layoutOptions .content.side_by_side_with_header, .PageLayoutPanel .availableLayout.side_by_side_with_header .icon {
  background-image: url(./images/admin/layout_icon-2a.gif); }

.PageOptionsInnerBody .layoutOptions .content.blog_style_header, .PageLayoutPanel .availableLayout.blog_style_header .icon {
  background-image: url(./images/admin/layout_icon-3a.gif); }

.PageOptionsInnerBody .layoutOptions .content.three_column_even, .PageLayoutPanel .availableLayout.three_column_even .icon {
  background-image: url(./images/admin/layout_icon-4.gif); }

.PageOptionsInnerBody .layoutOptions .content.three_column_lwide, .PageLayoutPanel .availableLayout.three_column_lwide .icon {
  background-image: url(./images/admin/layout_icon-5.gif); }

.MainGroupListings .footer {
  background: none repeat scroll 0 0 transparent;
  color: #575757; }

.MainGroupListings .header, .AddPageHeader .header {
  background: none repeat scroll 0 0 transparent; }

.pageDescript {
  color: #575757; }

ul.PageGroupListView h2 {
  color: #064429; }

ul.PageGroupListView .pageDescript {
  color: #575757; }

a.availablePage, a.unavailablePage, a.availableLayout {
  border: 1px solid transparent; }

a.availablePage:hover, a.availableLayout:hover {
  border-color: #064429;
  background-color: #88f4c5; }

.availablePage h2, a.availableLayout h2 {
  color: #575757; }

.availablePage:hover h2 a.availableLayout:hover h2 {
  color: #064429; }

.unavailablePage .pageType {
  color: #575757; }

.rssReaderPage .icon {
  background-image: url(./images/admin/32/feed.png); }

.contentImportPage .icon {
  background-image: url(./images/admin/32/course_content_import_32.png); }

.learningToolsPage .icon {
  background-image: url(./images/admin/32/measure.png); }

.rosterPage .icon {
  background-image: url(./images/admin/32/book_addresses.png); }

.courseOrganizerPage .icon {
  background-image: url(./images/admin/32/course-organizer-32.png); }

.chatPage .icon {
  background-image: url(./images/admin/32/user_comment.png); }

.calendarPage .icon {
  background-image: url(./images/admin/32/calendar.png); }

.free-formContentPage .icon {
  background-image: url(./images/admin/32/course_content_import_32.png); }

.gradebookPage .icon {
  background-image: url(./images/admin/32/gradebook_32.png); }

.attendancePage .icon {
  background-image: url(./images/admin/32/attendance_32.png); }

.courseWorkPage .icon {
  background-image: url(./images/admin/32/coursework_32.png); }

.handoutsPage .icon {
  background-image: url(./images/admin/32/handouts_32.png); }

.blogPage .icon {
  background-image: url(./images/admin/32/blogs_news_32.png); }

.formsPage .icon {
  background-image: url(./images/admin/32/forms_32.png); }

.bookmarksPage .icon {
  background-image: url(./images/admin/32/bookmarks_32.png); }

.forumsPage .icon {
  background-image: url(./images/admin/32/forums_32.png); }

.courseInfoPage .icon {
  background-image: url(./images/admin/32/course-info-32.png); }

.readingsPage .icon {
  background-image: url(./images/admin/32/readings_32.png); }

.onlineMeetingPage .icon {
  background-image: url(./images/admin/32/meeting-32.png); }

.moreOptionsPanel .optionsHeader {
  border-top-color: #DEDEDE;
  color: #575757; }

.ExpandablePanel {
  color: #575757; }

.MetaControl {
  color: #575757; }

.SubTable_Footer.ValidationError {
  color: #D33A35; }

.rePositionItem {
  background-color: #fff !important; }

.rePositionItem > .portlet > .dragBar {
  background-color: #DEDEDE; }

.rePositionItem > .portlet > .dragBar p {
  background-color: transparent; }

.rePositionItem > .portlet > .dragBar p {
  background: url("./images/admin/16/DragDrop.png") no-repeat scroll 8px 5px; }

.rePositionItem .drag-header {
  background-color: #064429; }

.drag-disable {
  opacity: 0.1; }

.pageActions .ChangePermissions {
  color: #064429; }

a.pageAction, a.permissionChangeOfRoleForPage, a.permissionChangeOfRoleForPage.disable > span {
  color: #064429; }

a.pageAction.enable, a.permissionChangeOfRoleForPage.enable {
  background-color: #d9fcb0;
  border-color: #417505;
  background: url("./images/portlet-images/icon/enable.png") no-repeat scroll 0px 10px #d9fcb0;
  color: #417505; }

a.pageAction.disable {
  background: url("./images/portlet-images/icon/delete.png") no-repeat scroll 8px 2px #fffde5;
  border-color: #D33A35; }

a.permissionChangeOfRoleForPage.disable {
  background: url("./images/portlet-images/icon/delete22x22.png") no-repeat scroll 8px 5px #fffde5;
  border-color: #D33A35; }

a.permissionChangeOfRoleForPage.disable > span {
  color: #D33A35; }

.portletAccessDescription.exclamation {
  background: url("./images/portlet-images/icon/exclamation.png") no-repeat scroll 0px 0 transparent; }

.DialogWindow_OuterFrame {
  border-color: #ababab;
  background-color: #fff; }

.DialogWindow_InnerFrame {
  border-color: #ababab; }

.DialogWindow_Title {
  background-color: #DEDEDE;
  color: #575757; }

.DialogWindow_Background {
  background-color: #DEDEDE;
  filter: alpha(opacity=70);
  opacity: 0.7;
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7; }

.AsPopupView .selectUser .peoplechooser .pc-action .pc-more {
  color: #064429; }

.AsPopupView .selectUser .peoplechooser .pc-action .pc-prev {
  color: #064429; }

.AsPopupView .selectUser .peoplechooser .pc-action .pc-removeAll {
  color: #064429; }

.AsPopupView .selectUser .peoplechooser.pc-full .pc-filter span {
  color: #575757; }

.AsPopupView .selectRole .info .title, .AsPopupView .selectUser .info .title {
  color: #575757; }

.AsPopupView .selectRole .info .description, .AsPopupView .selectUser .info .description {
  color: #575757; }

.ui-widget-content a.save {
  color: #fff; }

.ui-widget-content a.cancel {
  color: #064429; }

.context-manager.roles-list .role-link.selected-role {
  background-color: #064429; }
  .context-manager.roles-list .role-link.selected-role a {
    color: #fff; }

.context-manager.roles-list .role-link.admin {
  background-color: #417505; }
  .context-manager.roles-list .role-link.admin a {
    color: #fff; }

.context-manager.roles-list li {
  border-color: #DEDEDE;
  background-color: whitesmoke; }

/* 
    Theme: Atlantica
--  Admin mobile color specific styles
--  Create another file to override these styles if needed
*/
/* 
    Theme: Atlantica
--  EX Fixes color specific styles
--  Create another file to override these styles if needed
*/
.PortletError {
  color: #D33A35; }

.groupedGrid {
  border-bottom-color: #DEDEDE;
  background: #DEDEDE; }

.groupedGrid thead, .groupedGrid .ghead, .header, .footer {
  background: #DEDEDE; }

.groupedGrid thead tbody {
  background: #DEDEDE; }

.groupedGrid th {
  background: #d9d9d9; }

.groupedGrid tfoot, .subheader, .subfooter {
  background: #d9d9d9; }

.groupedGrid tfoot tbody {
  background: #d9d9d9; }

.groupedGrid_VerticalHeader {
  background: #d9d9d9; }

.header,
.groupedGrid tfoot td,
.groupedGrid tfoot th,
.groupedGrid thead td,
.groupedGrid thead th,
.groupedGrid tbody th,
.groupedGrid tbody.ghead tr td,
.groupedGrid tbody.gfoot tr td {
  background: #d9d9d9; }

.groupedGrid tfoot td,
.groupedGrid tfoot th {
  background: #ababab; }

.groupedGrid thead td,
.groupedGrid thead th,
.groupedGrid tbody.gbody tr th,
.groupedGrid tbody.ghead tr td,
.groupedGrid tbody.gfoot tr td {
  background: #ababab; }

.groupedGrid tbody.gsubhead tr td {
  color: #000; }

.groupedGrid tr.subItem td {
  border-top-color: #DEDEDE; }

.groupedGrid th a,
.groupedGrid th a:link,
.groupedGrid th a:visited {
  color: #000; }

.groupedGrid th a:hover {
  color: #575757; }

.groupedGrid tbody {
  background: #fff; }

.groupedGrid tbody tr td.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.alt td.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.highlight {
  background: #88f4c5; }

.groupedGrid tbody tr.althighlight {
  background: #fffde5; }

.groupedGrid tbody tr td.alt {
  background: #DEDEDE; }

.groupedGrid tbody tr.alt td.alt {
  background: #DEDEDE; }

.groupedGrid thead tr th.highlight {
  background: #000;
  color: #fff; }

.groupedGrid .error {
  color: #D33A35; }

.groupedGrid .disable {
  color: #575757; }

.groupedGrid .disable td input {
  color: #575757; }

.groupedGrid .disable td a:link {
  color: #575757; }

.groupedGrid .disable td a:visited {
  color: #575757; }

.groupedGrid .disable td a:active {
  color: #575757; }

.groupedGrid .innerTable {
  background: #DEDEDE; }

.FBQuestionList h6.HeaderLabel {
  color: #000; }

.FBQuestionList .Required {
  color: #575757; }

.FBQuestionList .Error {
  color: #D33A35; }

.FBQuestionList .RequiredError {
  color: #D33A35; }

.FormBuilder .MainHeaderSecondary h4 {
  background-color: #b5f967; }

.FormBuilder .MainHeaderMessage {
  color: #064429; }

.FormBuilder .MainHeader table {
  background-color: #88f4c5; }

.FormBuilder .MainHeader td {
  border-color: #417505; }

.FormBuilder .MainHeaderStatus {
  color: #064429; }

.FormBuilder .MainHeaderStatusWarning {
  color: #D33A35; }

.FormBuilder table.MainHeaderStatusBar {
  background-color: #DEDEDE; }

.FormBuilder table.MainHeaderStatusBar td {
  border-color: #ababab; }

.FormBuilder table.MainHeaderStatusBar a {
  color: #417505; }

.FormBuilder table.GridStyle {
  background: #fff; }

.FormBuilder table.GridStyle thead {
  border-bottom-color: #ababab;
  border-left-color: #ababab;
  border-right-color: #ababab;
  background: #ababab; }

.FormBuilder table.GridStyle th {
  background: #DEDEDE; }

.FormBuilder table.GridStyle td, table.GridStyle th {
  border-left-color: #ababab;
  border-bottom-color: #ababab; }

.FormBuilder #tblCreateNewForm {
  border-color: #ababab; }

.FormBuilder table.GridStyle .RightTableCell {
  border-right-color: #ababab; }

.FormBuilder table.GridStyle .RightSplitTableCell {
  border-left-color: #ababab;
  border-right-color: #ababab; }

.FormBuilder table.GridStyle tbody tr td.alt {
  background: #DEDEDE; }

.FormBuilder table.GridStyle tbody tr.alt td.alt {
  background: #DEDEDE; }

.FormBuilder table.GridStyle .TitleBar {
  border-color: #ababab;
  background: #ababab; }

.FormBuilder #tblNewQuestion .FooterBar {
  border-color: #ababab;
  background: #ababab; }

.FormBuilder table.GridStyle .HeaderSection {
  background-color: #DEDEDE; }

.FormBuilder table.GridStyle .ImportQuestions {
  background-color: #88f4c5; }

.FormBuilder .ErrorMsg {
  color: #D33A35; }

.FormBuilder #tblMoveQuestion {
  background: #DEDEDE;
  border-color: #ababab; }

.FormBuilder #tblQuestionPreview {
  border-color: #DEDEDE; }

div.oops {
  border-color: #D33A35;
  background: #eba4a2; }

div.tabGroup ul.tabHeaders {
  background: #d9d9d9; }

div.tabGroup ul.tabHeaders li {
  border-left-color: #DEDEDE; }

div.tabGroup ul.tabHeaders a,
div.tabGroup ul.tabHeaders a:link,
div.tabGroup ul.tabHeaders a:visited {
  color: #000;
  background: #d9d9d9; }

div.tabGroup ul.tabHeaders li.selected a,
div.tabGroup ul.tabHeaders li.selected a:link,
div.tabGroup ul.tabHeaders li.selected a:visited,
div.tabGroup ul.tabHeaders li.selected a:hover {
  background: #fff; }

div.tabGroup ul.tabHeaders a.selected,
div.tabGroup ul.tabHeaders a.selected:link,
div.tabGroup ul.tabHeaders a.selected:visited,
div.tabGroup ul.tabHeaders a.selected:hover {
  background: #fff; }

div.tabGroup ul.tabHeaders a:hover {
  background: #88f4c5; }

.secTable tbody .alt td.admin {
  background: #88f4c5; }

table.tabularData > caption,
table.tabularData > * > tr > * {
  border-color: #DEDEDE; }

table.tabularData > caption,
table.tabularData > thead > tr.header {
  border-color: #DEDEDE;
  background-color: #DEDEDE; }

table.tabularData > thead,
table.tabularData > tfoot {
  background-color: #88f4c5; }

table.tabularData > thead > tr > th {
  background-color: #d9d9d9; }

table.tabularData > tbody > tr.alt {
  background-color: #88f4c5; }

table.tabularData > * > tr > th.sorted {
  background-color: #DEDEDE; }

table.tabularData > * > tr > td.sorted {
  background-color: #DEDEDE; }

table.tabularData > * > tr.alt > td.sorted {
  background-color: #DEDEDE; }

table.tabularData > * > tr.error,
table.tabularData > * > tr.error.alt,
table.tabularData > * > tr.error > td.sorted,
table.tabularData > * > tr > td.error {
  color: #fff;
  background-color: #D33A35;
  border-color: #fff; }

table.tabularData > * > tr.error > td {
  border-color: #fff; }

table.tabularData > * > tr.error a {
  color: #fff; }

table.tabularData > * > tr.error > td.error {
  color: #D33A35;
  background-color: #fff;
  border-color: #D33A35; }

.fbTblAdmin {
  background-color: #fff; }

.fbTblAdminHead {
  background-color: #DEDEDE; }

.fbTblAdminSubHead {
  background-color: #d9d9d9; }

.fbTblAdminSubHeadAlt {
  background-color: whitesmoke; }

.fbLookupDef {
  background-color: #fff; }

.fbLookupAlt {
  background-color: #88f4c5; }

.feedbackMessage {
  border-color: #064429;
  background: whitesmoke;
  color: #000; }

.feedbackError {
  color: #D33A35;
  background: #fffde5;
  border-color: #D33A35; }

.note {
  color: #575757; }

/*Accordion*/
.accordionHeader {
  background-color: #DEDEDE; }

.accordionHeader a {
  color: #000; }

.accordionHeader a:hover {
  background-color: #DEDEDE;
  color: #000; }

.accordionHeaderSelected {
  background-color: #ababab;
  color: #fff; }

.accordionHeaderSelected a {
  color: #fff; }

.accordionHeaderSelected a:hover {
  background-color: #ababab; }

.accordionContent {
  background-color: #fff; }

.accordionLink {
  color: #064429; }

/* 
    Theme: Atlantica
--  Full Calendar color specific styles
--  Create another file to override these styles if needed
*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #DEDEDE; }

.fc-unthemed .fc-popover {
  background-color: #fff; }

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background-color: #ebebeb; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #575757; }

.fc-unthemed .fc-today {
  background: #fffde5; }

.fc-highlight {
  background-color: #064429;
  opacity: .1; }

.fc-nonbusiness {
  background: #DEDEDE; }

.fc-event {
  border-style: solid;
  border-width: 1px;
  border-color: #0ea262; }

.fc-event,
.fc-event-dot {
  background-color: #064429; }

.fc-event,
.fc-event:hover,
.ui-widget .fc-event {
  color: #fff; }

.fc-event .fc-bg {
  background: #fff; }

.fc-h-event.fc-selected .fc-resizer {
  background: #fff; }

.fc-day-grid-event.fc-selected:after {
  background: #000; }

.fc-basic-view .fc-day-top .fc-week-number {
  background-color: #DEDEDE;
  color: #000; }

.fc-time-grid-event.fc-selected .fc-resizer {
  background: #fff; }

.fc-list-item:hover td {
  background-color: #ebebeb; }

.fc-unthemed .fc-list-empty {
  background-color: #DEDEDE; }

.fc-state-default {
  background-color: #ebebeb;
  border-color: #DEDEDE #DEDEDE #ababab;
  color: #575757; }

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #575757;
  background-color: #DEDEDE; }

.fc-state-hover {
  color: #575757; }

.fc-state-down,
.fc-state-active {
  background-color: #d9d9d9; }

/* 
    Theme: Atlantica
--  Button color specific styles
--  Create another file to override these styles if needed
*/
.dashboard-menu-links li a.active-content-color {
  color: #fff; }

button:focus, button.btn:focus {
  outline: 2px solid #ababab; }

.btn-border {
  border: 1px solid #ababab; }

/* 
    Theme: Atlantica
--  Navbar color specific styles
--  Create another file to override these styles if needed
*/
.site-header-container .user-btn:focus,
.site-header-container .search-btn:focus {
  box-shadow: none; }

.site-header-container .user-btn,
.site-header-container .search-btn {
  color: #064429; }

.site-header-container .main-nav-submenu-container .popover {
  background-color: #fff;
  border: 1px solid #DEDEDE; }

.site-header-container .main-nav-submenu-container .user-login.popover .init-user-login-btn,
.site-header-container .main-nav-submenu-container .user-login.popover .init-logout-btn {
  color: #064429;
  background: none; }
  .site-header-container .main-nav-submenu-container .user-login.popover .init-user-login-btn:active,
  .site-header-container .main-nav-submenu-container .user-login.popover .init-logout-btn:active {
    box-shadow: none; }

.site-header-container .main-nav-submenu-container .user-login.popover .message, .site-header-container .main-nav-submenu-container .user-login.popover .user-name {
  color: #575757; }

.site-header-container .main-nav-submenu-container .user-login .input-group .input-group-addon {
  color: #ababab;
  background: #d1d1d1; }

.site-header-container .main-nav-submenu-container .user-login .forgot-password-link {
  color: #064429; }

.site-header-container .main-nav-submenu-container .user-login .jics-login-show-standard-fields-button {
  color: #064429; }

.top-nav-bar {
  background-color: #064429; }
  .top-nav-bar .nav-container .link-scroll {
    background: transparent; }
  .top-nav-bar .more-links-div {
    background-color: #064429; }

.main-crumbs {
  color: #064429; }
  .main-crumbs .breadcrumbs-title {
    color: #575757; }

#emulation {
  color: #575757; }

/* 
    Theme: Atlantica
--  Navbar mobile color specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .site-header-container .mobile-fixed-container {
    background: #064429; }
  .site-header-container .top-nav-bar {
    background-color: transparent; }
    .site-header-container .top-nav-bar .nav-container .link-scroll.vertical-menu {
      background: #fff !important; }
    .site-header-container .top-nav-bar .nav-container .link-scroll {
      background: #fff; }
      .site-header-container .top-nav-bar .nav-container .link-scroll .h-menu ul a {
        color: #064429; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .h-menu ul a:hover {
          background-color: transparent; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .h-menu ul a::after {
          color: #DEDEDE; }
      .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav {
        border-top-color: #ababab;
        border-bottom-color: #ababab; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .slide-menu-toggle-btns li.active a {
          color: #064429;
          background: transparent; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .slide-menu-toggle-btns li:first-child {
          border-right-color: #ababab; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .slide-menu-toggle-btns li a {
          color: #fff;
          background-color: #064429; }
          .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .slide-menu-toggle-btns li a:hover {
            color: #fff;
            background-color: #064429; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .current-page button.sub-nav {
          background-color: #59f0ae; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .sub-nav li:first-child {
          border-top-color: #ababab; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .sub-nav a, .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .sub-nav:hover {
          color: #064429;
          background-color: #DEDEDE; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .menu-links li.selected a,
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav .menu-links-sn li.selected a {
          color: #fff;
          background-color: #064429; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav #pagePortletsSn li a,
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav #myPagesSn li a,
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav #myGroupsSn li a,
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav #myCoursesSn li a {
          color: #064429;
          background-color: #59f0ae; }
        .site-header-container .top-nav-bar .nav-container .link-scroll .super-nav ul button {
          color: #064429;
          background: transparent; }
  .site-header-container .user-btn,
  .site-header-container .search-btn {
    color: #fff; }
  .site-header-container .login-btn {
    color: #fff;
    background-color: transparent; }
  .site-header-container .main-nav-submenu-container .popover {
    background-color: transparent;
    box-shadow: none; }
  .site-header-container .main-nav-submenu-container .user-login.popover {
    color: #064429; }
    .site-header-container .main-nav-submenu-container .user-login.popover .init-user-login-btn,
    .site-header-container .main-nav-submenu-container .user-login.popover .init-logout-btn {
      background-color: #064429;
      color: #fff; }
  .site-header-container .main-nav-submenu-container .user-login {
    background-color: #DEDEDE;
    border-bottom: none; }
    .site-header-container .main-nav-submenu-container .user-login ul .site-manager,
    .site-header-container .main-nav-submenu-container .user-login ul .account-info {
      color: #064429; }
  .site-header-container .search-section.popover {
    background-color: #DEDEDE;
    box-shadow: none; }
  .skip-navigation:focus {
    color: #fff;
    background-color: #ababab; } }

/* 
    Theme: Atlantica
--  Combined navbar mobile color specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .top-nav-bar .nav-container .link-scroll.super-menu .h-menu ul {
    /* This is related to layout but do we want to create a new nav_bar_mobile layout
                    partial just for this? */ }
    .top-nav-bar .nav-container .link-scroll.super-menu .h-menu ul li {
      border-top: 1px solid #ababab; }
      .top-nav-bar .nav-container .link-scroll.super-menu .h-menu ul li:first-child {
        border-top: none; }
  .top-nav-bar .nav-container .link-scroll.super-menu .super-nav {
    border-top-color: #ababab;
    border-bottom-color: #ababab; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .slide-menu-toggle-btns li.active a {
      color: #064429;
      background: transparent; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .slide-menu-toggle-btns li:first-child {
      border-right-color: #ababab; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .slide-menu-toggle-btns li a {
      color: #fff;
      background-color: #064429; }
      .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .slide-menu-toggle-btns li a:hover {
        color: #fff;
        background-color: #064429; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .quick-links-with-sub-nav button:hover {
      background-color: transparent; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .sub-nav li:first-child {
      border-top-color: #ababab; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .sub-nav a, .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .sub-nav:hover {
      color: #064429;
      background-color: #DEDEDE; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .current-page button.sub-nav {
      background-color: #59f0ae; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .menu-links li.selected a,
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav .menu-links-sn li.selected a {
      color: #fff;
      background-color: #064429; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav #pagePortletsSn li a,
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav #myPagesSn li a,
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav #myGroupsSn li a,
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav #myCoursesSn li a {
      color: #064429;
      background-color: #59f0ae; }
    .top-nav-bar .nav-container .link-scroll.super-menu .super-nav ul button {
      color: #064429;
      background: transparent; } }

/* 
    Theme: Atlantica
--  Sidebar color specific styles
--  Create another file to override these styles if needed
*/
.slide-menu-right {
  background-color: #DEDEDE; }
  .slide-menu-right .sidebar-link-title {
    color: #064429; }
    .slide-menu-right .sidebar-link-title a {
      color: #064429; }
  .slide-menu-right .navbar {
    background-color: #DEDEDE;
    border: none; }
    .slide-menu-right .navbar li #pagePortlets a, .slide-menu-right .navbar li #myPages a, .slide-menu-right .navbar li #myGroups a, .slide-menu-right .navbar li #myCourses a {
      color: #fff;
      background-color: #064429; }
      .slide-menu-right .navbar li #pagePortlets a:hover, .slide-menu-right .navbar li #myPages a:hover, .slide-menu-right .navbar li #myGroups a:hover, .slide-menu-right .navbar li #myCourses a:hover {
        color: #064429;
        background-color: #fff; }
    .slide-menu-right .navbar .quick-links {
      border-top: 12px solid #fff; }

/* 
    Theme: Atlantica
--  Sidebar mobile color specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .slide-menu-right .navbar li {
    border-top: 1px solid #ababab; }
    .slide-menu-right .navbar li:last-child {
      border-bottom: 1px solid #ababab; }
  .slide-menu-right .navbar li.sub-context-parent {
    border-top: none; }
    .slide-menu-right .navbar li.sub-context-parent .sub-contexts li:last-child {
      border-bottom: none; }
  .slide-menu-right .navbar .tab-pane {
    border-top: none !important; }
  .slide-menu-right .navbar .slide-menu-toggle-btns-wrapper {
    border-top: none; }
  .slide-menu-right .navbar .slide-menu-toggle-btns li {
    border: none; }
    .slide-menu-right .navbar .slide-menu-toggle-btns li:first-child {
      border-right: 1px solid #ababab; }
    .slide-menu-right .navbar .slide-menu-toggle-btns li a {
      color: #fff;
      background: #064429; }
  .slide-menu-right .navbar .slide-menu-toggle-btns .active a {
    color: #064429;
    background: transparent; }
    .slide-menu-right .navbar .slide-menu-toggle-btns .active a:hover {
      color: #fff;
      background-color: #064429; }
  .slide-menu-right .navbar .quick-links {
    border: none !important; }
  .slide-menu-btn {
    background-color: #064429;
    color: #fff; } }

/* 
    Theme: Atlantica
--  Form colors specific styles
--  Create another file to override these styles if needed
*/
.form-wrapper .form-icon {
  color: #DEDEDE; }

.form-wrapper .display-indicator-wrapper .form-icon, .form-wrapper .display-indicator .form-icon {
  color: #064429; }

.form-wrapper .form-control.custom-form-control {
  color: #5f5f5f; }

.form-wrapper .form-control {
  border-color: #c5c5c5; }
  .form-wrapper .form-control:focus {
    border-color: #2aec98;
    box-shadow: inset 0 1px 1px rgba(21, 234, 141, 0.2), 0 0 8px rgba(17, 187, 113, 0.5); }

.form-wrapper .form-control[readonly],
.form-wrapper .form-control[disabled] {
  background-color: #DEDEDE; }

.form-wrapper .select2-container--default .selection .select2-selection--multiple {
  border-color: #c5c5c5; }

.form-wrapper .select2-container--default.select2-container--focus .select2-selection--multiple,
.form-wrapper .select2-container--default.select2-container--focus .select2-selection--multiple:focus {
  border-color: #2aec98;
  box-shadow: inset 0 1px 1px rgba(21, 234, 141, 0.2), 0 0 8px rgba(17, 187, 113, 0.5); }

legend {
  color: #575757; }

select[disabled] {
  background-color: #DEDEDE; }

.toggle.highlight {
  border-color: #265B8C; }

.highlight-selector span:focus {
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }

/* 
    Theme: Atlantica
--  Card color specific styles
--  Create another file to override these styles if needed
*/
.card-layout .card-set-wrapper {
  border: 1px solid #DEDEDE; }

.card-layout .masonry .card {
  background-color: whitesmoke; }
  .card-layout .masonry .card p {
    color: #575757; }
  .card-layout .masonry .card .wysiwygtext {
    color: #575757; }
  .card-layout .masonry .card a.title {
    color: #064429; }
  .card-layout .masonry .card .btn-primary {
    border-right: 1px solid #fff; }
  .card-layout .masonry .card .sub-info {
    color: #575757; }

.card-layout .masonry .leader-highlight {
  background-color: #d9d9d9; }

.card-layout .sort-controls .btn {
  background-color: transparent; }
  .card-layout .sort-controls .btn:active {
    box-shadow: none; }

@media screen and (max-width: 992px) {
  .card-layout .card-set-wrapper {
    border: none; } }

/* 
    Theme: Atlantica
--  Slide menu colors specific styles
--  Create another file to override these styles if needed
*/
/* 
    Theme: Atlantica
--  Slide menu mobile colors specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .slideout-wrapper.closed {
    border-color: transparent; }
  .slideout-wrapper.open {
    border-color: #ababab;
    transition: border-color 2s; }
  .slideout-wrapper.closed .slideout-body,
  .slideout-wrapper.open .slideout-body {
    background: #f8f8f8; } }

/* 
    Theme: Atlantica
--  Popovers colors specific styles
--  Create another file to override these styles if needed
*/
.popover {
  font-family: Open Sans; }
  .popover .ui-dialog-title {
    color: #575757; }
  .popover .popover-content {
    color: #575757; }
    .popover .popover-content .content {
      border-top: 1px solid #DEDEDE;
      border-bottom: 1px solid #DEDEDE; }
    .popover .popover-content input[type="text"] {
      border-color: #DEDEDE; }

/* 
    Theme: Atlantica
--  Alerts colors specific styles
--  Create another file to override these styles if needed
*/
.alert-container.error {
  border-color: #D33A35;
  color: #D33A35;
  background-color: #fefafa; }

.alert-container.success {
  border-color: #417505;
  color: #417505;
  background-color: #fcfffa; }

.alert-container.feedback {
  border-color: #064429;
  color: #064429;
  background-color: #91f5ca; }

.alert-container.warning {
  border-color: #e5d300;
  color: #575757;
  background-color: #fffde5; }

/* 
    Theme: Atlantica
--  Footable color specific styles
--  Create another file to override these styles if needed
*/
.footable-container table.footable tbody > tr:nth-of-type(odd) {
  background-color: #fff; }

.footable-container table.footable tbody > tr.highlight-background {
  background-color: #fffde5; }

.footable-container table.footable .footable-detail-row table {
  background: transparent; }
  .footable-container table.footable .footable-detail-row table .alert-prompt-row.error,
  .footable-container table.footable .footable-detail-row table .alert-prompt-row.success,
  .footable-container table.footable .footable-detail-row table .alert-prompt-row.feedback,
  .footable-container table.footable .footable-detail-row table .alert-prompt-row.warning {
    color: #575757;
    background-color: transparent; }
    .footable-container table.footable .footable-detail-row table .alert-prompt-row.error a,
    .footable-container table.footable .footable-detail-row table .alert-prompt-row.success a,
    .footable-container table.footable .footable-detail-row table .alert-prompt-row.feedback a,
    .footable-container table.footable .footable-detail-row table .alert-prompt-row.warning a {
      color: #064429; }

.footable-container table.footable .alert-prompt-row.error {
  color: #D33A35;
  background-color: #fefafa; }
  .footable-container table.footable .alert-prompt-row.error a {
    color: #D33A35; }

.footable-container table.footable .alert-prompt-row.success {
  color: #417505;
  background-color: #fcfffa; }
  .footable-container table.footable .alert-prompt-row.success a {
    color: #417505; }

.footable-container table.footable .alert-prompt-row.feedback {
  color: #064429;
  background-color: #91f5ca; }
  .footable-container table.footable .alert-prompt-row.feedback a {
    color: #064429; }

.footable-container table.footable .alert-prompt-row.warning {
  color: #575757;
  background-color: #fffde5; }
  .footable-container table.footable .alert-prompt-row.warning a {
    color: #575757; }

.footable-container table.footable table.footable-details tbody > tr:nth-of-type(odd) {
  background: transparent; }

.footable-container .fooicon-plus, .footable-container .fooicon-minus {
  color: #064429;
  opacity: 1; }

.footable-container .footable-page-nav.disabled .footable-page-link {
  color: #000; }

.footable-container .label.label-default {
  background-color: #333333; }

.drawer-container table.footable th, .drawer-container table.footable td {
  border-color: #ababab; }

.default-border-alternate-one table.footable th, .default-border-alternate-one table.footable td {
  border-color: #ababab; }

/* 
    Theme: Atlantica
--  Image uploader color specific styles
--  Create another file to override these styles if needed
*/
.filepond--root {
  font-family: Open Sans;
  color: #575757; }
  .filepond--root .filepond--panel .filepond--panel-root {
    background-color: #DEDEDE; }
  .filepond--root .filepond--image-preview-wrapper .filepond--image-preview-overlay-success {
    color: #417505; }
  .filepond--root [data-filepond-item-state="load-invalid"] .filepond--item-panel {
    background-color: #D33A35; }
  .filepond--root .filepond--file-info {
    background-color: #1a1a1a; }
  .filepond--root .filepond--file-status {
    background-color: #1a1a1a; }
  .filepond--root .filepond--list-scroller .signal-deletion {
    background: linear-gradient(to bottom, #D33A35 0%, transparent 100%); }

/* 
    Theme: Atlantica
--  Text editor color specific styles
--  Create another file to override these styles if needed
*/
.portlet-grid .teLimitExceeded {
  border-color: #D33A35; }

.portlet-grid .teLimitMsg, .portlet-grid .pSection .teLimitMsg {
  color: #D33A35; }

.portlet-grid .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
  background-color: #DEDEDE;
  opacity: .2; }

/* 
    Theme: Atlantica
--  Base layout specific styles
--  Create another file to override these styles if needed
*/
body {
  font-family: Open Sans;
  font-size: 14px; }

.site-header-container #masthead {
  margin: 0;
  padding-top: 20px;
  height: 110px;
  position: relative; }
  .site-header-container #masthead h1 {
    margin: 0; }
  .site-header-container #masthead .site-logo-link {
    float: left; }
  .site-header-container #masthead .site-logo {
    padding: 0 10px;
    top: 0;
    position: relative;
    float: left;
    width: 451px;
    height: 100px;
    box-sizing: content-box;
    margin: 0 auto; }

.error-message {
  border-style: solid;
  border-width: 1px; }

.user-image-shape {
  border-radius: 50%;
  border-style: solid;
  border-width: 2px; }

.push-icon-shape {
  border-style: solid;
  border-width: 2px; }

.targeted-message {
  top: 10px; }

h5 {
  border-bottom-style: solid;
  border-bottom-width: 1px; }

/* 
    Theme: Atlantica
--  Base mobile layout specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .logged-in .site-header-container #masthead .site-logo {
    top: 0; }
  .site-header-container #masthead {
    top: 0;
    padding: 20px 0;
    height: auto !important; }
    .site-header-container #masthead .site-logo {
      top: 0;
      float: none;
      text-align: center;
      width: 225.5px;
      height: 50px; }
    .site-header-container #masthead .site-logo-link {
      display: block;
      margin: 35px auto 0 auto;
      text-align: center;
      float: none; }
  .targeted-message {
    top: 20px; }
  .main-layout {
    margin-top: 30px; } }

/* 
    Theme: Atlantica
--  Print layout specific styles
--  Create another file to override these styles if needed
*/
@media print {
  a[href]:after {
    content: none; } }

/* 
    Theme: Atlantica
--  Navbar layout specific styles
--  Create another file to override these styles if needed
*/
.site-header-container .user-btn {
  top: -15px; }

.site-header-container .search-btn {
  top: 15px;
  z-index: 5000; }

.site-header-container .search-panel {
  position: absolute;
  right: 0;
  top: 75px; }
  .site-header-container .search-panel .search-section {
    top: -12px;
    z-index: 5000; }

.site-header-container .jics-login-redirect-simple {
  float: right; }

.site-header-container .jics-login-show-standard-fields-section {
  clear: both;
  text-align: right;
  padding-top: 5px; }

.top-nav-bar {
  top: 135px; }

.logged-in .site-header-container .main-nav-submenu-container {
  position: absolute;
  right: 5px; }
  .logged-in .site-header-container .main-nav-submenu-container .user-login.popover {
    top: 50px;
    z-index: 5000; }

.main-crumbs {
  width: 100%;
  display: flex;
  font-size: 12px;
  padding-bottom: 36px; }
  .main-crumbs .breadcrumbs-title {
    font-size: 12px;
    float: left;
    padding-right: 10px; }

#emulation {
  float: right;
  position: relative;
  right: 15px;
  margin-top: 3%; }
  #emulation span {
    padding-left: 20px;
    padding-right: 10px; }
  #emulation #emulationRole {
    margin: 0 5px; }

/* 
    Theme: Atlantica
--  Navbar mobile layout specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .logged-in .site-header-container .user-btn {
    top: 2px; }
  .logged-in .site-header-container .search-btn {
    top: 6px;
    right: 60px; }
  .logged-in .site-header-container .main-nav-submenu-container .user-login.popover {
    top: 33px; }
  .site-header-container .mobile-fixed-container {
    width: 100%;
    height: 43px;
    z-index: 10;
    position: fixed; }
  .site-header-container .top-nav-bar {
    border-bottom: none; }
    .site-header-container .top-nav-bar .nav-container .link-scroll .h-menu ul {
      margin-top: 0; }
  .site-header-container .main-nav-submenu-container .user-login {
    position: fixed !important;
    width: 100%;
    top: 44px;
    right: 0;
    overflow: hidden;
    left: 0;
    text-align: center;
    z-index: 20000; }
    .site-header-container .main-nav-submenu-container .user-login .forgot-password-link {
      margin: 0; }
    .site-header-container .main-nav-submenu-container .user-login .jics-login-redirect-simple {
      float: none;
      position: relative;
      top: 10px; }
    .site-header-container .main-nav-submenu-container .user-login .jics-login-show-standard-fields-section {
      clear: none;
      text-align: center;
      padding: 5px 0; }
      .site-header-container .main-nav-submenu-container .user-login .jics-login-show-standard-fields-section .link-btn {
        padding: 6px 0; }
  .site-header-container .search-panel .search-section {
    top: 43px;
    position: fixed !important; }
  .site-header-container .login-btn {
    top: 3px;
    right: 60px;
    position: fixed;
    z-index: 5000; }
  .site-header-container .search-btn {
    top: 6px;
    right: 10px;
    font-size: 28px;
    position: fixed;
    z-index: 5000; }
  .site-header-container .user-btn {
    top: 0;
    position: fixed; }
    .site-header-container .user-btn .user-image {
      width: 30px;
      height: 30px; }
  .skip-navigation:focus {
    position: absolute;
    top: -3px;
    font-size: 13px;
    text-align: center;
    width: 100%;
    z-index: 5000; }
  .main-crumbs {
    display: block;
    top: 10px;
    padding-bottom: 0; }
    .main-crumbs .breadcrumbs-title {
      float: none; }
    .main-crumbs .breadcrumbs-container {
      display: inline-block; }
  #emulation {
    text-align: center;
    margin: 28px auto 0 auto;
    float: none; } }

/* 
    Theme: Atlantica
--  Combined nav mobile layout specific styles
--  Create another file to override these styles if needed
*/
@media screen and (max-width: 1025px) {
  .top-nav-bar {
    top: 0; }
    .top-nav-bar .nav-container .link-scroll.vertical-menu .super-nav {
      margin: 0 -15px; }
      .top-nav-bar .nav-container .link-scroll.vertical-menu .super-nav ul .glyphicons,
      .top-nav-bar .nav-container .link-scroll.vertical-menu .super-nav ul .custom-icon {
        float: left; }
      .top-nav-bar .nav-container .link-scroll.vertical-menu .super-nav li a {
        font-weight: bold; } }

/* 
    Theme: Atlantica
--  Footable layout specific styles
--  Create another file to override these styles if needed
*/
.footable-container table.footable .footable-detail-row table .alert-prompt-row.error,
.footable-container table.footable .footable-detail-row table .alert-prompt-row.success,
.footable-container table.footable .footable-detail-row table .alert-prompt-row.feedback,
.footable-container table.footable .footable-detail-row table .alert-prompt-row.warning {
  font-weight: normal; }

/*# sourceMappingURL=style.css.map */

/* ==========================================================================
   PJC Pyro Central theme layer for JICS (on top of Atlantica, compiled with PJC green)

   Desktop header geometry is restyled at >= 1026px only. Below that, Atlantica's mobile
   JavaScript animates the fixed bar and its buttons to exact pixel offsets, so the mobile
   rules change colour, type and shape, never the bar's height or the buttons' vertical position.
   The tile landing (.pc-landing) is built by javascript.js on the portal home page only.
   ========================================================================== */

:root {
  --pc-green-950: #04180d; --pc-green-900: #0d3318; --pc-green-800: #1a5c2a; --pc-green-700: #236b33;
  --pc-green-600: #2e7d32; --pc-green-200: #c8e6c9; --pc-green-100: #e8f5e9; --pc-green-50: #f1f8f2;
  --pc-gold-700: #b07706; --pc-gold-600: #c88a08; --pc-gold-500: #e09c0f; --pc-gold-400: #f5b800; --pc-gold-100: #fff8e1;
  --pc-gray-900: #111827; --pc-gray-700: #374151; --pc-gray-600: #4b5563; --pc-gray-500: #6b7280;
  --pc-gray-400: #9ca3af; --pc-gray-300: #d1d5db; --pc-gray-200: #e5e7eb; --pc-gray-100: #f3f4f6; --pc-gray-50: #f9fafb;
  --pc-radius: 8px; --pc-radius-lg: 14px;
  --pc-shadow: 0 1px 3px rgba(0,0,0,.08); --pc-shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --pc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pc-header: radial-gradient(700px 200px at 85% 0%, rgba(245,184,0,.18), transparent 60%),
               linear-gradient(135deg, var(--pc-green-950) 0%, var(--pc-green-900) 45%, var(--pc-green-700) 100%);
  --pc-hero: radial-gradient(560px 200px at 92% 0%, rgba(245,184,0,.24), transparent 62%),
             linear-gradient(135deg, var(--pc-green-900), var(--pc-green-700));
}

/* ---------- Base ---------- */
body { font-family: var(--pc-font); background: var(--pc-gray-100); color: var(--pc-gray-900); line-height: 1.5;
  -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--pc-font); }
a, a:link { color: var(--pc-green-800); }
a:hover, a:focus { color: var(--pc-green-700); }
/* Focus: dark green on light surfaces (8:1); gold on the dark header, hero, launcher, dialog head and footer (7.8:1). */
a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible, .pc-tile:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
.site-header-container :focus-visible, .pc-hero :focus-visible, .pc-launch :focus-visible, .pc-apply-head :focus-visible,
.footer-wrapper :focus-visible { outline-color: var(--pc-gold-400); }
#siteWrapper { background: var(--pc-gray-100); }
/* Elements this theme hides with the hidden attribute must stay hidden whatever display their class sets. */
.pc-landing [hidden], .pc-launch [hidden], .pc-apply [hidden] { display: none !important; }

/* Links in CMS prose: quieter than a solid underline, still not colour-only (WCAG 1.4.1). Widgets keep their own styles. */
#TargetedMessage a, .wysiwygtext a {
  font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
  text-decoration-color: rgba(26,92,42,.35); }
#TargetedMessage a:hover, .wysiwygtext a:hover { text-decoration-color: currentColor; }
/* CMS content with fixed pixel widths (e.g. an embed with style="width:400px") must not widen the page on phones. */
.wysiwygtext img, .wysiwygtext iframe, .wysiwygtext video, .wysiwygtext embed, .wysiwygtext object, .wysiwygtext div { max-width: 100%; }
.wysiwygtext img { height: auto; }

/* ---------- Header (desktop) ---------- */
@media screen and (min-width: 1026px) {
  /* No z-index here: one would make the header a stacking context and cap everything in it, JICS's account menu
     included (z-index 5001), below JICS's own click-catching .modal-overlay (5001, on body), so Site Manager, My Profile
     and Log Out could not be clicked on desktop (Chris, 2026-10-05). The header's own dropdowns carry their z-index.
     The theme's header controls (All tools, Page menu, Site Manager) use 1000, the one level that fits JICS's order:
       page content (highest: 2) < theme controls 1000 < jQuery UI dialogs and their backdrop (1999-2000, e.g. the
       session-timeout warning) < JICS's phone layers (5000) < the account menu and its overlay (5001).
     At 6000 (v8) an open All tools panel covered a modal dialog's buttons (Sol v8).
     JICS's session-timeout warning closes JICS's own menus (login, sidebar, hamburger, search) before it opens
     (site-bundle.js), so dialog layers are left to jQuery UI. v15 pinned every dialog at 6002, which broke jQuery UI's
     own ordering (moveToTop) and was removed in v16 (Sol v15); timeout_menus_check.py replays JICS's real sequence. */
  .site-header-container { background: var(--pc-header); box-shadow: 0 2px 10px rgba(0,0,0,.3);
    position: relative; padding-bottom: 50px; }
  .site-header-container #masthead { height: 76px; padding: 10px 24px 0; background: transparent; }
  .site-header-container #masthead #logo-heading { display: flex; align-items: center; gap: 16px; }
  .site-header-container #masthead .site-logo-link { display: inline-block; float: none; line-height: 0; background: #fff;
    border-radius: 12px; padding: 6px 14px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
  .site-header-container #masthead .site-logo { width: auto; height: 44px; padding: 0; float: none; }
  .site-header-container #masthead #logo-heading::after { content: "MyPJC"; color: #fff; font-size: 22px; font-weight: 800;
    letter-spacing: -.01em; line-height: 1; padding-left: 16px; border-left: 2px solid rgba(245,184,0,.65); }
  .site-header-container .search-btn, .site-header-container .user-btn { color: #fff; }
  .site-header-container .search-btn, .site-header-container .user-btn { top: 19px; }
  .site-header-container .search-btn:hover, .site-header-container .user-btn:hover { color: var(--pc-gold-400); }

  /* Atlantica's script moves the nav inside #masthead; make it a darker strip with a gold rule. */
  .top-nav-bar { top: 76px; min-height: 46px; height: 46px; border: 0; border-bottom: 4px solid var(--pc-gold-400);
    background: rgba(4,24,13,.38); }
  .top-nav-bar #main-nav { padding-left: 18px; }
  .top-nav-bar .nav-container .link-scroll .h-menu a,
  .top-nav-bar .more-links-div ul a { color: #fff; font-size: 14.5px; font-weight: 600; line-height: 1.3; padding: 7px 14px;
    margin: 5px 2px; border-radius: 8px; border: 1px solid transparent; }
  .top-nav-bar .nav-container .link-scroll .h-menu a:hover,
  .top-nav-bar .nav-container .link-scroll .h-menu a:focus,
  .top-nav-bar .more-links-div ul a:hover { color: #fff; background: rgba(255,255,255,.13); border-color: rgba(245,184,0,.45); }
  .top-nav-bar #main-nav > li.selected > a { color: #fff; background: rgba(245,184,0,.18); border-color: var(--pc-gold-400); }
}

/* ---------- "All tools" launcher (desktop). The tab strip is hidden only once the launcher exists. ---------- */
.pc-launch { display: none; }
@media screen and (min-width: 1026px) {
  .pc-launcher-on .top-nav-bar { display: none !important; }
  .pc-launcher-on .site-header-container { padding-bottom: 0; border-bottom: 4px solid var(--pc-gold-400); }
  .site-header-container #masthead #logo-heading { float: left; }
  .pc-launch { display: block; float: left; position: relative; margin: 9px 0 0 22px; z-index: 1000; }
  .pc-launch-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border-radius: 10px;
    color: #fff; font-size: 14px; font-weight: 700; background: rgba(245,184,0,.16); border: 1.5px solid var(--pc-gold-400); cursor: pointer; }
  .pc-launch-btn:hover, .pc-open .pc-launch-btn { background: rgba(245,184,0,.3); }
  .pc-launch-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .pc-launch-btn .pc-launch-chev { width: 16px; height: 16px; transition: transform .15s; }
  .pc-open .pc-launch-btn .pc-launch-chev { transform: rotate(180deg); }
  .pc-launch-panel { position: absolute; top: calc(100% + 10px); left: 0; width: min(880px, calc(100vw - 48px));
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 18px; padding: 16px 18px;
    background: var(--pc-green-800); border: 1px solid rgba(255,255,255,.22); border-radius: 14px; box-shadow: 0 18px 44px rgba(0,0,0,.45);
    overflow-y: auto; overscroll-behavior: contain; }
  .pc-launch-panel[hidden] { display: none; }
  .pc-launch-group { min-width: 0; padding: 4px 0 8px; }
  .pc-launch-title { margin: 0 0 6px; padding-bottom: 6px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
    color: var(--pc-gold-400); border-bottom: 1px solid rgba(245,184,0,.22); }
  .pc-launch-list { list-style: none; margin: 0; padding: 0; }
  .pc-launch-item, .pc-launch-item:link, .pc-launch-item:visited { display: flex; align-items: center; gap: 10px; padding: 7px 9px; border-radius: 8px;
    color: #fff; font-size: 13.5px; font-weight: 600; text-decoration: none; border: 1px solid transparent; }
  .pc-launch-item:hover, .pc-launch-item:focus { color: #fff; text-decoration: none; background: rgba(255,255,255,.13); border-color: rgba(245,184,0,.45); }
  .pc-launch-item[aria-current="page"] { background: rgba(245,184,0,.18); border-color: rgba(245,184,0,.6); }
  .pc-launch-item svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: var(--pc-gold-400); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
}

/* ---------- Header sign-in area ---------- */
.site-header-container .jics-login-redirect-simple-button,
.site-header-container .jics-login-redirect-simple-button:focus {
  background: var(--pc-gold-400) !important; color: var(--pc-green-900) !important; border: 1.5px solid var(--pc-gold-500) !important;
  border-radius: var(--pc-radius); font-weight: 800; letter-spacing: .01em; box-shadow: 0 2px 0 var(--pc-gold-600); }
.site-header-container .jics-login-redirect-simple-button:hover { background: var(--pc-gold-500) !important; }
@media screen and (min-width: 1026px) {
  /* Signed-out only: Atlantica pins this 66px down for its 110px header; the new header is 76px. */
  #siteNavBar_welcomeBackBarLoggedOut_welcomeBackBarLoggedOut #user-login-section { top: 9px; }
  .site-header-container .jics-login-redirect-simple-button { padding: 7px 22px; font-size: 14px; }
  .site-header-container .main-nav-submenu-container .user-login .jics-login-show-standard-fields-section { color: rgba(255,255,255,.82); font-size: 12.5px; }
  .site-header-container .main-nav-submenu-container .user-login .jics-login-show-standard-fields-button { color: var(--pc-gold-400); font-weight: 700; }
}

/* ---------- Breadcrumbs and the targeted message ---------- */
#mainCrumbs.main-crumbs { background: transparent; border: 0; color: var(--pc-gray-600); font-size: 12.5px; }
#mainCrumbs.main-crumbs a { color: var(--pc-gray-700); text-decoration: none; font-weight: 500; }
#mainCrumbs.main-crumbs a:hover { color: var(--pc-green-800); text-decoration: underline; }
#mainCrumbs .breadcrumbs-title { color: var(--pc-gray-600); font-weight: 600; }
#TargetedMessage.targeted-message { background: #fff; border: 1.5px solid var(--pc-gray-200); border-left: 5px solid var(--pc-gold-400);
  border-radius: var(--pc-radius); box-shadow: var(--pc-shadow); padding: 14px 18px; }
@media screen and (min-width: 1026px) {
  /* Atlantica offsets these by pixels tuned to its old header; the new header contains the nav, so plain flow works. */
  #mainCrumbs.main-crumbs { top: 0; padding: 14px 24px 0; margin: 0; }
  /* width:auto: JICS sets 98%, which plus these margins ran 3px past a 1026px window (Sol v5 r3 harness). */
  #TargetedMessage.targeted-message { top: 0; margin: 10px 24px 4px; width: auto; }
}

/* ---------- Sidebar ---------- */
#sideBar.sidebar { background: transparent; }
@media screen and (min-width: 1026px) {
  /* Desktop only: here the panel sits on the page background. On phones and tablets the same element slides OVER the
     page, so it keeps a solid background (see the mobile section); transparent there let the page show through it. */
  #sideBar .slide-menu-right { background: transparent; }
  #mainLayout.main-layout { margin-top: 10px; padding-top: 0; }
  #sideBar.sidebar { padding-top: 4px; }
  #sideBar .side-section { background: #fff; border: 1.5px solid var(--pc-gray-200); border-top: 4px solid var(--pc-green-700);
    border-radius: 12px; box-shadow: var(--pc-shadow); padding: 6px; margin: 0 0 16px 12px; }
}
#sideBar .sidebar-link-title, #sideBar .sidebar-link-title a { display: block; font-style: normal; font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; color: var(--pc-gray-500); background: transparent; text-decoration: none; }
#sideBar .sidebar-link-title { padding: 8px 10px 6px; }
#sideBar .navbar, #sideBar .navbar-default { background: transparent; border: 0; min-height: 0; margin: 0; }
#sideBar #this-context-pages > li > a, #sideBar #this-context-pages > li > button, #sideBar #quick-links-menu > li > a {
  color: var(--pc-gray-700); font-weight: 500; border-radius: 8px; padding: 9px 10px; background: transparent; }
#sideBar #this-context-pages > li > a:hover, #sideBar #this-context-pages > li > button:hover, #sideBar #quick-links-menu > li > a:hover {
  background: var(--pc-green-50); color: var(--pc-green-800); }
#sideBar #this-context-pages > li.current-page > button, #sideBar #this-context-pages > li.current-page > a {
  background: var(--pc-green-100); color: var(--pc-green-800); font-weight: 700; box-shadow: inset 3px 0 0 var(--pc-green-800); }
/* Links with an icon (Quick Links and signed-in admin links: Add a Page, Context Manager, Usage Statistics...). */
#sideBar a.anchor-contains-icon { position: relative; padding-left: 34px !important; }
#sideBar a.anchor-contains-icon .sidebar-icon-link { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); margin: 0;
  color: var(--pc-gold-600); font-size: 13px; line-height: 1; }
#sideBar a.anchor-contains-icon img { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); max-width: 18px; max-height: 18px; margin: 0; }
#sideBar #this-context-pages > li > a, #sideBar .side-section li > a { color: var(--pc-gray-700); border-radius: 8px; }
/* v31: the signed-in lists in the phone menu (My Pages, My Courses, My Groups). Atlantica paints their links white on
   dark green and their icons dark green too (invisible); the icons go gold, the name stays white, an empty link shows
   the name the script adds (pc-sb-name). */
#sideBar #myPages a, #sideBar #myCourses a, #sideBar #myGroups a, #sideBar #myPagesSn a, #sideBar #myCoursesSn a, #sideBar #myGroupsSn a { color: #fff; }
#sideBar #myPages a:hover, #sideBar #myCourses a:hover, #sideBar #myGroups a:hover, #sideBar #myPages a:focus, #sideBar #myCourses a:focus, #sideBar #myGroups a:focus,
#sideBar #myPagesSn a:hover, #sideBar #myCoursesSn a:hover, #sideBar #myGroupsSn a:hover, #sideBar #myPagesSn a:focus, #sideBar #myCoursesSn a:focus, #sideBar #myGroupsSn a:focus { color: var(--pc-green-900); }   /* Atlantica's hover is a white background (Sol v31) */
#sideBar #myPages .sidebar-icon-link, #sideBar #myCourses .sidebar-icon-link, #sideBar #myGroups .sidebar-icon-link,
#sideBar #myPagesSn .sidebar-icon-link, #sideBar #myCoursesSn .sidebar-icon-link, #sideBar #myGroupsSn .sidebar-icon-link { color: var(--pc-gold-400); }
#sideBar #myPages a:hover .sidebar-icon-link, #sideBar #myCourses a:hover .sidebar-icon-link, #sideBar #myGroups a:hover .sidebar-icon-link,
#sideBar #myPages a:focus .sidebar-icon-link, #sideBar #myCourses a:focus .sidebar-icon-link, #sideBar #myGroups a:focus .sidebar-icon-link,
#sideBar #myPagesSn a:hover .sidebar-icon-link, #sideBar #myCoursesSn a:hover .sidebar-icon-link, #sideBar #myGroupsSn a:hover .sidebar-icon-link,
#sideBar #myPagesSn a:focus .sidebar-icon-link, #sideBar #myCoursesSn a:focus .sidebar-icon-link, #sideBar #myGroupsSn a:focus .sidebar-icon-link { color: var(--pc-green-900); }
#sideBar .pc-sb-name { display: inline; }

/* ---------- Page title as a hero banner (every page) ---------- */
#portlets { position: relative; }
#portlets > .page-title-bar { position: relative; overflow: hidden; background: var(--pc-hero); border-radius: var(--pc-radius-lg);
  border-bottom: 4px solid var(--pc-gold-400); box-shadow: var(--pc-shadow-md); padding: 20px 96px 20px 24px; margin: 4px 0 18px; }
#portlets > .page-title-bar::after { content: ""; position: absolute; right: 22px; bottom: -18px; width: 68px; height: 100px;
  background: url("images/pyro/flame.png") no-repeat center / contain; opacity: .22; pointer-events: none; }
#portlets > .page-title-bar h2 { margin: 0; }
#portlets > .page-title-bar h2, #portlets > .page-title-bar h2 a, #contextName { color: #fff; font-size: 26px; font-weight: 800;
  letter-spacing: -.01em; text-decoration: none; }
/* Some pages embed their own "#PageBar_pageTitle h2 a { color: #064429 !important }" for Atlantica's white title bar. */
#portlets > #PageBar_pageTitle.page-title-bar h2 a, #portlets > #PageBar_pageTitle.page-title-bar h2 a:visited,
#portlets > #PageBar_pageTitle.page-title-bar h2 a:hover, #portlets > #PageBar_pageTitle.page-title-bar h2 a:active { color: #fff !important; }
#portlets > .page-title-btn { position: absolute; top: 22px; right: 92px; margin-top: 0; z-index: 2; background: transparent; }
#portlets > .page-title-btn .btn { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); border-radius: var(--pc-radius); }
#portlets > .page-title-btn .btn:hover { background: rgba(255,255,255,.22); color: #fff; }

/* ---------- Portlets as cards (no overflow:hidden, so dropdowns inside a portlet are never clipped) ---------- */
.portlet-grid .portlet { background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: 12px;
  box-shadow: var(--pc-shadow-md); margin-bottom: 18px; }
.portlet-grid .portlet-header-bar { background: var(--pc-gray-50); border-bottom: 1.5px solid var(--pc-gray-200);
  border-radius: 11px 11px 0 0; }
.portlet-grid .portlet-header-bar h3, .portlet-grid .portlet-header-bar h3 a, .portlet-grid .portlet-header-bar > a {
  color: var(--pc-green-900); font-weight: 800; font-size: 15px; text-decoration: none; }
.portlet-grid .portlet-header-bar h3 a:hover { color: var(--pc-green-700); text-decoration: underline; }
.portlet-grid .portlet-header-bar .help, .portlet-grid .portlet-header-bar .glyphicons { color: var(--pc-gray-500); }
.portlet-grid .portlet-padding { padding: 16px 20px; }

/* ---------- Buttons ---------- */
.btn { border-radius: var(--pc-radius); }
.btn-primary, .btn-primary:focus, .btn-primary:active:focus { background-color: var(--pc-green-800); border: 1.5px solid var(--pc-green-800);
  color: #fff; font-weight: 700; }
.btn-primary:hover, .btn-primary:active, .btn-primary:active:hover { background-color: var(--pc-green-700); border-color: var(--pc-green-700); color: #fff; }
.btn-default { background: #fff; border: 1px solid var(--pc-gray-300); color: var(--pc-gray-700); font-weight: 600; }
.btn-default:hover, .btn-default:focus { background: var(--pc-gray-50); border-color: var(--pc-gray-400); color: var(--pc-gray-900); }
/* A LINK styled as a button keeps the button's text colour. The theme's "a:link" (0,1,1) outranks ".btn-primary"
   (0,1,0), so every unvisited link-button showed green text on green: "Why are there empty buttons" (Sebastian,
   2026-10-05, Student Home Page). Visited ones looked fine, which hid it. button_contrast_check.py measures this. */
a.btn-primary:link, a.btn-primary:visited, a.btn-success:link, a.btn-success:visited, a.btn-info:link, a.btn-info:visited,
a.btn-warning:link, a.btn-warning:visited, a.btn-danger:link, a.btn-danger:visited { color: #fff; }
a.btn-default:link, a.btn-default:visited { color: var(--pc-gray-700); }

/* ---------- Forms ---------- */
.form-control { border: 1.5px solid #7c8592; border-radius: var(--pc-radius); background-color: var(--pc-gray-50);
  color: var(--pc-gray-900); box-shadow: none; }
.form-control:focus { border-color: var(--pc-green-600); background-color: #fff; box-shadow: 0 0 0 3px rgba(46,125,50,.15); }

/* ---------- Tables and tabs ---------- */
.table > thead > tr > th { background: var(--pc-green-50); color: var(--pc-green-900); font-weight: 800; font-size: 12.5px;
  border-bottom: 1.5px solid var(--pc-gray-200); }
.table > tbody > tr > td { border-top-color: var(--pc-gray-200); }
.portlet-grid .nav-tabs { border-bottom: 2px solid var(--pc-gray-200); }
.portlet-grid .nav-tabs > li > a { border: 0; border-bottom: 2px solid transparent; margin-bottom: -2px; border-radius: 0;
  color: var(--pc-gray-500); font-weight: 500; background: transparent; }
.portlet-grid .nav-tabs > li > a:hover { color: var(--pc-green-800); background: transparent; }
.portlet-grid .nav-tabs > li.active > a, .portlet-grid .nav-tabs > li.active > a:hover, .portlet-grid .nav-tabs > li.active > a:focus {
  border: 0; border-bottom: 2px solid var(--pc-green-800); color: var(--pc-green-800); font-weight: 700; background: transparent; }

/* ---------- Footer ---------- */
.footer-wrapper { background: var(--pc-header); border-top: 4px solid var(--pc-gold-400); margin-top: 32px; }
#foot.footer-links { text-align: center; padding: 24px 16px; }
#foot.footer-links a { color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; }
#foot.footer-links a:hover { color: var(--pc-gold-400); text-decoration: underline; }
#copyright { color: rgba(255,255,255,.9); font-size: 12px; }

/* ==========================================================================
   Tile landing (portal home page; markup built by javascript.js)
   ========================================================================== */
.pc-landing { margin: 4px 0 26px; }
/* Phones and tablets keep JICS's slide-out sidebar on every page, Home included (v5): hiding it there could take away
   something no copy reproduces (Sol v5 r1). */
/* Guest Home on phones and tablets: the content takes the width (the sidebar there is the slide-out, not a column).
   On desktop the full width comes only from .pc-no-sidebar while the sidebar is hidden, so opening Page menu restores
   the native columns and the content never covers the sidebar's links (Sol v5 r5). */
@media screen and (max-width: 1025px) { .pc-landing-guest #portlets { width: 100%; float: none; } }
@media screen and (min-width: 1026px) {
  /* Page menu brings JICS's own sidebar back on demand. */
  .pc-no-sidebar:not(.pc-sidebar-open):not(.pc-proxy-side) #sideBar { display: none !important; }
  .pc-no-sidebar:not(.pc-sidebar-open):not(.pc-proxy-side) #portlets { width: 100%; float: none; }
  /* Proxy login (PJC's BCProxyLogin form, rendered only for people allowed to proxy) stays where it always was, in the
     left column; everything else in the sidebar stays behind Page menu (Sebastian, 2026-10-05: "Same area of the
     page preferably"). */
  .pc-proxy-side:not(.pc-sidebar-open) #sidebar-slide-menu-container > :not(.pc-proxy-keep) { display: none !important; }
}
/* A signed-in person is never told how to log in (only the login-instructions message is hidden). */
.pc-signed-in-hidden { display: none !important; }
.pc-pagetools { display: none; }
@media screen and (min-width: 1026px) {
  .pc-pagetools { display: block; float: left; position: relative; margin: 9px 0 0 10px; z-index: 1000; }
  .pc-pagetools-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border-radius: 10px;
    color: #fff; font-size: 14px; font-weight: 700; background: transparent; border: 1.5px solid rgba(255,255,255,.45); cursor: pointer; }
  .pc-pagetools-btn:hover, .pc-pagetools-btn[aria-expanded="true"] { background: rgba(255,255,255,.14); border-color: #fff; }
  .pc-pagetools-btn:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
  .pc-pagetools-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
}
/* Site Manager, for the people JICS gives it to (pyro.js buildSiteManagerLink copies JICS's own account-menu link).
   Desktop only: on phones JICS's account menu is the way in. */
.pc-sitemgr { display: none; }
@media screen and (min-width: 1026px) {
  .pc-sitemgr, .pc-sitemgr:link, .pc-sitemgr:visited { display: inline-flex; float: left; position: relative; z-index: 1000; align-items: center; gap: 8px;
    box-sizing: border-box; min-height: 40px; margin: 9px 0 0 10px; padding: 8px 14px; border-radius: 10px; color: #fff; font-size: 14px;
    font-weight: 700; line-height: 1.2; text-decoration: none; background: transparent; border: 1.5px solid rgba(255,255,255,.45); }
  .pc-sitemgr:hover, .pc-sitemgr:focus { color: #fff; text-decoration: none; background: rgba(255,255,255,.14); border-color: #fff; }
  .pc-sitemgr:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
  .pc-sitemgr svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
}
@media screen and (min-width: 1026px) and (max-width: 1279px) {
  .pc-sitemgr { padding: 8px 11px; }
  .pc-sitemgr span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
}
/* Exactly 1025px: JICS keeps its phone layout up to 1025px but hides the slide-out button (.desktop-hide) from 1025px,
   so at 1025px the sidebar had no way in (Sol v5 r4; JICS's own gap, also in v4). Keep the button there. */
@media screen and (min-width: 1025px) and (max-width: 1025px) {
  #sidebar-slide-menu-button.desktop-hide { display: block !important; }
}
/* 1026-1279px: the guest login area ("Login" and "Need to login via a different method?") starts about 574px in, so
   Page menu shows its icon only and stays clear of it (Sol v5 r3). The name stays for screen readers. */
@media screen and (min-width: 1026px) and (max-width: 1279px) {
  .pc-pagetools-btn { padding: 8px 11px; }
  .pc-pagetools-btn span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
}
/* Content images fit their column at every width: the 920px Admissions banner overflowed a phone, and on desktop it
   overflowed whenever Page menu narrowed the content (Sol v5 r3). Only images that carry both a width and a height
   attribute get height:auto, so one shrunk keeps its proportions and nothing sized by height alone changes. */
#portlets img { max-width: 100%; }
#portlets img[width][height] { height: auto; }
/* ==========================================================================
   Course tables: the [CUS] SimpleQuery portlet (Find Courses term pages; v6)
   The portlet fetches its rows after the page loads and draws them with DataTables 1.9 in jQuery UI "ThemeRoller"
   style: grey gradient headers, a lavender first row, tiny sort sprites, a bordered "Export To" box. Restyled to the
   theme here; nothing is removed. A wide table scrolls inside its own box with the course column pinned, instead of
   running off the page. A location with no classes collapses to one line (pyro.js: enhanceCourseTables).
   ========================================================================== */
.pt_SimpleQuery .portlet-padding { padding-top: 10px; margin-top: 0; }
.pt_SimpleQuery .pContent { margin-top: 0; }
.pt_SimpleQuery [id$="_pnlQueryTitle"] h4 { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--pc-gray-600); letter-spacing: .01em; }
.pt_SimpleQuery [id$="_pnlExport"] { float: right; display: flex; align-items: center; gap: 6px; height: auto !important; border: 0 !important;
  margin: 0 0 6px !important; padding: 0 !important; font-size: 13px; color: var(--pc-gray-600); }
.pt_SimpleQuery [id$="_pnlExport"] span { float: none !important; margin: 0 !important; padding: 0 !important; }
.pt_SimpleQuery [id$="_pnlExport"] a { float: none !important; margin: 0 !important; padding: 4px 12px !important; border-radius: 999px;
  background: var(--pc-green-50) !important; color: var(--pc-green-800); font-weight: 700; text-decoration: none; }
/* The portlet writes "#<panel id> a { padding: 0 !important }" in its own markup: only an !important rule anchored on
   an id outranks it (Sol v6). #portlets is the theme's portlet area. */
#portlets .pt_SimpleQuery [id$="_pnlExport"] a { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 14px !important; }
.pt_SimpleQuery [id$="_pnlExport"] a:hover, .pt_SimpleQuery [id$="_pnlExport"] a:focus { background: var(--pc-green-100) !important; text-decoration: underline; }
.pt_SimpleQuery [id$="_divSQResults"] { float: none !important; }
.pt_SimpleQuery .dataTables_wrapper { clear: both; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pt_SimpleQuery .dataTables_wrapper .fg-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  background: transparent; border: 0; padding: 8px 0; color: var(--pc-gray-700); font-weight: 400; position: sticky; left: 0; }
.pt_SimpleQuery .dataTables_wrapper .fg-toolbar::before, .pt_SimpleQuery .dataTables_wrapper .fg-toolbar::after { display: none; }
.pt_SimpleQuery .dataTables_length, .pt_SimpleQuery .dataTables_filter, .pt_SimpleQuery .dataTables_info,
.pt_SimpleQuery .dataTables_paginate { float: none; text-align: left; font-size: 14px; }
.pt_SimpleQuery .dataTables_length select, .pt_SimpleQuery .dataTables_filter input { border: 1.5px solid #8a929e; border-radius: 8px;
  padding: 4px 8px; font-size: 14px; background: #fff; color: var(--pc-gray-900); }
.pt_SimpleQuery .dataTables_filter input { min-width: 180px; margin-left: 6px; }
.pt_SimpleQuery table.dataTable { width: 100% !important; border-collapse: separate; border-spacing: 0; margin: 0;
  border: 1.5px solid var(--pc-gray-200); border-radius: 10px; }
.pt_SimpleQuery table.dataTable thead th, .pt_SimpleQuery table.dataTable thead th.ui-state-default {
  background: var(--pc-green-800) !important; background-image: none !important; color: #fff !important; border: 0 !important;
  font-weight: 700; font-size: 12.5px; line-height: 1.25; padding: 8px 8px; text-align: left; vertical-align: bottom; cursor: pointer; }
.pt_SimpleQuery table.dataTable thead th:first-child { border-top-left-radius: 8px; }
.pt_SimpleQuery table.dataTable thead th:last-child { border-top-right-radius: 8px; }
.pt_SimpleQuery table.dataTable thead th:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: -3px; }
.pt_SimpleQuery .DataTables_sort_wrapper { display: flex; align-items: flex-end; gap: 4px; padding: 0; }
.pt_SimpleQuery .DataTables_sort_icon { float: none !important; flex: 0 0 auto; filter: brightness(0) invert(1); opacity: .75; }
.pt_SimpleQuery table.dataTable tbody td { background: #fff; padding: 6px 8px; border: 0; border-top: 1px solid var(--pc-gray-200);
  font-size: 13px; line-height: 1.3; color: var(--pc-gray-900); vertical-align: middle; }
.pt_SimpleQuery table.dataTable tbody tr.even td { background: var(--pc-gray-50); }
.pt_SimpleQuery table.dataTable tbody tr:hover td { background: var(--pc-green-50); }
.pt_SimpleQuery table.dataTable tbody td.sorting_1, .pt_SimpleQuery table.dataTable tbody td.sorting_2,
.pt_SimpleQuery table.dataTable tbody td.sorting_3 { background-color: inherit; }
.pt_SimpleQuery table.dataTable tbody tr.odd td.sorting_1, .pt_SimpleQuery table.dataTable tbody tr.odd td.sorting_2 { background: #fff; }
.pt_SimpleQuery table.dataTable tbody tr.even td.sorting_1, .pt_SimpleQuery table.dataTable tbody tr.even td.sorting_2 { background: var(--pc-gray-50); }
.pt_SimpleQuery table.dataTable tbody td:first-child { font-weight: 700; color: var(--pc-green-900); white-space: nowrap; }
/* The course column stays in view while a wide table scrolls sideways. */
.pt_SimpleQuery table.dataTable thead th:first-child, .pt_SimpleQuery table.dataTable tbody td:first-child { position: sticky; left: 0; z-index: 1; }
.pt_SimpleQuery table.dataTable tbody td:first-child { box-shadow: 1px 0 0 var(--pc-gray-200); }
.pt_SimpleQuery table.dataTable tbody td.dataTables_empty { text-align: center; color: var(--pc-gray-600); font-weight: 400; position: static; }
.pt_SimpleQuery .dataTables_paginate { display: flex; flex-wrap: wrap; gap: 4px; }
.pt_SimpleQuery .dataTables_paginate .fg-button, .pt_SimpleQuery .dataTables_paginate a {
  display: inline-flex; align-items: center; min-height: 32px; padding: 4px 10px !important; margin: 0 !important; border-radius: 8px !important;
  border: 1.5px solid var(--pc-gray-300) !important; background: #fff !important; background-image: none !important;
  color: var(--pc-green-800) !important; font-weight: 700; font-size: 13px; cursor: pointer; text-decoration: none; }
.pt_SimpleQuery .dataTables_paginate .fg-button:hover { background: var(--pc-green-50) !important; }
.pt_SimpleQuery .dataTables_paginate .ui-state-disabled { opacity: 1; background: var(--pc-green-800) !important; color: #fff !important;
  border-color: var(--pc-green-800) !important; cursor: default; }
.pt_SimpleQuery .dataTables_paginate .first.ui-state-disabled, .pt_SimpleQuery .dataTables_paginate .previous.ui-state-disabled,
.pt_SimpleQuery .dataTables_paginate .next.ui-state-disabled, .pt_SimpleQuery .dataTables_paginate .last.ui-state-disabled {
  background: #fff !important; color: var(--pc-gray-500) !important; border-color: var(--pc-gray-200) !important; }
/* A location with no classes this session: one line instead of an empty grid and its controls. */
.pt_SimpleQuery.pc-sq-empty .pSection { display: none !important; }
.pc-sq-none { margin: 2px 0 4px; padding: 10px 14px; border-radius: 10px; background: var(--pc-gray-100); color: var(--pc-gray-700); font-size: 14px; }
/* v31: Campus and Format chips above the course tables (pyro.js syncCourseFilter), and the "Find online classes" link
   next to the term pills. Chips are buttons with aria-pressed; the pressed one is green, like .pc-switch-opt. */
.pc-sq-bar { margin: 0 0 14px; padding: 12px 14px 10px; background: #fff; border: 1.5px solid var(--pc-gray-200);
  border-left: 4px solid var(--pc-green-700); border-radius: 12px; box-shadow: var(--pc-shadow); }
.pc-sq-bar-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pc-sq-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 8px; }
.pc-sq-group[hidden] { display: none; }
.pc-sq-group-name { flex: 0 0 auto; min-width: 62px; font-size: 12.5px; font-weight: 700; color: var(--pc-gray-600); text-transform: uppercase; letter-spacing: .05em; }
#portlets .pc-sq-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 0; padding: 6px 14px; border-radius: 999px;
  border: 1.5px solid var(--pc-gray-300); background: #fff; color: var(--pc-green-800); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.2;
  cursor: pointer; box-shadow: none; }
#portlets .pc-sq-chip:hover { background: var(--pc-green-50); }
#portlets .pc-sq-chip[aria-pressed="true"] { background: var(--pc-green-800); border-color: var(--pc-green-800); color: #fff; }
#portlets .pc-sq-chip:focus-visible, .pc-sq-toggle input:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
.pc-sq-count { font-weight: 400; font-size: 13px; opacity: .9; }
.pc-sq-count:empty { display: none; }
.pc-sq-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; font-size: 14px; font-weight: 700; color: var(--pc-green-800); cursor: pointer; }
.pc-sq-toggle input { width: 20px; height: 20px; margin: 0; accent-color: var(--pc-green-800); }
.pc-sq-summary { margin: 6px 0 0; font-size: 13.5px; color: var(--pc-gray-700); }
.pc-sq-summary:empty { display: none; }
.pc-sq-hide, .pc-sq-hide-empty { display: none !important; }
.pt_SimpleQuery.pc-sq-nomatch-on .pSection { display: none !important; }
.pc-subnav .pc-sq-online-link { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 0; min-height: 44px; padding: 6px 16px 6px 12px; border-radius: 999px;
  background: var(--pc-green-800); color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none !important; }
.pc-subnav .pc-sq-online-link:hover { background: var(--pc-green-900); }
.pc-subnav .pc-sq-online-link:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
.pc-subnav .pc-sq-online-link svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-subnav .pc-sq-online-link small { font-weight: 400; font-size: 12.5px; opacity: .9; }
@media print { .pc-sq-bar, .pc-sq-online-link { display: none !important; } .pc-sq-hide { display: block !important; } }
@media screen and (max-width: 700px) {
  .pc-sq-bar { padding: 10px 12px 8px; border-radius: 0 12px 12px 0; }
  .pc-sq-group-name { min-width: 0; width: 100%; }
}
/* Phones: each course is a card. The course code heads it, the title sits under it, and every other column is a
   labelled line (labels come from the table's own headings). Only a table pyro.js has finished labelling
   (labelCourseCells: pc-sq-cards) becomes cards; any other stays a table that scrolls inside its box (Sol v6). The
   headings stay on screen as a "Sort by" row of chips that scrolls sideways on its own, so sorting by touch and by
   keyboard (DataTables' own: Tab to a heading, Enter) still works and the focused heading is visible (Sol v6). */
@media screen and (max-width: 700px) {
  .pt_SimpleQuery [id$="_pnlExport"] { float: none; margin-bottom: 4px !important; }
  #portlets .pt_SimpleQuery [id$="_pnlExport"] a { min-height: 40px; }
  .pt_SimpleQuery .dataTables_wrapper .fg-toolbar { position: static; }
  .pt_SimpleQuery .dataTables_wrapper:has(> table.pc-sq-cards) { overflow-x: visible; }
  .pt_SimpleQuery .dataTables_length, .pt_SimpleQuery .dataTables_filter { width: 100%; }
  .pt_SimpleQuery .dataTables_filter label { display: flex; align-items: center; gap: 8px; width: 100%; }
  .pt_SimpleQuery .dataTables_filter input { flex: 1 1 auto; min-width: 0; width: auto; margin: 0; font-size: 16px; min-height: 40px; }
  .pt_SimpleQuery .dataTables_length select { font-size: 16px; min-height: 40px; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards, .pt_SimpleQuery table.dataTable.pc-sq-cards > thead, .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody,
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr, .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td { display: block; width: auto !important; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards { border: 0; border-radius: 0; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead { margin: 0 0 8px; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; overflow-x: auto;
    padding: 3px 3px 6px; -webkit-overflow-scrolling: touch; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr::before { content: "Sort by"; flex: 0 0 auto; font-size: 13px; font-weight: 700; color: var(--pc-gray-600); }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th, .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th.ui-state-default {
    display: inline-flex; flex: 0 0 auto; align-items: center; position: static; width: auto !important; min-height: 36px; padding: 6px 12px;
    border: 1.5px solid var(--pc-gray-300) !important; border-radius: 999px !important; background: #fff !important; color: var(--pc-green-800) !important;
    font-size: 13px; white-space: nowrap; vertical-align: middle; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th:has(.ui-icon-triangle-1-n, .ui-icon-triangle-1-s) {
    background: var(--pc-green-800) !important; border-color: var(--pc-green-800) !important; color: #fff !important; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th .DataTables_sort_icon { filter: none; opacity: .85; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th:has(.ui-icon-triangle-1-n, .ui-icon-triangle-1-s) .DataTables_sort_icon { filter: brightness(0) invert(1); }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > thead > tr > th:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 1px; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr { margin: 0 0 10px; padding: 10px 14px 8px; background: #fff;
    border: 1.5px solid var(--pc-gray-200); border-left: 4px solid var(--pc-green-700); border-radius: 12px; box-shadow: var(--pc-shadow); }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr:hover > td, .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td,
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr.even > td, .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td.sorting_1 { background: transparent; }
  /* The column name floats left and the value flows right as ordinary text, so a cell made of several pieces (a link
     and text, a line break) keeps them together (the Sol v7 finding on the employee cards, applied here too). */
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td { display: flow-root; padding: 5px 0; border: 0; border-top: 1px solid var(--pc-gray-100);
    font-size: 14.5px; text-align: right; overflow-wrap: anywhere; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td[data-pc-label]::before { content: attr(data-pc-label); float: left; max-width: 48%;
    margin: 1px 12px 0 0; text-align: left; font-weight: 700; font-size: 13px; color: var(--pc-gray-600); white-space: normal; overflow-wrap: normal; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td:first-child { position: static; box-shadow: none; display: block; border-top: 0;
    padding: 0; font-size: 17px; text-align: left; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td:first-child::before { content: none; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td.pc-sq-sub { display: block; border-top: 0; padding: 0 0 6px; text-align: left;
    font-size: 14.5px; font-weight: 600; color: var(--pc-gray-700); }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td.pc-sq-sub::before { content: none; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td a { display: inline-flex; align-items: center; min-height: 32px; }
  .pt_SimpleQuery table.dataTable.pc-sq-cards > tbody > tr > td.dataTables_empty { display: block; text-align: center; border: 0; }
  .pt_SimpleQuery .dataTables_paginate .fg-button, .pt_SimpleQuery .dataTables_paginate a { min-height: 40px; padding: 6px 12px !important; }
}
/* ==========================================================================
   My Employee Information: Jenzabar's staff portlet (pt_StaffPortletPortlet; v7)
   Every rule hangs off a class pyro.js adds (enhanceEmployeeInfo), so if the script does not run the portlet looks
   exactly as Jenzabar draws it. Main screen: the links as tiles. Detail screen: JICS's tabs as pills, the grids
   restyled (Jenzabar's StaffPortlet.css navy, lavender and maroon overridden), and on phones each row a card.
   ========================================================================== */
table.pc-emp-menu, table.pc-emp-menu > tbody { display: block; width: 100%; }
table.pc-emp-menu { container-type: inline-size; }
table.pc-emp-menu > tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; padding: 2px 0 6px; }
/* Six tiles: three across, two across, or one, by the width the portlet actually has (its column can be narrow). */
@container (max-width: 559px) { table.pc-emp-menu > tbody { grid-template-columns: 1fr; gap: 10px; } }
@container (min-width: 560px) { table.pc-emp-menu > tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 860px) { table.pc-emp-menu > tbody { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
table.pc-emp-menu > tbody > tr, table.pc-emp-menu > tbody > tr > td { display: block; padding: 0; border: 0; background: none; }
table.pc-emp-menu > tbody > tr:not([data-pc-emp]) { grid-column: 1 / -1; }
table.pc-emp-menu > tbody > tr.pc-emp-gap { display: none; }
a.pc-emp-tile, a.pc-emp-tile:link, a.pc-emp-tile:visited { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: center;
  box-sizing: border-box; height: 100%; min-height: 84px; padding: 14px 16px; background: #fff; color: var(--pc-gray-900); text-decoration: none;
  border: 1.5px solid var(--pc-gray-200); border-top: 4px solid var(--pc-green-700); border-radius: var(--pc-radius-lg);
  box-shadow: var(--pc-shadow); transition: box-shadow .15s, border-color .15s; }
a.pc-emp-tile:hover, a.pc-emp-tile:focus { color: var(--pc-gray-900); text-decoration: none; border-top-color: var(--pc-gold-400); box-shadow: var(--pc-shadow-md); }
a.pc-emp-tile:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
.pc-emp-ico { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px;
  background: var(--pc-green-50); color: var(--pc-green-800); }
a.pc-emp-tile:hover .pc-emp-ico, a.pc-emp-tile:focus .pc-emp-ico { background: var(--pc-gold-100); color: var(--pc-gold-700); }
.pc-emp-ico svg, .pc-emp-pdf svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pc-emp-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pc-emp-name { font-size: 15.5px; font-weight: 800; color: var(--pc-green-900); line-height: 1.25; }
.pc-emp-desc { font-size: 13px; color: var(--pc-gray-600); line-height: 1.35; }
table.pc-emp-menu [id$="_lblError"]:not(:empty) { display: block; padding: 10px 14px; border-radius: 10px; background: #fdecea; color: #8a1c1c; font-weight: 600; }
/* Detail screen: the tabs as pills. tabClick() only swaps the "selected" class and each panel's display. */
.pc-emp-detail div.tabGroup ul.tabHeaders { display: flex; flex-wrap: wrap; gap: 8px; height: auto; margin: 0 0 16px; padding: 0;
  list-style: none; border: 0; background: none; }
.pc-emp-detail div.tabGroup ul.tabHeaders li { float: none; display: block; margin: 0; padding: 0; border: 0; background: none; }
.pc-emp-detail div.tabGroup ul.tabHeaders li:not(:has(> a)) { display: none; }
.pc-emp-detail div.tabGroup ul.tabHeaders li a, .pc-emp-detail div.tabGroup ul.tabHeaders li a:link,
.pc-emp-detail div.tabGroup ul.tabHeaders li a:visited { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 40px; margin: 0;
  padding: 8px 16px; border: 1.5px solid var(--pc-gray-300); border-radius: 999px; background: #fff; color: var(--pc-green-800);
  font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.pc-emp-detail div.tabGroup ul.tabHeaders li a:hover { background: var(--pc-green-50); border-color: var(--pc-green-700); color: var(--pc-green-900); }
.pc-emp-detail div.tabGroup ul.tabHeaders li.selected a, .pc-emp-detail div.tabGroup ul.tabHeaders li.selected a:link,
.pc-emp-detail div.tabGroup ul.tabHeaders li.selected a:visited, .pc-emp-detail div.tabGroup ul.tabHeaders li.selected a:hover {
  background: var(--pc-green-800); border-color: var(--pc-green-800); color: #fff; }
.pc-emp-detail div.tabGroup ul.tabHeaders li a:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
/* A pill clicked or tapped keeps focus; the ring is for the keyboard only. */
.pc-emp-detail div.tabGroup ul.tabHeaders li a:focus:not(:focus-visible), a.pc-emp-tile:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.pc-emp-detail div.tabGroup div.tabContent { border: 0; padding: 0; background: none; }
/* Layout tables around the grids are plain blocks at every width: no 10px cell spacing, no spacer rows or columns, no
   leading line break, and no table sizing, so a grid's scroll box (.pc-emp-scroll) is held to the portlet's width
   instead of a layout cell stretching to fit the grid (Sol v7). */
.pc-emp-detail table.pc-emp-layout, .pc-emp-detail table.pc-emp-layout > tbody, .pc-emp-detail table.pc-emp-layout > tbody > tr,
.pc-emp-detail table.pc-emp-layout > tbody > tr > td { display: block; width: auto !important; }
.pc-emp-detail table.pc-emp-layout > tbody > tr > td { padding: 0 0 10px; }
.pc-emp-detail table.pc-emp-layout td[width="400"] { max-width: 70ch; }
.pc-emp-detail table.pc-emp-layout > tbody > tr.pc-emp-spacer,
.pc-emp-detail table.pc-emp-layout > tbody > tr > td[width="20"],
.pc-emp-detail table.pc-emp-layout > tbody > tr > td > br:first-child { display: none; }
.pc-emp-detail .tabContent span[style*="1.4em"] { display: block; font-size: 18px !important; font-weight: 800; color: var(--pc-green-900); }
.pc-emp-detail .tabContent span[style*="1.2em"] { font-size: 14px !important; font-weight: 700; color: var(--pc-gray-700); margin-right: 8px; }
.pc-emp-detail select[id$="_ddlPayStatements"] { min-height: 40px; padding: 6px 10px; border: 1.5px solid #8a929e; border-radius: 8px;
  background: #fff; color: var(--pc-gray-900); font-size: 15px; }
.pc-emp-detail [id$="_lblDedError"], .pc-emp-detail [id$="_lblPosError"], .pc-emp-detail [id$="_lblTaxError"],
.pc-emp-detail [id$="_lblDepError"] { display: block; padding: 10px 14px; border-radius: 10px; background: var(--pc-gray-100);
  color: var(--pc-gray-700); font-size: 14px; }
/* The grids. Each sits in its own scroll box (pyro.js adds .pc-emp-scroll once the grid is labelled): a grid wider
   than the portlet (the tax grid has up to 13 columns) scrolls inside it, with its first column pinned, and never
   widens the page (Sol v7). */
.pc-emp-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 2px 2px 4px; }
.pc-emp-detail table.pc-emp-data { width: 100%; max-width: 980px; margin: 0 0 6px; border-collapse: separate; border-spacing: 0; background: #fff;
  border: 1.5px solid var(--pc-gray-200); border-radius: 10px; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-head > :first-child { border-top-left-radius: 8px; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-head > :last-child { border-top-right-radius: 8px; }
@media screen and (min-width: 701px) {
  .pc-emp-detail .pc-emp-scroll > table.pc-emp-data tr:not(.pc-emp-caption):not(.pc-emp-cont) > :first-child { position: sticky; left: 0; z-index: 1; }
  .pc-emp-detail .pc-emp-scroll > table.pc-emp-data tr:not(.pc-emp-head):not(.pc-emp-caption):not(.pc-emp-cont) > td:first-child { box-shadow: 1px 0 0 var(--pc-gray-200); }
}
/* Dependents: the server adds a full-width "Address if different" row under a dependent; it reads as part of that row. */
.pc-emp-detail table.pc-emp-data tr.pc-emp-cont > td { border-top: 0 !important; padding-top: 0; color: var(--pc-gray-700); white-space: normal !important; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-head > th, .pc-emp-detail table.pc-emp-data tr.pc-emp-head > td {
  background: var(--pc-green-800) !important; color: #fff !important; border: 0 !important; padding: 10px 12px; font-size: 13px;
  font-weight: 700; line-height: 1.3; text-align: left; vertical-align: bottom; white-space: normal; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-head .white { color: #fff; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-caption > td { background: var(--pc-green-50) !important; border: 0 !important; padding: 10px 12px;
  color: var(--pc-green-900); font-size: 14px; }
.pc-emp-detail table.pc-emp-data td { background: #fff !important; border: 0 !important; border-top: 1px solid var(--pc-gray-200) !important;
  padding: 10px 12px; font-size: 14px; line-height: 1.35; color: var(--pc-gray-900); vertical-align: middle; white-space: normal !important; }
/* Text may wrap at every width: !important outranks the inline style="white-space:nowrap" ASP.NET writes for Wrap=False
   columns, which would otherwise make a grid wider than it needs to be. Amounts stay on one line. */
.pc-emp-detail table.pc-emp-data .pc-emp-num { text-align: right; }
.pc-emp-detail table.pc-emp-data tr:not(.pc-emp-head) > td.pc-emp-num { white-space: nowrap !important; }
.pc-emp-detail table.pc-emp-data .pc-emp-blankcol { display: none !important; }
.pc-emp-detail table.pc-emp-data td.pc-emp-key { font-weight: 800; }
.pc-emp-detail table.pc-emp-data .maroonitalicbold { color: #b42318; font-style: normal; font-weight: 800; }
.pc-emp-detail table.pc-emp-data .green, .pc-emp-detail table.pc-emp-data .maroon { color: inherit; }
.pc-emp-detail table.pc-emp-data tr.pc-emp-void td { color: var(--pc-gray-600); }
.pc-emp-detail table.pc-emp-data td a[target="_blank"] { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.pc-emp-pdf { display: inline-flex; line-height: 0; }
.pc-emp-pdf svg { width: 16px; height: 16px; }
.pc-emp-cb { display: none !important; }
/* Phones: every row a card. Its first cell heads it; every other cell is a labelled line, a blank one is left out. */
@media screen and (max-width: 700px) {
  a.pc-emp-tile, a.pc-emp-tile:link, a.pc-emp-tile:visited { min-height: 0; padding: 12px 14px; column-gap: 12px; grid-template-columns: 40px 1fr; }
  .pc-emp-ico { width: 40px; height: 40px; border-radius: 10px; }
  .pc-emp-detail div.tabGroup ul.tabHeaders { gap: 6px; }
  .pc-emp-detail div.tabGroup ul.tabHeaders li a, .pc-emp-detail div.tabGroup ul.tabHeaders li a:link,
  .pc-emp-detail div.tabGroup ul.tabHeaders li a:visited { min-height: 44px; padding: 8px 14px; }
  .pc-emp-detail select[id$="_ddlPayStatements"] { display: block; width: 100%; margin-top: 6px; min-height: 44px; font-size: 16px; }
  .pc-emp-detail table.pc-emp-data, .pc-emp-detail table.pc-emp-data > thead, .pc-emp-detail table.pc-emp-data > tbody,
  .pc-emp-detail table.pc-emp-data tr, .pc-emp-detail table.pc-emp-data td { display: block; width: auto !important; }
  .pc-emp-detail table.pc-emp-data { border: 0; border-radius: 0; background: none; overflow: visible; }
  .pc-emp-detail table.pc-emp-data tr.pc-emp-head:not(.pc-emp-head-live) { position: absolute; width: 1px !important; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .pc-emp-detail table.pc-emp-data tr:not(.pc-emp-head):not(.pc-emp-caption) { margin: 0 0 10px; padding: 10px 14px 8px; background: #fff;
    border: 1.5px solid var(--pc-gray-200); border-left: 4px solid var(--pc-green-700); border-radius: 12px; box-shadow: var(--pc-shadow); }
  .pc-emp-detail table.pc-emp-data tr.pc-emp-void { border-left-color: var(--pc-gray-300) !important; }
  /* A labelled line: the column name floats left and the value flows to the right as ordinary text, so a value made of
     several pieces (the dependents' "Home: ...<br>Work : ..." phone cell) keeps its own lines (Sol v7). */
  .pc-emp-detail table.pc-emp-data td { display: flow-root; padding: 6px 0; text-align: right; overflow-wrap: anywhere;
    border: 0 !important; border-top: 1px solid var(--pc-gray-100) !important; background: transparent !important; font-size: 15px; }
  /* The name wraps inside its 52% even on an amount line, which itself never wraps (white-space is inherited, and a
     nowrap name ran over the amount at 320px: Sol v7 r2). */
  .pc-emp-detail table.pc-emp-data td[data-pc-label]::before { content: attr(data-pc-label); float: left; max-width: 52%; margin: 1px 12px 0 0;
    text-align: left; font-weight: 700; font-size: 13px; color: var(--pc-gray-600); white-space: normal; overflow-wrap: normal; }
  /* The address row joins the card above it. */
  .pc-emp-detail table.pc-emp-data tr.pc-emp-has-cont { margin-bottom: 0 !important; border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; box-shadow: none !important; padding-bottom: 2px !important; }
  .pc-emp-detail table.pc-emp-data tr.pc-emp-cont { margin-top: 0 !important; border-top: 0 !important; border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important; padding-top: 4px !important; }
  .pc-emp-detail table.pc-emp-data tr.pc-emp-cont > td:first-child { display: block; padding: 6px 0 0; text-align: left; font-size: 14.5px;
    font-weight: 400; color: var(--pc-gray-700); border-top: 1px solid var(--pc-gray-100) !important; }
  .pc-emp-detail table.pc-emp-data tr > td:first-child { display: block; padding: 0 0 6px; border-top: 0 !important; font-size: 16.5px;
    font-weight: 800; color: var(--pc-green-900); text-align: left; }
  .pc-emp-detail table.pc-emp-data tr > td:first-child::before { content: none; }
  .pc-emp-detail table.pc-emp-data tr.pc-emp-caption > td { padding: 0 0 8px; background: none !important; border: 0 !important; font-size: 15px; }
  .pc-emp-detail table.pc-emp-data td.pc-emp-blank { display: none !important; }
  .pc-emp-detail table.pc-emp-data td.pc-emp-key { font-size: 17px; }
  .pc-emp-detail table.pc-emp-data td a[target="_blank"] { min-height: 32px; }
}
/* Home portlets the landing replaces (see HIDE_ON_HOME in javascript.js). */
.pc-hidden-portlet, .pc-empty-column { display: none !important; }
@media screen and (min-width: 992px) { .pc-full-column, .pc-lone-column { width: 100% !important; } }
/* "Most used" stands out a little: gold top rule. */
.pc-group-popular .pc-tile, .pc-group-popular .pc-tile:link, .pc-group-popular .pc-tile:visited { border-top-color: var(--pc-gold-400); }
.pc-group-popular .pc-tile-ico { background: var(--pc-gold-100); color: #8a5a00; }
/* Signed-out landing replaces the page banner with the hero. Signed-in keeps the banner (it can hold page-editing buttons). */
.pc-landing-guest #portlets > .page-title-bar, .pc-landing-guest #portlets > .page-title-btn { display: none; }
/* Tab pages: "All tools" (finder + tiles) under the tab's own content. */
.pc-landing-tab { margin: 30px 0 10px; padding-top: 22px; border-top: 1.5px solid var(--pc-gray-200); }
.pc-landing-tab .pc-tab-tools-title { font-size: 13px; color: var(--pc-green-900); }
.pc-landing-tab .pc-finder { margin: 0 0 22px; max-width: 560px; }
.pc-landing-tab .pc-finder input { box-shadow: var(--pc-shadow); }
.pc-landing-member .pc-finder { margin: 0 0 22px; max-width: none; }
.pc-landing-member .pc-finder input { box-shadow: var(--pc-shadow); }

.pc-hero { position: relative; overflow: hidden; background: var(--pc-hero); color: #fff; border-radius: 18px;
  border-bottom: 5px solid var(--pc-gold-400); box-shadow: 0 10px 30px rgba(13,51,24,.25); padding: 34px 220px 34px 36px; }
.pc-hero::after { content: ""; position: absolute; right: 48px; bottom: -26px; width: 130px; height: 192px;
  background: url("images/pyro/flame.png") no-repeat center / contain; opacity: .3; pointer-events: none; }
.pc-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pc-gold-400); }
.pc-hero h2 { margin: 0; color: #fff; font-size: 36px; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; }
.pc-hero-sub { margin: 10px 0 0; max-width: 620px; font-size: 16.5px; line-height: 1.5; color: #d7efe0; }
.pc-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.pc-cta, .pc-cta:link, .pc-cta:visited { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;
  padding: 10px 22px; border-radius: 10px; font-size: 15px; font-weight: 800; text-decoration: none; cursor: pointer; line-height: 1.2; }
.pc-cta-gold, .pc-cta-gold:link, .pc-cta-gold:visited { background: var(--pc-gold-400); color: var(--pc-green-900); border: 0;
  box-shadow: 0 3px 0 var(--pc-gold-600); }
.pc-cta-gold:hover, .pc-cta-gold:focus { background: var(--pc-gold-500); color: var(--pc-green-900); text-decoration: none; }
.pc-cta-ghost, .pc-cta-ghost:link, .pc-cta-ghost:visited { background: rgba(255,255,255,.1); color: #fff; border: 1.5px solid rgba(255,255,255,.55); }
.pc-cta-ghost:hover, .pc-cta-ghost:focus { background: rgba(255,255,255,.2); color: #fff; text-decoration: none; }
.pc-cta:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
.pc-hero .pc-cta:focus-visible { outline-color: var(--pc-gold-400); }

/* Landing body: tiles beside a "What's happening" column on wide screens, stacked below that. */
.pc-landing-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px 24px; align-items: start; }
@media screen and (min-width: 1200px) {
  .pc-landing-body { grid-template-columns: minmax(0, 1fr) 360px; }
  .pc-landing-main .pc-tiles { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
}

/* ---------- "What's happening" (public PJC Calendar; built by javascript.js) ---------- */
.pc-landing-aside { display: grid; gap: 18px; min-width: 0; }
.pc-cal-name, .pc-cal-loc > span { overflow-wrap: anywhere; }
.pc-cal-loc > span { min-width: 0; }
.pc-cal-loading { margin: 0; padding: 18px; color: var(--pc-gray-600); background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: var(--pc-radius-lg); }
.pc-cal-card { background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow-md);
  padding: 16px 16px 12px; }
.pc-cal-dates { border-top: 4px solid var(--pc-gold-400); }
.pc-cal-events { border-top: 4px solid var(--pc-green-700); }
.pc-cal-title { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 16px; font-weight: 800; color: var(--pc-green-900); }
.pc-cal-title-ico { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 9px;
  background: var(--pc-green-50); color: var(--pc-green-800); }
.pc-cal-dates .pc-cal-title-ico { background: var(--pc-gold-100); color: #8a5a00; }
.pc-cal-title-ico svg, .pc-cal-loc svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pc-cal-list { list-style: none; margin: 0; padding: 0; }
.pc-cal-list > li + li { border-top: 1px solid var(--pc-gray-200); }
.pc-cal-item, .pc-cal-item:link, .pc-cal-item:visited { display: flex; align-items: center; gap: 12px; padding: 10px 6px; margin: 0 -6px;
  border-radius: 10px; color: var(--pc-gray-900); text-decoration: none; }
.pc-cal-item:hover, .pc-cal-item:focus { background: var(--pc-green-50); color: var(--pc-gray-900); text-decoration: none; }
.pc-date-badge { flex: 0 0 48px; width: 48px; height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; background: var(--pc-green-800); color: #fff; line-height: 1; box-shadow: inset 0 -3px 0 var(--pc-gold-400); }
.pc-date-mon { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-gold-400); }
.pc-date-day { margin-top: 3px; font-size: 21px; font-weight: 800; }
.pc-cal-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pc-cal-name { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--pc-green-900); }
.pc-cal-meta { font-size: 12.5px; color: var(--pc-gray-600); }
.pc-cal-when { font-weight: 700; color: var(--pc-gray-700); }
.pc-cal-when.pc-soon { color: #8a5a00; }
.pc-cal-loc { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--pc-gray-600); }
.pc-cal-loc svg { width: 14px; height: 14px; flex: 0 0 14px; }
.pc-cal-thumb { position: relative; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--pc-green-50); }
.pc-cal-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-cal-thumb-date { position: absolute; left: 0; right: 0; bottom: 0; padding: 2px 0; text-align: center; font-size: 10.5px; font-weight: 800;
  color: #fff; background: rgba(13,51,24,.82); }
.pc-cal-more, .pc-cal-more:link, .pc-cal-more:visited { display: inline-block; margin-top: 8px; font-size: 13.5px; font-weight: 700; color: var(--pc-green-800); }
.pc-cal-more::after { content: " \2197"; }
.pc-cal-empty { margin: 0; padding: 8px 0; color: var(--pc-gray-600); font-size: 13.5px; }

.pc-finder { position: relative; max-width: 560px; margin: -26px auto 26px; z-index: 2; }
.pc-finder input { width: 100%; height: 54px; padding: 0 18px 0 50px; font-size: 16px; color: var(--pc-gray-900); background: #fff;
  border: 1.5px solid var(--pc-gray-200); border-radius: 14px; box-shadow: 0 10px 28px rgba(0,0,0,.12); -webkit-appearance: none; appearance: none; }
.pc-finder input:focus { outline: none; border-color: var(--pc-green-600); box-shadow: 0 0 0 4px rgba(46,125,50,.18), 0 10px 28px rgba(0,0,0,.12); }
.pc-finder::before { content: ""; position: absolute; left: 18px; top: 50%; width: 18px; height: 18px; margin-top: -9px; pointer-events: none;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); }

.pc-group { margin: 0 0 24px; }
.pc-group-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--pc-gray-600); }
.pc-group-title::after { content: ""; flex: 1; height: 1px; background: var(--pc-gray-200); }
.pc-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.pc-tile, .pc-tile:link, .pc-tile:visited { position: relative; display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; row-gap: 2px;
  align-items: center; min-height: 88px; padding: 16px 18px; background: #fff; color: var(--pc-gray-900); text-decoration: none;
  border: 1.5px solid var(--pc-gray-200); border-top: 4px solid var(--pc-green-700); border-radius: var(--pc-radius-lg);
  box-shadow: 0 1px 3px rgba(10,30,18,.06); transition: box-shadow .15s, transform .15s, border-color .15s; }
.pc-tile:hover, .pc-tile:focus { color: var(--pc-gray-900); text-decoration: none; border-top-color: var(--pc-gold-400);
  box-shadow: 0 10px 24px rgba(10,30,18,.14); transform: translateY(-2px); }
.pc-tile-ico { grid-row: 1 / span 2; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: var(--pc-green-50); color: var(--pc-green-800); transition: background .15s, color .15s; }
.pc-tile-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pc-tile:hover .pc-tile-ico, .pc-tile:focus .pc-tile-ico { background: var(--pc-gold-100); color: var(--pc-gold-700); }
.pc-tile-ext svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-landing #TargetedMessage.targeted-message { top: 0; margin: 0 0 24px; }

/* ==========================================================================
   v4 home: one page per user type (built by javascript.js; see EXPERIENCES there)
   Order on every screen: [view switch] -> Right now -> quick links -> tasks -> search / browse all; dates and events
   beside (wide) or below (narrow).
   ========================================================================== */
.pc-home .pc-landing-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pc-home .pc-group { margin: 0; }
.pc-hero-compact { padding: 26px 200px 26px 30px; }
.pc-hero-compact h2 { font-size: 30px; }
.pc-hero-compact .pc-hero-actions { margin-top: 16px; }
.pc-home > .pc-login-help, .pc-home > #TargetedMessage.targeted-message { margin: 16px 0 0; }
.pc-home > .pc-landing-body { margin-top: 18px; }
.pc-landing-member.pc-home > .pc-landing-body { margin-top: 0; }

/* Pyro Central: the students' hub, first on their home page */
.pc-feature, .pc-feature:link, .pc-feature:visited { position: relative; overflow: hidden; display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  padding: 20px 24px; border-radius: 18px; background: var(--pc-hero); color: #fff; text-decoration: none;
  border-bottom: 5px solid var(--pc-gold-400); box-shadow: 0 10px 28px rgba(13,51,24,.25); }
.pc-feature::after { content: ""; position: absolute; right: 26px; bottom: -22px; width: 92px; height: 136px; pointer-events: none;
  background: url("images/pyro/flame.png") no-repeat center / contain; opacity: .18; }
.pc-feature:hover, .pc-feature:focus { color: #fff; text-decoration: none; box-shadow: 0 14px 34px rgba(13,51,24,.35); }
.pc-feature:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 3px; }
.pc-feature-ico { flex: 0 0 56px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 16px;
  background: rgba(245,184,0,.18); border: 1.5px solid rgba(245,184,0,.55); color: var(--pc-gold-400); }
.pc-feature-ico svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-feature-body { display: flex; flex-direction: column; gap: 2px; flex: 1 1 260px; min-width: 0; position: relative; z-index: 1; }
.pc-feature-eyebrow { font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pc-gold-400); }
.pc-feature-title { font-size: 26px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.pc-feature-desc { font-size: 15.5px; line-height: 1.45; color: #d7efe0; }
.pc-feature-cta { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 22px;
  border-radius: 12px; background: var(--pc-gold-400); color: var(--pc-green-900); font-size: 15.5px; font-weight: 800; box-shadow: 0 3px 0 var(--pc-gold-600); }
.pc-feature:hover .pc-feature-cta, .pc-feature:focus .pc-feature-cta { background: var(--pc-gold-500); }
.pc-feature-cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media screen and (max-width: 600px) {
  .pc-feature, .pc-feature:link, .pc-feature:visited { padding: 16px; gap: 12px; }
  .pc-feature-ico { flex-basis: 44px; width: 44px; height: 44px; }
  .pc-feature-title { font-size: 22px; }
  .pc-feature-desc { font-size: 14.5px; }
  .pc-feature-cta { flex: 1 1 100%; justify-content: center; }
}

/* Right now */
.pc-now { background: #fff; border: 1.5px solid var(--pc-gray-200); border-top: 5px solid var(--pc-gold-400); border-radius: var(--pc-radius-lg);
  box-shadow: var(--pc-shadow-md); padding: 14px 18px 14px; }
.pc-now-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #8a5a00; }
.pc-now-ico { flex: 0 0 30px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 9px;
  background: var(--pc-gold-100); color: #8a5a00; }
.pc-now-ico svg, .pc-now-cta svg, .pc-utility-link svg, .pc-find-hit svg, .pc-all-item svg, .pc-all-sum svg, .pc-cal-chev {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.pc-now-item { display: flex; align-items: center; gap: 14px; }
.pc-now-primary { flex-wrap: wrap; }
.pc-now-primary .pc-date-badge { flex-basis: 60px; width: 60px; height: 66px; }
.pc-now-primary .pc-date-day { font-size: 26px; }
.pc-now-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 240px; }
.pc-now-name, .pc-now-name:link, .pc-now-name:visited { font-size: 19px; font-weight: 800; line-height: 1.25; color: var(--pc-green-900);
  text-decoration: none; overflow-wrap: anywhere; }
a.pc-now-name:hover, a.pc-now-name:focus { color: var(--pc-green-700); text-decoration: underline; }
.pc-now-when { font-size: 14px; font-weight: 700; color: var(--pc-gray-700); }
.pc-now-when.pc-soon { color: #8a5a00; }
.pc-now-src { font-size: 12.5px; color: var(--pc-gray-600); }
.pc-now-cta, .pc-now-cta:link, .pc-now-cta:visited { margin-left: auto; }
.pc-now-next { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pc-gray-200); }
.pc-now-next .pc-date-badge { flex-basis: 44px; width: 44px; height: 48px; }
.pc-now-next .pc-date-day { font-size: 19px; }
.pc-now-next .pc-now-name { font-size: 15.5px; }
.pc-now-label { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--pc-gray-500); }
.pc-now-more, .pc-now-more:link, .pc-now-more:visited { display: inline-block; margin-top: 10px; font-size: 13.5px; font-weight: 700; color: var(--pc-green-800); }
.pc-now-empty { margin: 2px 0; color: var(--pc-gray-600); font-size: 14.5px; }
/* The calendar did not load: Try again, beside the link to the calendar itself (pyro.js retryButton). */
.pc-now-actions, .pc-cal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; }
.pc-now-actions .pc-now-more, .pc-cal-actions .pc-cal-more { margin: 0; }
.pc-now-retry, .pc-cal-retry { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 40px; padding: 8px 16px;
  border-radius: 999px; border: 1.5px solid var(--pc-green-700); background: #fff; color: var(--pc-green-800); font-size: 14px;
  font-weight: 700; line-height: 1.2; cursor: pointer; }
.pc-now-retry:hover, .pc-cal-retry:hover { background: var(--pc-green-50); }
.pc-now-retry:focus-visible, .pc-cal-retry:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }

/* Blackboard and email */
.pc-utility { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-utility-link, .pc-utility-link:link, .pc-utility-link:visited { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px;
  border-radius: 999px; background: #fff; border: 1.5px solid var(--pc-gray-200); box-shadow: var(--pc-shadow); font-size: 14.5px; font-weight: 700;
  color: var(--pc-green-900); text-decoration: none; }
.pc-utility-link:hover, .pc-utility-link:focus { border-color: var(--pc-green-600); background: var(--pc-green-50); color: var(--pc-green-900); text-decoration: none; }
.pc-utility-link svg { color: var(--pc-green-800); }

/* Tasks: three across on wide screens, two on tablets, one on phones */
.pc-home .pc-landing-main .pc-task-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media screen and (max-width: 900px) { .pc-home .pc-landing-main .pc-task-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Search and "Browse all tools" */
.pc-dir { display: grid; gap: 12px; }
.pc-home .pc-dir-find { margin: 0; max-width: none; }
.pc-home .pc-dir-find input { height: 50px; box-shadow: var(--pc-shadow); }
.pc-find-results { list-style: none; margin: 8px 0 0; padding: 6px; background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: 12px;
  box-shadow: var(--pc-shadow-md); }
.pc-find-hit, .pc-find-hit:link, .pc-find-hit:visited, .pc-all-item, .pc-all-item:link, .pc-all-item:visited { display: flex; align-items: center; gap: 10px;
  min-height: 44px; padding: 8px 10px; border-radius: 8px; color: var(--pc-gray-900); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.pc-find-hit:hover, .pc-find-hit:focus, .pc-all-item:hover, .pc-all-item:focus { background: var(--pc-green-50); color: var(--pc-green-900); text-decoration: none; }
.pc-find-hit svg, .pc-all-item svg { color: var(--pc-green-800); }
.pc-find-none { padding: 10px; color: var(--pc-gray-600); }
.pc-all { background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); }
.pc-all-sum { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 16px; cursor: pointer; list-style: none;
  font-size: 15px; font-weight: 800; color: var(--pc-green-900); border-radius: var(--pc-radius-lg); }
.pc-all-sum::-webkit-details-marker { display: none; }
.pc-all-sum:hover { background: var(--pc-gray-50); }
.pc-all-count { padding: 1px 9px; border-radius: 999px; background: var(--pc-green-50); color: var(--pc-green-800); font-size: 12.5px; }
.pc-all-chev { margin-left: auto; transition: transform .15s; }
.pc-all[open] .pc-all-chev { transform: rotate(180deg); }
.pc-all-body { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 22px; padding: 2px 16px 14px;
  border-top: 1px solid var(--pc-gray-200); }
.pc-all-title { margin: 14px 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pc-gray-500); }
.pc-all-list { list-style: none; margin: 0; padding: 0; }

/* Student who is also an employee: which home page */
.pc-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pc-switch-label { font-weight: 700; color: var(--pc-gray-700); }
.pc-switch-ask { padding: 14px 16px; background: var(--pc-gold-100); border: 1.5px solid #f3dc8a; border-radius: 12px; }
.pc-switch-ask .pc-switch-label { color: var(--pc-green-900); font-size: 16px; }
.pc-switch-opts { display: inline-flex; border: 1.5px solid var(--pc-green-700); border-radius: 10px; overflow: hidden; background: #fff; }
.pc-switch-opt { min-height: 44px; padding: 8px 18px; background: #fff; border: 0; font-size: 14.5px; font-weight: 700; color: var(--pc-green-800); cursor: pointer; }
.pc-switch-opt + .pc-switch-opt { border-left: 1.5px solid var(--pc-green-700); }
.pc-switch-opt:hover { background: var(--pc-green-50); }
.pc-switch-opt[aria-pressed="true"] { background: var(--pc-green-800); color: #fff; }

/* A task whose page is still being confirmed: same size as a tile, quietly pulsing */
.pc-tile-wait { border-top-color: var(--pc-gray-200) !important; box-shadow: none !important; transform: none !important; }
.pc-tile-wait .pc-tile-ico, .pc-tile-wait .pc-tile-name { background: var(--pc-gray-100); border-radius: 8px; color: transparent; }
.pc-tile-wait .pc-tile-name { width: 60%; }
@media (prefers-reduced-motion: no-preference) { .pc-tile-wait { animation: pc-wait 1.2s ease-in-out infinite alternate !important; } }
@keyframes pc-wait { from { opacity: .55; } to { opacity: 1; } }

/* Tab pages: this tab's pages as a row of links above the content */
.pc-subnav { margin: 0 0 18px; }
.pc-subnav-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.pc-subnav-link, .pc-subnav-link:link, .pc-subnav-link:visited { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px;
  border-radius: 999px; background: #fff; border: 1.5px solid var(--pc-gray-200); font-size: 15px; font-weight: 700; color: var(--pc-green-900);
  text-decoration: none; }
.pc-subnav-link:hover, .pc-subnav-link:focus { border-color: var(--pc-green-600); background: var(--pc-green-50); color: var(--pc-green-900); text-decoration: none; }
.pc-subnav-link[aria-current="page"] { background: var(--pc-green-800); border-color: var(--pc-green-800); color: #fff; }
@media screen and (max-width: 600px) {
  /* Phones: one swipeable row instead of a wall of pills */
  .pc-subnav-list { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
  .pc-subnav-link, .pc-subnav-link:link, .pc-subnav-link:visited { white-space: nowrap; }
}
.pc-landing-tab .pc-dir-find { margin: 0; max-width: 560px; }

/* Standalone links are at least 44px tall to tap */
.pc-now-more, .pc-now-more:link, .pc-now-more:visited, .pc-cal-more, .pc-cal-more:link, .pc-cal-more:visited {
  display: inline-flex; align-items: center; min-height: 44px; }
.pc-utility-link, .pc-utility-link:link, .pc-utility-link:visited { font-size: 15.5px; }

/* Events fold away on narrow screens */
details.pc-cal-card > summary { list-style: none; cursor: pointer; }
details.pc-cal-card > summary::-webkit-details-marker { display: none; }
details.pc-cal-card:not([open]) > .pc-cal-title { margin: 0; }
details.pc-cal-card:not([open]) { padding-bottom: 16px; }
.pc-cal-chev { margin-left: auto; color: var(--pc-gray-500); transition: transform .15s; }
details.pc-cal-card[open] .pc-cal-chev { transform: rotate(180deg); }
@media screen and (max-width: 1025px) {
  .pc-hero-compact { padding: 20px 18px 22px; }
  .pc-hero-compact h2 { font-size: 24px; }
  .pc-hero-compact .pc-hero-sub { font-size: 15px; }
  .pc-hero-compact::after { width: 64px; height: 96px; }
}
@media screen and (max-width: 600px) {
  /* Phones: the Right now card and the first tasks should fit on the first screen. */
  .pc-hero-compact .pc-eyebrow { display: none; }
  .pc-hero-compact h2 { font-size: 22px; }
  .pc-hero-compact .pc-hero-actions { margin-top: 12px; }
  .pc-home .pc-landing-main { gap: 14px; }
  .pc-now-next { margin-top: 10px; padding-top: 10px; }
  .pc-now-next .pc-date-badge { display: none; }
  .pc-now-next .pc-now-body { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  .pc-now-next .pc-now-name { font-size: 14.5px; }
  .pc-now-next .pc-now-when { font-size: 13px; }
  /* Signed-in home on a phone: the Right now card comes straight after the header (the breadcrumb and the plain
     "MyPJC Portal" banner repeat what the header says; on wider screens the banner stays for its edit buttons). */
  /* Kept whenever JICS put an admin's wrench (Site Admin page menu) or the page-preferences button there (Sol v9). */
  .pc-landing-on #mainCrumbs { display: none; }
  .pc-landing-on:not(:has(#portlets > .page-title-btn .wrench-toggle, #portlets > .page-title-btn [id$="nonAdminPreferences"])) #portlets > .page-title-bar,
  .pc-landing-on:not(:has(#portlets > .page-title-btn .wrench-toggle, #portlets > .page-title-btn [id$="nonAdminPreferences"])) #portlets > .page-title-btn { display: none; }
  .pc-now-primary .pc-date-badge { flex-basis: 50px; width: 50px; height: 56px; }
  .pc-now-primary .pc-date-day { font-size: 22px; }
  .pc-home .pc-task-tiles .pc-tile, .pc-home .pc-task-tiles .pc-tile:link, .pc-home .pc-task-tiles .pc-tile:visited { min-height: 62px; padding: 9px 14px; }
  .pc-home .pc-task-tiles .pc-tile-ico { width: 40px; height: 40px; }
  .pc-now { padding: 12px 14px; }
  .pc-now-name, .pc-now-name:link, .pc-now-name:visited { font-size: 17px; }
  .pc-now-cta, .pc-now-cta:link, .pc-now-cta:visited { flex: 1 1 100%; margin-left: 0; }
  .pc-utility-link, .pc-utility-link:link, .pc-utility-link:visited { flex: 1 1 0; justify-content: center; }
  .pc-home .pc-landing-main .pc-task-tiles { grid-template-columns: 1fr; }
}

/* ---------- "Which application?" questionnaire (native <dialog>; built by javascript.js) ---------- */
.pc-apply { width: min(620px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0,0,0,.35); color: var(--pc-gray-900); font-family: var(--pc-font); overflow: auto; }
.pc-apply::backdrop { background: rgba(4,24,13,.55); }
.pc-apply-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 22px 24px 18px; color: #fff;
  background: var(--pc-hero); border-bottom: 4px solid var(--pc-gold-400); }
.pc-apply-head h2 { margin: 0; font-size: 24px; font-weight: 800; color: #fff; line-height: 1.15; }
.pc-apply-head .pc-eyebrow { margin-bottom: 4px; }
.pc-apply-close { flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px;
  color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); cursor: pointer; }
.pc-apply-close:hover { background: rgba(255,255,255,.22); }
.pc-apply-close svg, .pc-apply-opt svg, .pc-apply-back svg, .pc-apply-actions svg { width: 18px; height: 18px; fill: none; stroke: currentColor;
  stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.pc-apply-body { padding: 22px 24px 24px; }
.pc-apply-step { margin: 0 0 4px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #8a5a00; }
.pc-apply-q { margin: 0 0 16px; font-size: 19px; font-weight: 800; color: var(--pc-green-900); line-height: 1.3; outline: none; }
.pc-apply-result { font-size: 24px; margin-bottom: 8px; }
.pc-apply-options { display: grid; gap: 10px; }
.pc-apply-opt { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 52px; padding: 12px 16px;
  text-align: left; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--pc-gray-900); background: #fff;
  border: 1.5px solid var(--pc-gray-200); border-left: 4px solid var(--pc-green-700); border-radius: 12px; cursor: pointer;
  transition: border-color .15s, background .15s, box-shadow .15s; }
.pc-apply-opt svg { color: var(--pc-gray-400); }
.pc-apply-opt:hover, .pc-apply-opt:focus { background: var(--pc-green-50); border-color: var(--pc-green-600); border-left-color: var(--pc-gold-400);
  box-shadow: 0 4px 12px rgba(10,30,18,.08); }
.pc-apply-opt:hover svg, .pc-apply-opt:focus svg { color: var(--pc-green-800); }
.pc-apply-desc { margin: 0 0 18px; font-size: 15.5px; color: var(--pc-gray-700); line-height: 1.5; }
.pc-apply-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.pc-apply-all { font-weight: 700; font-size: 14px; }
.pc-apply-back { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; padding: 8px 10px 8px 6px; font-size: 14px; font-weight: 700;
  color: var(--pc-gray-600); background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.pc-apply-back:hover { background: var(--pc-gray-100); color: var(--pc-gray-900); }
.pc-apply-helper { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 18px;
  padding: 16px 20px; background: var(--pc-gold-100); border: 1.5px solid #f3dc8a; border-left: 5px solid var(--pc-gold-400); border-radius: 12px; }
.pc-apply-helper-text { display: flex; flex-direction: column; gap: 2px; }
.pc-apply-helper-text strong { font-size: 16px; color: var(--pc-green-900); }
.pc-apply-helper-text span { font-size: 14px; color: var(--pc-gray-700); }
@media screen and (max-width: 600px) {
  .pc-apply-head { padding: 18px 18px 14px; }
  .pc-apply-body { padding: 18px; }
  .pc-apply-actions .pc-cta { flex: 1 1 100%; }
  .pc-apply-helper .pc-cta { flex: 1 1 100%; }
}

/* ---------- Login help (clean view of the targeted message; built by javascript.js) ---------- */
#TargetedMessage.pc-replaced { display: none; }
/* When the message is shown as-is (no clean view), at least drop the CMS's inline Arial/10pt. */
#TargetedMessage .wysiwygtext span, #TargetedMessage .wysiwygtext p { font-family: inherit !important; }
.pc-login-help { background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow);
  margin: 0 0 24px; padding: 18px 20px; }
.pc-login-head { display: flex; align-items: center; gap: 12px; }
.pc-login-head-ico { flex: 0 0 34px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 10px;
  background: var(--pc-gold-100); color: var(--pc-gold-700); }
.pc-login-head-ico svg, .pc-login-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pc-login-title { margin: 0; font-size: 16px; font-weight: 800; color: var(--pc-green-900); line-height: 1.3; }
.pc-login-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px 22px; margin-top: 16px; }
.pc-login-item { display: flex; gap: 12px; align-items: flex-start; }
.pc-login-ico { flex: 0 0 34px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 10px;
  background: var(--pc-green-50); color: var(--pc-green-800); }
.pc-login-label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-gray-500); margin-bottom: 2px; }
.pc-login-text { margin: 0; color: var(--pc-gray-700); font-size: 14px; line-height: 1.45; }
.pc-login-example { margin: 6px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12.5px; color: var(--pc-gray-500); }
.pc-login-eg { font-weight: 700; }
.pc-login-example code { padding: 2px 8px; border-radius: 6px; background: var(--pc-gray-100); border: 1px solid var(--pc-gray-200);
  color: var(--pc-green-900); font-size: 12.5px; font-family: Consolas, "SFMono-Regular", ui-monospace, monospace; white-space: normal; word-break: break-word; }
/* Compact (inner pages): one line, expands on click. */
.pc-login-help-compact { padding: 0; margin: 10px 24px 4px; }
.pc-login-help-compact > summary { list-style: none; cursor: pointer; padding: 12px 18px; border-radius: var(--pc-radius-lg); }
.pc-login-help-compact > summary::-webkit-details-marker { display: none; }
.pc-login-help-compact > summary:hover { background: var(--pc-gray-50); }
.pc-login-help-compact .pc-login-title { font-size: 14.5px; flex: 1; }
.pc-login-more { font-size: 13px; font-weight: 700; color: var(--pc-green-800); white-space: nowrap; }
.pc-login-more::after { content: " \25BE"; }
.pc-login-help-compact[open] .pc-login-more::after { content: " \25B4"; }
.pc-login-help-compact .pc-login-items { margin: 0; padding: 4px 18px 18px; }
@media screen and (max-width: 1025px) {
  .pc-login-help-compact { margin: 10px 12px; }
  .pc-login-help-compact > summary { flex-wrap: wrap; }
  .pc-login-help-compact .pc-login-more { flex-basis: 100%; padding-left: 46px; }
}
.pc-tile-name { align-self: end; font-size: 15.5px; font-weight: 800; color: var(--pc-green-900); line-height: 1.25; }
.pc-tile-desc { align-self: start; font-size: 13px; color: var(--pc-gray-500); line-height: 1.35; }
.pc-tile-ext { position: absolute; top: 10px; right: 12px; line-height: 0; color: var(--pc-gray-600); }
.pc-empty { margin: 8px 0 0; padding: 18px; text-align: center; color: var(--pc-gray-600); background: #fff;
  border: 1.5px dashed var(--pc-gray-300); border-radius: var(--pc-radius-lg); }
.pc-news-title { margin: 6px 0 12px; }

@media (prefers-reduced-motion: no-preference) {
  .pc-landing .pc-tile { animation: pc-rise .4s ease-out both; }
  .pc-landing .pc-group:nth-of-type(2) .pc-tile { animation-delay: .05s; }
  .pc-landing .pc-group:nth-of-type(3) .pc-tile { animation-delay: .1s; }
  .pc-landing .pc-group:nth-of-type(4) .pc-tile { animation-delay: .15s; }
  @keyframes pc-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  .pc-tile, .pc-tile:hover, .pc-tile:focus { animation: none !important; transition: none !important; transform: none !important; }
  .pc-launch-chev, .pc-tile-ico, .pc-apply-opt, .pc-all-chev, .pc-cal-chev { transition: none !important; }
}

/* ---------- Print: dark text on white, no interactive chrome ---------- */
@media print {
  .pc-launch, .pc-finder, .pc-hero-actions, #portlets > .page-title-btn, .pc-apply-helper, .pc-apply,
  .pc-dir, .pc-switch, .pc-utility, .pc-now-cta { display: none !important; }
  .pc-hero, #portlets > .page-title-bar, .portlet-grid .portlet, .site-header-container, .footer-wrapper {
    background: #fff !important; box-shadow: none !important; }
  .pc-hero h2, .pc-hero-sub, .pc-eyebrow, #portlets > .page-title-bar h2, #foot.footer-links a, #copyright,
  #portlets > #PageBar_pageTitle.page-title-bar h2 a { color: #000 !important; }
  .pc-hero::after, #portlets > .page-title-bar::after, .site-header-container #masthead #logo-heading::after { display: none; }
  .pc-tile, .pc-login-item, .pc-cal-card { break-inside: avoid; }
  .pc-cal-thumb { display: none; }
}

/* ---------- Mobile and tablet (<= 1025px): colour, type and shape only for the fixed bar ---------- */
@media screen and (max-width: 1025px) {
  .site-header-container { background: var(--pc-header); border-bottom: 4px solid var(--pc-gold-400); }
  .site-header-container #masthead { padding-bottom: 18px; }
  .site-header-container .mobile-fixed-container { background: var(--pc-header); box-shadow: 0 2px 8px rgba(0,0,0,.3); max-width: 100vw; }
  .site-header-container #masthead .site-logo-link { width: -moz-fit-content; width: fit-content; line-height: 0; background: #fff;
    border-radius: 12px; padding: 6px 12px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
  .site-header-container #masthead .site-logo { height: 40px; width: auto; }
  .site-header-container .login-btn { background: var(--pc-gold-400); color: var(--pc-green-900); border-radius: var(--pc-radius);
    font-weight: 800; font-size: 15px; padding: 6px 14px; right: 54px; }
  .site-header-container .login-btn:hover, .site-header-container .login-btn:focus { background: var(--pc-gold-500); color: var(--pc-green-900); }
  .site-header-container .search-btn { right: 4px; width: 44px; }
  #sidebar-slide-menu-button { width: 48px; height: 48px; border-radius: 50%; background: var(--pc-green-800); color: #fff;
    border: 2px solid var(--pc-gold-400); box-shadow: 0 4px 12px rgba(0,0,0,.25); font-size: 20px; line-height: 1; padding: 0; }
  /* JICS sizes the chevron (52px, pushed down 13%) for its own 75px button. In this 48px button it spilled out of the
     circle, so size and centre it here. */
  #sidebar-slide-menu-button .sidebar-slide-btn-icon { display: block; font-size: 20px; line-height: 44px; height: 44px; margin: 0;
    padding: 0; text-align: center; }
  #sidebar-slide-menu-button .sidebar-slide-btn-icon::before { line-height: 44px; }
  /* Open: JICS moves its button to a fixed left of 300px, which put its 75px button flush with the 375px panel's edge
     but left this one stranded inside the panel. Sit just outside the panel's edge when the screen has room, otherwise
     inside its corner; the panel is min(375px, screen width) wide. */
  #sidebar-slide-menu-button[aria-expanded="true"] { left: calc(min(375px, 100vw) - 52px) !important; }
  /* The slide-out menu covers the page, so it must be opaque (JICS gives it no backdrop of its own). */
  #sideBar .slide-menu-right { background: #fff; box-shadow: 6px 0 22px rgba(0,0,0,.3); }
  /* Its Menu / Quick Links switch: the sidebar's general link colour (grey) also caught these, leaving the unselected
     one grey on dark green. Selected = white with green text; the other = green with white text. */
  #sideBar .slide-menu-toggle-btns li a { color: #fff; background: var(--pc-green-800); font-weight: 700; }
  #sideBar .slide-menu-toggle-btns li a:hover, #sideBar .slide-menu-toggle-btns li a:focus { color: #fff; background: var(--pc-green-700); }
  #sideBar .slide-menu-toggle-btns li.active a, #sideBar .slide-menu-toggle-btns li.active a:hover,
  #sideBar .slide-menu-toggle-btns li.active a:focus { color: var(--pc-green-800); background: #fff; }
  /* A content image wider than the screen (the Admissions banner is 920px) made whole pages scroll sideways, which
     left white space down the right and pushed the floating menu button off-screen. Images fit their column. */
  /* Same for a long unbroken word, such as a web address used as link text (Admissions has one): wrap it only when it
     would otherwise run off the screen. */
  #portlets { overflow-wrap: break-word; }
  #mainCrumbs.main-crumbs { padding: 0 12px; }
  #TargetedMessage.targeted-message { margin: 10px 12px; }
  #portlets > .page-title-bar { padding: 16px 80px 16px 18px; border-radius: 12px; }
  #portlets > .page-title-bar h2, #portlets > .page-title-bar h2 a, #contextName { font-size: 22px; }
  #portlets > .page-title-btn { right: 26px; top: 14px; }
  #portlets > .page-title-bar::after { width: 54px; height: 80px; right: 14px; }
  .portlet-grid .portlet-padding { padding: 14px; }
  .pc-hero { padding: 26px 22px 30px; border-radius: 14px; }
  .pc-hero::after { width: 84px; height: 124px; right: 10px; bottom: -18px; opacity: .2; }
  .pc-hero h2 { font-size: 28px; }
  .pc-hero-sub { font-size: 15.5px; padding-right: 40px; }
  .pc-finder { margin: -22px 8px 22px; }
  /* 16px stops iOS from zooming into a field when it gets focus. */
  input[type=text]:not(.input-sm), input[type=email]:not(.input-sm), input[type=tel]:not(.input-sm), input[type=password]:not(.input-sm),
  input[type=number]:not(.input-sm), input[type=search]:not(.input-sm), input[type=date]:not(.input-sm),
  select:not(.input-sm), textarea:not(.input-sm) { font-size: 16px; }
  #foot.footer-links a { display: inline-block; padding: 10px 8px; }
}
@media screen and (min-width: 432px) and (max-width: 1025px) {
  #sidebar-slide-menu-button[aria-expanded="true"] { left: 381px !important; }
}
@media screen and (max-width: 600px) {
  .pc-hero-actions .pc-cta { flex: 1 1 100%; }
  .pc-tiles { grid-template-columns: 1fr; gap: 10px; }
  .pc-tile, .pc-tile:link, .pc-tile:visited { min-height: 72px; padding: 12px 14px; }
}

/* ---------- Student Home Page in the Pyro Central look (a NEW instance only; PYRO_HOME_INSTANCES in the script) ----------
   Only portlets the script marks .pc-shp: Jenzabar's original instance keeps Jenzabar's look. Before the script runs
   (or if it fails) the new instance looks like the original. */
/* No overflow:hidden anywhere here: the Advisors and Residence team popovers open below their links and must not be
   clipped (Sol v22). The rounding is on the parts instead. */
.portlet.pc-shp { border-radius: var(--pc-radius-lg); }
.portlet.pc-shp > .portlet-header-bar { background: var(--pc-hero); border: 0; padding: 14px 18px; border-radius: var(--pc-radius-lg) var(--pc-radius-lg) 0 0; }
.portlet.pc-shp > .portlet-header-bar a:focus, .portlet.pc-shp > .portlet-header-bar a:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
.portlet.pc-shp > .portlet-header-bar h3, .portlet.pc-shp > .portlet-header-bar h3 a,
.portlet.pc-shp > .portlet-header-bar h3 a:link, .portlet.pc-shp > .portlet-header-bar h3 a:visited { color: #fff; font-size: 18px; font-weight: 800; }
.portlet.pc-shp > .portlet-header-bar .help, .portlet.pc-shp > .portlet-header-bar .glyphicons { color: rgba(255,255,255,.85); }
.portlet.pc-shp > .portlet-padding { background: var(--pc-gray-50); padding: 14px; border-radius: 0 0 var(--pc-radius-lg) var(--pc-radius-lg); }
.portlet.pc-shp .shpDefaultView { display: grid; gap: 14px; }
.portlet.pc-shp .crm-portlet-panel { margin: 0 !important; background: #fff; border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); }
.portlet.pc-shp .crm-portlet-panel .sub-header-bar { position: relative; background: #fff; border: 0; border-bottom: 1px solid var(--pc-gray-100);
  padding: 12px 16px 12px 20px; min-height: 0; border-radius: var(--pc-radius-lg) var(--pc-radius-lg) 0 0; }
.portlet.pc-shp .crm-portlet-panel .sub-header-bar::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px;
  border-radius: 0 4px 4px 0; background: var(--pc-gold-400); }
.portlet.pc-shp .crm-portlet-panel .sub-header-bar h3 { margin: 0; font-size: 17px; font-weight: 800; color: var(--pc-green-900); line-height: 1.3; }
.portlet.pc-shp .crm-portlet-panel .sub-header-bar h3 a.glyphicon { color: var(--pc-gray-500); }
.portlet.pc-shp .crm-portlet-panel-content { padding: 14px 16px 16px !important; }
/* Notices */
.portlet.pc-shp .crm-alert-panel { background: var(--pc-green-50) !important; border: 1px solid var(--pc-green-100); border-radius: 10px;
  padding: 10px 12px; margin: 0 0 12px; }
.portlet.pc-shp .crm-alert-panel .row { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.portlet.pc-shp .crm-alert-panel .row::before, .portlet.pc-shp .crm-alert-panel .row::after { display: none; }
.portlet.pc-shp .crm-alert-panel .row > div { float: none; width: auto; min-height: 0; padding: 0; color: var(--pc-gray-700); font-size: 14px; }
.portlet.pc-shp .crm-alert-panel .row > div.text-primary { color: var(--pc-green-800); font-weight: 600; }
.portlet.pc-shp .TermSelectionContainer, .portlet.pc-shp .crm-select-container { margin-bottom: 8px; }
.portlet.pc-shp .TermSelectionContainer select, .portlet.pc-shp .crm-select-container select { border: 1px solid var(--pc-gray-300);
  border-radius: 8px; padding: 5px 10px; background: #fff; color: var(--pc-gray-900); font-weight: 600; }
.portlet.pc-shp .pc-shp-chip { display: inline-block; margin-left: 4px; padding: 2px 10px; border-radius: 999px; font-size: 13px; font-weight: 800;
  background: var(--pc-gray-100); color: var(--pc-gray-900); }
.portlet.pc-shp .pc-shp-chip.pc-shp-ok { background: var(--pc-green-100); color: var(--pc-green-900); }
.portlet.pc-shp .pc-shp-chip.pc-shp-warn { background: var(--pc-gold-100); color: #6b4300; }
.portlet.pc-shp .pc-shp-chip.pc-shp-bad { background: #fdecea; color: #8a1c1c; }
/* Sections: a Pyro icon tile, then the section */
.portlet.pc-shp .pSection { padding: 4px 0 6px; }
.portlet.pc-shp .pSection + .pSection { margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--pc-gray-100); }
.portlet.pc-shp .pc-shp-icobox { width: 40px; height: 40px; margin: 2px 0 0; border-radius: 12px; background: var(--pc-green-50);
  display: flex; align-items: center; justify-content: center; }
.portlet.pc-shp .pc-shp-icobox > :not(.pc-shp-ico) { display: none !important; }
.portlet.pc-shp .pc-shp-ico svg { width: 22px; height: 22px; fill: none; stroke: var(--pc-green-800); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.portlet.pc-shp .portlet-section-content { padding: 0 0 0 54px !important; }
.portlet.pc-shp .portlet-section-content h4 { margin: 0 0 8px; padding: 0; font-size: 16px; font-weight: 800; color: var(--pc-green-900); }
.portlet.pc-shp .portlet-section-separator { display: none; }
/* Facts */
.portlet.pc-shp .pc-shp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 0 0 10px; }
.portlet.pc-shp .pc-shp-fact { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; padding: 9px 12px;
  background: var(--pc-gray-50); border: 1px solid var(--pc-gray-200); border-radius: 10px; }
.portlet.pc-shp .pc-shp-k { font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-gray-600); }
.portlet.pc-shp .pc-shp-v { font-size: 15.5px; font-weight: 700; color: var(--pc-gray-900); line-height: 1.3; overflow-wrap: anywhere; }
.portlet.pc-shp .pc-shp-fact-link { padding: 9px 12px !important; border-style: dashed; border-color: var(--pc-green-200); background: #fff; }
.portlet.pc-shp .pc-shp-fact-link a, .portlet.pc-shp .pc-shp-fact-link a:link, .portlet.pc-shp .pc-shp-fact-link a:visited { font-weight: 800; color: var(--pc-green-800); }
.portlet.pc-shp .pc-shp-hours { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.portlet.pc-shp .pc-shp-hour { padding: 4px 12px; border-radius: 999px; background: var(--pc-gold-100); color: #6b4300; font-size: 13.5px; font-weight: 700; }
/* Actions */
.portlet.pc-shp .pc-shp-actions { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 2px 0 0; }
.portlet.pc-shp .pc-shp-actions::before, .portlet.pc-shp .pc-shp-actions::after { display: none; }
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-action, .portlet.pc-shp .crm-portlet-panel-content a.pc-shp-action:link,
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-action:visited, .portlet.pc-shp .crm-portlet-panel-content button.pc-shp-action {
  float: none; display: flex; align-items: center; gap: 10px; box-sizing: border-box; min-height: 48px; margin: 0 !important;
  padding: 8px 12px; background: #fff !important; border: 1px solid var(--pc-gray-200) !important; border-radius: 10px; box-shadow: none;
  color: var(--pc-green-900) !important; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: left; white-space: normal; }
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-action:hover, .portlet.pc-shp .crm-portlet-panel-content a.pc-shp-action:focus,
.portlet.pc-shp .crm-portlet-panel-content button.pc-shp-action:hover { background: var(--pc-green-50) !important; border-color: var(--pc-green-700) !important;
  color: var(--pc-green-950) !important; }
.portlet.pc-shp .pc-shp-aico { flex: 0 0 30px; height: 30px; border-radius: 8px; background: var(--pc-green-50); display: flex;
  align-items: center; justify-content: center; }
.portlet.pc-shp .pc-shp-aico svg { width: 18px; height: 18px; fill: none; stroke: var(--pc-green-800); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.portlet.pc-shp .pc-shp-action .glyphicon-new-window { margin-left: auto; padding-left: 8px !important; color: var(--pc-gray-500); font-size: 12px; }
.portlet.pc-shp .pc-shp-actions #RegistrationText, .portlet.pc-shp #RegistrationText { align-self: center; padding: 0 !important; color: var(--pc-gray-600); font-size: 13.5px; }
.portlet.pc-shp #RegistrationPlanningContainer { margin-top: 8px; margin-bottom: 0; }
.portlet.pc-shp .pc-shp-actions .ju-font-size-sm { color: var(--pc-gray-600); text-align: left; }
.portlet.pc-shp .pc-shp-actions > .float-left { float: none; margin: 0; }
/* Amount due and paying */
.portlet.pc-shp #balanceDueSection { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 8px; }
.portlet.pc-shp .pc-shp-amount { font-size: 28px; font-weight: 800; color: var(--pc-gray-900); letter-spacing: -.01em; }
.portlet.pc-shp .pc-shp-amount.success { color: var(--pc-green-700); }
.portlet.pc-shp .pc-shp-amount.error { color: #b42318; }
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-pay, .portlet.pc-shp .crm-portlet-panel-content a.pc-shp-pay:link,
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-pay:visited { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 18px;
  border: 0; border-radius: 999px; background: var(--pc-gold-400) !important; color: var(--pc-green-950) !important; font-size: 14px; font-weight: 800; }
.portlet.pc-shp .crm-portlet-panel-content a.pc-shp-pay:hover, .portlet.pc-shp .crm-portlet-panel-content a.pc-shp-pay:focus { background: var(--pc-gold-500) !important; }
.portlet.pc-shp .crm-portlet-panel-content button.pc-shp-pay[disabled] { border-radius: 999px; padding: 6px 14px; background: var(--pc-gray-200); color: var(--pc-gray-600); }
.portlet.pc-shp #noBalanceDueSection { border-radius: 10px; }
/* Plan progress: a slim bar with its words underneath */
.portlet.pc-shp .pSection h4 .badge { margin-left: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; vertical-align: 2px; }
.portlet.pc-shp .pSection h4 .badge.btn-success { background: var(--pc-green-100); color: var(--pc-green-900); }
.portlet.pc-shp .pSection h4 .badge.btn-danger { background: #fdecea; color: #8a1c1c; }
.portlet.pc-shp .pc-shp-progress { position: relative; height: 12px; margin: 6px 0 30px; overflow: visible; border-radius: 999px;
  background: var(--pc-gray-200) !important; box-shadow: none; }
.portlet.pc-shp .pc-shp-progress .progress-bar { position: static; height: 12px; border-radius: 999px; box-shadow: none;
  background: linear-gradient(90deg, var(--pc-green-700), var(--pc-green-600)) !important; }
.portlet.pc-shp .pc-shp-progress .progress-bar.jzb-chart-dark-green { background: var(--pc-gold-700) !important; }
.portlet.pc-shp .pc-shp-progress .progress-bar > span { position: absolute; left: 0; top: 18px; text-align: left; color: var(--pc-gray-700); font-size: 13.5px;
  font-weight: 700; white-space: nowrap; text-shadow: none; }
@media screen and (max-width: 600px) {
  .portlet.pc-shp > .portlet-padding { padding: 10px; }
  .portlet.pc-shp .crm-portlet-panel-content { padding: 12px !important; }
  .portlet.pc-shp .pc-shp-icobox { display: none; }
  .portlet.pc-shp .portlet-section-content { padding-left: 0 !important; }
  .portlet.pc-shp .pc-shp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portlet.pc-shp .pc-shp-actions { grid-template-columns: 1fr; }
}

/* ---------- Proxy login card (PJC's BCProxyLogin sidebar form; every width) ---------- */
#sideBar .proxySideBar { margin: 0 0 12px; padding: 12px 12px 14px; background: #fff; border: 1px solid var(--pc-gray-200);
  border-top: 3px solid var(--pc-gold-400); border-radius: var(--pc-radius-lg); box-shadow: var(--pc-shadow); }
#sideBar .proxySideBar h2 { margin: 0 0 8px; font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--pc-green-900); }
#sideBar .proxySideBar label { display: block; margin: 8px 0 3px; font-size: 12.5px; font-weight: 700; color: var(--pc-gray-700); }
#sideBar .proxySideBar br { display: none; }
#sideBar .proxySideBar input[type="text"], #sideBar .proxySideBar input[type="password"] { display: block; width: 100% !important; max-width: none; box-sizing: border-box;
  min-height: 36px; padding: 6px 9px; border: 1px solid var(--pc-gray-300); border-radius: 8px; background: #fff; color: var(--pc-gray-900); font-size: 14px; }
#sideBar .proxySideBar input[type="text"]:focus, #sideBar .proxySideBar input[type="password"]:focus { outline: 2px solid var(--pc-green-700); outline-offset: 1px; border-color: var(--pc-green-700); }
#sideBar .proxySideBar input[type="button"] { display: block; width: 100% !important; box-sizing: border-box; min-height: 38px; margin: 12px 0 0 !important; padding: 7px 12px; border: 0;
  border-radius: 999px; background: var(--pc-gold-400); color: var(--pc-green-950); font-size: 14px; font-weight: 800; cursor: pointer; }
#sideBar .proxySideBar input[type="button"]:hover, #sideBar .proxySideBar input[type="button"]:focus { background: var(--pc-gold-500); outline: 2px solid var(--pc-green-900); outline-offset: 2px; }
#sideBar .proxySideBar #ProxyLoginLinks { margin: 0; padding: 0; list-style: none; }
/* JICS gives every sidebar list item a fixed 15px height, which made the 39px links overlap. */
#sideBar .proxySideBar #ProxyLoginLinks li { height: auto !important; margin: 0 0 6px; padding: 0; }
#sideBar .proxySideBar #ProxyLoginLinks a, #sideBar .proxySideBar #ProxyLoginLinks a:link, #sideBar .proxySideBar #ProxyLoginLinks a:visited {
  display: block; margin: 0 !important; padding: 8px 10px; border: 1px solid var(--pc-gray-200); border-radius: 10px; color: var(--pc-green-900); font-weight: 700; line-height: 1.3; text-decoration: none; }
#sideBar .proxySideBar #ProxyLoginLinks a:hover, #sideBar .proxySideBar #ProxyLoginLinks a:focus { background: var(--pc-green-50); border-color: var(--pc-green-700); }
#sideBar .proxySideBar .feedbackError { margin: 0 0 6px; color: #b42318; font-weight: 700; font-size: 13px; }

/* ==========================================================================
   v26 (2026-10-06): fixes from the production-readiness audit (audit/2026-10-06/<area>/findings.md).
   Sebastian, on his phone: "Why am I seeing this on mobile?" (the ☰ strip), then "find all issues like this".
   ========================================================================== */

/* Slide-out sidebar (<=1025px): its last entry could not be scrolled into view (phone-chrome PC-01, desktop S01,
   signed-in F3, tools T16). JICS fixes the panel at top:42px with the full viewport height, so it ends 42px below the
   screen; Atlantica's 42px bottom margin on the navbar compensated, and the theme's "#sideBar .navbar { margin: 0 }"
   (above) removed it. The panel's own bottom padding gives the room back (42px) plus room to scroll the last entry
   clear of the round close button in the panel's corner (signed-in F8). */
@media screen and (max-width: 1025px) {
  #sideBar .slide-menu-right { padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
}

/* JICS's ☰ menu (<=1025px) as a list under the bar (phone-chrome PC-07; Sebastian's screenshot, 2026-10-06).
   JICS shows it as one sideways strip that starts 13px above the screen (Atlantica's #header-tabs top:-13px), fits about
   three tabs, and pushes the green bar down (Atlantica's script animates the bar and its buttons to fixed offsets:
   58/54/57/58/56px open, 5/0/3/6/2px closed). Here the bar stays where it is (the closed offsets, restated with
   !important so the animation cannot move them; keyed to html.pc-nav-open, which the script sets while JICS's
   #hamburger-menu-section is open, so a browser without :has() gets all of this or none of it, never half), the tabs drop down below it as full-width rows, the current tab is
   marked, the page behind cannot scroll, and the ☰ shows × while open. JICS's overlay, its tap-to-close and the ☰
   toggle are unchanged. The theme's MainNavigationType is 0 (this horizontal style) on TEST and, from the same theme,
   in production. */
@media screen and (max-width: 1025px) {
  html.pc-nav-open .mobile-fixed-container { top: 0 !important; }
  html.pc-nav-open #main-nav-btn { top: 5px !important; }
  html.pc-nav-open .login-btn { top: 3px !important; }
  html.pc-nav-open .search-btn { top: 6px !important; }
  html.pc-nav-open .user-btn { top: 2px !important; }
  html.pc-nav-open, html.pc-nav-open body { overflow: hidden; }
  html.pc-nav-open #top-nav-bar { top: 43px; bottom: auto; height: auto !important; min-height: 0;
    max-height: calc(100vh - 43px); max-height: calc(100dvh - 43px); overflow-y: auto; overscroll-behavior: contain;
    background: #fff; border: 0; border-bottom: 4px solid var(--pc-gold-400); box-shadow: 0 14px 34px rgba(0,0,0,.35); }
  html.pc-nav-open #top-nav-bar .nav-container, html.pc-nav-open #header-tabs,
  html.pc-nav-open #hamburger-menu-section { top: 0; margin: 0; padding: 0; width: 100%; height: auto !important; }
  html.pc-nav-open #hamburger-menu-section #main-nav { display: block; float: none; margin: 0; padding: 6px 0; overflow: visible; white-space: normal; height: auto; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li { display: block; float: none; width: 100%; margin: 0; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li::before, html.pc-nav-open #hamburger-menu-section #main-nav > li::after,
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a::after { content: none !important; display: none !important; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a, html.pc-nav-open #hamburger-menu-section #main-nav > li > a:focus,
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a:hover {
    display: flex; align-items: center; min-height: 52px; padding: 12px 22px; margin: 0; border: 0; border-radius: 0;
    border-bottom: 1px solid var(--pc-gray-200); font-size: 17px; font-weight: 700; line-height: 1.3; white-space: normal;
    color: var(--pc-green-900) !important; background: #fff !important; text-decoration: none; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a:hover { background: var(--pc-green-50) !important; }
  /* JICS focuses the first tab when the menu opens; only a keyboard user gets a ring (it read as "current"). */
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a:focus:not(:focus-visible) { outline: none; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li > a:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: -3px; }
  html.pc-nav-open #hamburger-menu-section #main-nav > li.selected > a, html.pc-nav-open #hamburger-menu-section #main-nav > li.selected > a:hover,
  html.pc-nav-open #hamburger-menu-section #main-nav > li.selected > a:focus {
    background: var(--pc-green-50) !important; box-shadow: inset 5px 0 0 var(--pc-gold-400); color: var(--pc-green-800) !important; }
  html.pc-nav-open #main-nav-btn[aria-expanded="true"]::before { content: "\00d7"; font-family: var(--pc-font); font-size: 34px; font-weight: 400; line-height: 28px; }
}

/* Page-title banner: the title ran under the Print/Help/wrench buttons on phones and at 400% zoom (phone-chrome PC-04,
   desktop S03, signed-in F4, tools T04). The banner reserved 80px; the buttons need about 44px each with gaps. Up to
   600px the buttons get their own row above the title (as in Atlantica); wider, the banner reserves their real width
   (measured by the script: --pc-title-tools). */
@media screen and (max-width: 1025px) {
  #portlets > .page-title-bar.pc-title-tools { padding-right: calc(var(--pc-title-tools, 54px) + 34px); }
}
@media screen and (max-width: 600px) {
  #portlets > .page-title-bar.pc-title-tools { padding: 58px 18px 16px; }
}

/* Keyboard focus that could not be seen (phone-chrome PC-18, desktop S04/D04, coverage S4): gold on the dark banner and
   its buttons; dark green inside the white account menu (gold on white was 1.8:1); a ring on the Home search box. */
#portlets > .page-title-bar a:focus-visible, #portlets > .page-title-btn > .btn:focus-visible,
#portlets > .page-title-btn > .btn-group > .btn:focus-visible { outline: 3px solid var(--pc-gold-400); outline-offset: 2px; }
.site-header-container #user-login-section :focus-visible { outline-color: var(--pc-green-800); }
.pc-home .pc-dir-find input:focus { border-color: var(--pc-green-600); box-shadow: 0 0 0 4px rgba(46,125,50,.25), var(--pc-shadow); }
/* The search box's magnifier sat at 50% of a box that grows when results open (tools T13): pin it to the field. */
.pc-finder::before { top: 27px; }
.pc-home .pc-dir-find::before { top: 25px; }

/* JICS's "page not found / no permission" box sits in the page title (#PageBar_pageTitle h2). In the green banner its
   "home page" link was white on near-white and invisible (coverage F1, tools T06): show it as the plain alert card. */
#portlets > .page-title-bar.pc-title-alert { background: none; border: 0; box-shadow: none; padding: 0 !important; border-radius: 0; }
#portlets > .page-title-bar.pc-title-alert::after { content: none; display: none; }
#portlets > .page-title-bar .alert-container { display: block; }
#portlets > .page-title-bar.pc-title-alert h2 { font-size: 16px; font-weight: 400; letter-spacing: 0; }
#portlets > #PageBar_pageTitle.page-title-bar .alert-container a, #portlets > #PageBar_pageTitle.page-title-bar .alert-container a:visited,
#portlets > #PageBar_pageTitle.page-title-bar .alert-container a:hover {
  color: #8a1c1c !important; font-size: inherit; font-weight: 700; text-decoration: underline; }
/* A banner with no visible title and no buttons is dropped, not shown as an empty green band: the search results page
   (its heading is screen-reader-only; phone-chrome PC-06) and JICS tool pages such as the Campus Directory (content-sweep
   CS-05). The script marks it (pc-title-empty), since whitespace defeats :empty. */
#portlets > .page-title-bar.pc-title-empty { display: none; }
/* Separate rule (never in one list with the class above: where :has() is unknown a mixed list is dropped whole): the
   search results banner, which JICS redraws after the script has marked it. Without :has() it shows as in v25. */
#portlets > .page-title-bar:has(> h2.sr-only:only-child) { display: none; }

/* Account button on desktop: it sat 18px below the search icon, on the gold rule (desktop D01, signed-in F5, coverage F3). */
@media screen and (min-width: 1026px) {
  .site-header-container #welcomeBackBar .user-btn { top: 1px; }
}

/* Phones and tablets: the sidebar's small "FIND COURSES" / "QUICK LINKS" captions Atlantica hides there (phone-chrome
   PC-12); the floating button's reserved 60px under the footer, now inside the footer's own background (PC-13). */
@media screen and (max-width: 1025px) {
  #sideBar .sidebar-link-title { display: none; }
  .footer-wrapper { margin-bottom: 0 !important; padding-bottom: 76px; }
}
/* 1009-1025px: JICS takes the closed slide-out's links out of the Tab order only below 1009px, so keyboard focus went
   into the hidden panel (phone-chrome PC-19). Hidden while closed; the delay lets it slide shut first. */
@media screen and (min-width: 1009px) and (max-width: 1025px) {
  html.pc-side-closed #sideBar .slide-menu-right { visibility: hidden; transition: visibility 0s linear .4s; }
}

/* "Skip to content": an overlay chip instead of tiny text that pushed the page down (desktop D06, coverage F5). */
.skip-navigation.sr-only-focusable:focus, .skip-navigation.sr-only-focusable:active {
  position: fixed !important; top: 8px; left: 8px; z-index: 6000; width: auto; height: auto; margin: 0; padding: 10px 16px; clip: auto;
  background: #fff; color: var(--pc-green-900); font-weight: 800; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.3);
  outline: 3px solid var(--pc-green-800); outline-offset: 2px; }

/* Desktop reading width: one-column pages ran 180+ characters a line (desktop D12). Prose only; tables and tiles keep
   the width. */
@media screen and (min-width: 992px) {
  .pc-lone-column .wysiwygtext > p, .pc-lone-column .wysiwygtext > ul, .pc-lone-column .wysiwygtext > ol,
  .pc-full-column .wysiwygtext > p, .pc-full-column .wysiwygtext > ul, .pc-full-column .wysiwygtext > ol { max-width: 80ch; }
}

/* Signed-in Home: the plain "MyPJC Portal" banner (only Print for most people) is dropped at every width, as on phones,
   so laptops show the tasks on the first screen (desktop D13). Kept when it holds an admin's wrench or preferences. */
.pc-landing-on #portlets:not(.pc-has-admin-tools) > .page-title-bar,
.pc-landing-on #portlets:not(.pc-has-admin-tools) > .page-title-btn { display: none; }

/* Windows high contrast: states drawn only with a fill disappeared (desktop D10). */
@media (forced-colors: active) {
  .pc-switch-opt[aria-pressed="true"], .pc-launch-item[aria-current="page"], .pc-subnav-link[aria-current="page"],
  html.pc-nav-open #hamburger-menu-section #main-nav > li.selected > a { outline: 3px solid Highlight; outline-offset: -3px; }
}

/* Page row (tab pages): on phones and tablets it folds to the page you are on plus "All N pages in <Tab>", which opens
   every page as wrapped pills (phone-chrome PC-02, signed-in F1/F12; the sideways strip showed 2-3 of up to 12 pages
   with no sign of the rest). Rows of three or fewer simply wrap. Desktop is unchanged. */
.pc-subnav-more { display: none; }
@media screen and (max-width: 1025px) {
  .pc-subnav-list { flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
  .pc-subnav-link, .pc-subnav-link:link, .pc-subnav-link:visited { white-space: normal; }
  .pc-subnav-fold { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .pc-subnav-fold .pc-subnav-list { order: 1; }
  .pc-subnav-fold .pc-subnav-more { order: 2; }
  .pc-subnav-fold:not(.pc-open) .pc-subnav-list > li:not(.pc-subnav-current) { display: none; }
  .pc-subnav-fold.pc-open .pc-subnav-more { order: 0; }
  .pc-subnav-fold.pc-open .pc-subnav-list { flex: 1 1 100%; }
  .pc-subnav-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 14px; border-radius: 999px;
    background: #fff; border: 1.5px dashed var(--pc-green-700); color: var(--pc-green-900); font-size: 15px; font-weight: 700; cursor: pointer; }
  .pc-subnav-more:hover { background: var(--pc-green-50); }
  .pc-subnav-more svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;
    transition: transform .15s; }
  .pc-subnav-fold.pc-open .pc-subnav-more svg { transform: rotate(180deg); }
}

/* Header, desktop, signed out: "Need to login via a different method? Login Here" was gold on the light end of the
   header (3.6:1; content-sweep CS-04). White, and the link underlined. */
@media screen and (min-width: 1026px) {
  .site-header-container #jics-login-show-standard-fields-section, .site-header-container #jics-login-show-standard-fields-section * { color: #fff !important; }
  .site-header-container #jics-login-show-standard-fields-button { text-decoration: underline; }
}
/* CMS content built as an inline-styled flex row (General Forms, Campus Carry exclusion) could not shrink and widened the
   page on phones (content-sweep CS-08). */
@media screen and (max-width: 600px) {
  .wysiwygtext div { min-width: 0; overflow-wrap: anywhere; }
}

/* Find Courses > Course search results (<= 1025px): the theme's "#portlets { overflow-wrap: break-word }" split every
   heading and course code mid-word in JICS's fixed-layout table ("Cours/e Code", "ENGL.1301/.10H0"; portlets P-01).
   Scoped to that table: the course-table and employee phone cards keep their own wrapping. */
@media screen and (max-width: 1025px) {
  #CourseSearchResultsTable, #CourseSearchResultsTable * { overflow-wrap: normal; word-break: normal; }
  #CourseSearchResultsTable { table-layout: auto !important; }
  #CourseSearchResultsTable th, #CourseSearchResultsTable td { width: auto !important; }
  #CourseSearchResultsTable td:first-child a { white-space: nowrap; }
}
/* "All important dates" landed with its heading under the fixed phone header (portlets P-12). */
#pc-dates { scroll-margin-top: 64px; }

/* Home portlets the theme hides from everyone else, shown to site admins with a label (signed-in F6). */
.portlet.pc-admin-only { border: 2px dashed var(--pc-gold-500); }
.pc-admin-note { margin: 0; padding: 8px 14px; font-size: 13px; font-weight: 700; color: #6b4a00; background: var(--pc-gold-100);
  border-bottom: 1px solid #f3dc8a; border-radius: 10px 10px 0 0; }
.pc-admin-note::before { content: "Admins only \00b7  "; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }

/* All tools panel (desktop): three columns of similar length (the script groups them: launcherColumns) instead of a grid
   whose first row was as tall as the long Portal list, which pushed the other groups below the panel's fold (desktop D02,
   coverage F7). Reading and Tab order go down each column. */
@media screen and (min-width: 1026px) {
  .pc-launch-panel { align-items: start; }
  .pc-launch-col { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
}

/* Print: the page row, the All tools block, the login help and the Try again buttons are screen-only (desktop D09,
   signed-in F17, tools T07). */
@media print {
  .pc-subnav, .pc-landing-tab, .pc-login-help, .pc-cal-retry, .pc-now-retry { display: none !important; }
}

/* ==========================================================================
   v27 (2026-10-06): site search; three things a signed-in tester reported
   ========================================================================== */

/* ---------- Site search results (JICS's SearchResultsPortlet, ?tool=search) ----------
   Sebastian: "The search feature looks terrible. Make it better". JICS's own controls stay (type filters, Highlighting,
   search tips, paging) and are laid out here once the script has recognised the page (.pc-search): the type filters
   become one row of pills above the results at every width (no "Search filter" slide-out on phones, no 1990s icons), the
   results become cards, and matches are marked in soft gold instead of mint. Without the script the page is JICS's own,
   with only the card and highlight colours below. */
.pc-search .slideout-toggle-btn, .pc-search .pc-sr-togglerow { display: none !important; }
/* JICS leaves these content-box: a min-height would add the padding on top (the pills were 56px, not 40). */
.pc-search .search-content-filters li a, .pc-search .highlightdiv a, .pc-sbar input, .pc-sbar-go, .pc-sgo-link, .pc-sr-empty,
.site-header-container .search-section .search-input, .site-header-container .search-section .init-search-btn { box-sizing: border-box; }
.pc-search .pc-sr-main { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.pc-search .pc-sr-main > .pc-sr-col, .pc-search #slideout-wrapper { float: none; width: 100%; max-width: none; padding: 0; }
.pc-search .pc-sr-main > .pc-sr-col { order: 2; }
.pc-search #slideout-wrapper { order: 1; position: static !important; left: auto; visibility: visible !important; overflow: visible !important;
  border: 0 !important; transition: none !important; }
.pc-search #slideout-wrapper .slideout-body { position: static !important; right: auto !important; width: auto !important; height: auto !important;
  opacity: 1 !important; padding: 0 !important; background: none !important; text-align: left !important; transition: none !important;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pc-search #slideout-wrapper .slideout-body li { text-align: left !important; }
/* "What" is said to screen readers by the list's own label; the italic "Click on a content type above" hint goes. */
.pc-search #slideout-wrapper .slideout-body > div:not(.highlightdiv):not(.wherediv) { position: absolute; width: 1px; height: 1px; margin: -1px;
  padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.pc-search #slideout-wrapper .suggest-hint { display: none; }
.pc-search .wherediv { flex: 1 1 100%; padding: 0; }
.pc-search .wherediv .jump-menu { width: auto; max-width: 100%; margin: 4px 0 0; }
.pc-search .search-content-filters { order: 1; display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto; min-width: 0; }
.pc-search .search-content-filters li, .pc-search .search-content-filters li:hover { display: block; margin: 0 !important; padding: 0; border: 0 !important;
  background: none !important; }
.pc-search .search-content-filters li a, .pc-search .search-content-filters li a:link, .pc-search .search-content-filters li a:visited {
  display: inline-flex; align-items: center; min-height: 40px; padding: 7px 15px; border-radius: 999px; background: #fff;
  border: 1.5px solid var(--pc-gray-200); color: var(--pc-green-900); font-size: 14.5px; font-weight: 700; line-height: 1.2; white-space: nowrap;
  text-decoration: none; overflow: visible; }
.pc-search .search-content-filters li a:hover, .pc-search .search-content-filters li a:focus { border-color: var(--pc-green-600);
  background: var(--pc-green-50); color: var(--pc-green-900); text-decoration: none; }
.pc-search .search-content-filters li a.selected, .pc-search .search-content-filters li a.selected:hover { background: var(--pc-green-800);
  border-color: var(--pc-green-800); color: #fff; }
.pc-search .search-content-filters li a > span { padding: 0; font-weight: inherit !important; }
.pc-search .search-content-filters .glyphicons, .pc-search .search-content-filters .custom-icon { display: none; }
.pc-search .highlightdiv { order: 2; margin: 0 0 0 auto !important; padding: 0 !important; width: auto !important; background: none !important;
  border: 0 !important; }
.pc-search .highlightdiv a, .pc-search .highlightdiv a:link, .pc-search .highlightdiv a:visited { display: inline-flex; align-items: center; gap: 6px;
  min-height: 40px; padding: 7px 14px; border-radius: 999px; border: 1.5px dashed var(--pc-gray-300); background: #fff;
  color: var(--pc-gray-700) !important; font-size: 13.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pc-search .highlightdiv.highlight-on a { border: 1.5px solid #f3dc8a; background: var(--pc-gold-100); color: #6b4a00 !important; }
.pc-search .highlightdiv a:hover, .pc-search .highlightdiv a:focus { border-color: var(--pc-green-600); text-decoration: none; }
.pc-search .highlightdiv .glyphicons { padding: 0; font-size: 12px; top: 0; }
/* The line above the results: "Results for ..." on the left, Show search tips on the right, the tips across the page. */
.pc-search .pc-sr-col > .row { margin: 0; }
.pc-search .pc-sr-col > .row > .col-xs-12 { padding: 0; }
.pc-search .pc-sr-col > .row:first-child > .col-xs-12 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 4px 16px; margin-bottom: 10px; }
.pc-search .search-help { display: contents; }
.pc-search .search-help-link { float: none; padding: 0; }
.pc-search #search-tips { padding: 4px 0; border: 0 !important; background: none; font-size: 14px; font-weight: 700; color: var(--pc-green-800);
  text-decoration: underline; text-underline-offset: 3px; }
.pc-search #search-tips:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.pc-search .search-help-content-container { flex: 1 1 100%; padding: 0; }
.pc-search .gray-top-wedge { display: none; }
.pc-search .search-help-content { margin: 2px 0 4px; padding: 14px 18px; background: var(--pc-green-50) !important; border: 1px solid var(--pc-green-200);
  border-left: 4px solid var(--pc-green-700); border-radius: 12px; color: var(--pc-gray-700); font-size: 14px; line-height: 1.55; }
.pc-search .search-help-content p { margin: 0 0 8px; }
.pc-search .search-help-content p:last-child { margin-bottom: 0; }
.pc-search #resultsbox { margin-right: auto; padding: 0; font-size: 15px; color: var(--pc-gray-600); }
/* Highlighting, moved by the script to this line: a small pill before Show search tips. */
.pc-search .pc-sr-col .highlightdiv { order: 0; margin: 0 !important; }
.pc-search .pc-sr-col .highlightdiv a, .pc-search .pc-sr-col .highlightdiv a:link, .pc-search .pc-sr-col .highlightdiv a:visited { min-height: 34px;
  padding: 5px 12px; font-size: 13px; }
.pc-search #resultsbox .searchHelpHighlight, .pc-search #resultsbox i { color: var(--pc-gray-900); font-weight: 800; font-style: normal; }
.pc-search #resultsbox .alert-container { margin-top: 8px; }

/* Results as cards (also without the script: these are JICS's own classes). */
.SearchResultsPortlet .search-result-item { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 12px; padding: 16px 18px;
  background: #fff; border: 1.5px solid var(--pc-gray-200) !important; border-radius: 14px; box-shadow: var(--pc-shadow); }
.SearchResultsPortlet .search-result-item:hover { border-color: var(--pc-green-200) !important; }
.SearchResultsPortlet .search-result-item > div[style*="clear"] { display: none; }
.SearchResultsPortlet .search-results-details { flex: 1 1 auto; min-width: 0; }
.SearchResultsPortlet .search-results-icon { float: none; flex: 0 0 auto; padding: 0; }
.SearchResultsPortlet .search-results-icon.pc-sr-noicon { display: none; }
.SearchResultsPortlet .search-results-icon img { width: 44px !important; height: 44px !important; border-radius: 50%; object-fit: cover; }
.SearchResultsPortlet .search-results-details > a, .SearchResultsPortlet .search-results-details > a:link,
.SearchResultsPortlet .search-results-details > a:visited { font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--pc-green-900);
  text-decoration: none; }
.SearchResultsPortlet .search-results-details > a:hover, .SearchResultsPortlet .search-results-details > a:focus { text-decoration: underline;
  text-underline-offset: 3px; }
.SearchResultsPortlet .search-results-subtitle { color: var(--pc-gray-600); font-size: 13.5px !important; }
.SearchResultsPortlet .search-results-description { margin-top: 6px; color: var(--pc-gray-700); font-size: 14.5px; line-height: 1.55; overflow-wrap: anywhere; }
.SearchResultsPortlet .search-results-breadcrumb-link { font-size: 13px !important; color: var(--pc-gray-500); }
.SearchResultsPortlet .search-results-breadcrumb-link a, .SearchResultsPortlet .search-results-breadcrumb-link a:visited { color: var(--pc-gray-700);
  font-weight: 600; text-decoration: underline; text-decoration-color: var(--pc-gray-300); text-underline-offset: 2px; }
.pc-sr-kind { display: inline-block; margin-right: 8px; padding: 2px 9px; border-radius: 999px; background: var(--pc-green-50); color: var(--pc-green-800);
  font-size: 11px; font-weight: 800; letter-spacing: .05em; line-height: 1.6; text-transform: uppercase; vertical-align: 1px; }
.SearchResultsPortlet .search-result-highlight { background: #fde68a !important; color: var(--pc-gray-900) !important; font-weight: 700;
  border-radius: 3px; padding: 0 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.SearchResultsPortlet .didYouMean { margin: 0 0 12px; padding: 12px 16px; background: var(--pc-gold-100); border: 1px solid #f3dc8a;
  border-radius: 12px; font-size: 15px; }
.SearchResultsPortlet .didYouMean a { font-weight: 800; }
.SearchResultsPortlet .pagingPanel { border: 0 !important; padding: 4px 0; }

/* The search box on the page, "Go straight to", and the card when nothing matched (all added by the script). */
.pc-sbar { display: flex; gap: 10px; max-width: 760px; margin: 0 0 18px; }
.pc-sbar-field { position: relative; flex: 1 1 auto; min-width: 0; }
.pc-sbar-field::before { content: ""; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; pointer-events: none;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); }
.pc-sbar input { width: 100%; height: 50px; padding: 0 14px 0 44px; font-size: 16px; color: var(--pc-gray-900); background: #fff;
  border: 1.5px solid var(--pc-gray-300); border-radius: 12px; box-shadow: var(--pc-shadow); -webkit-appearance: none; appearance: none; }
.pc-sbar input:focus { outline: none; border-color: var(--pc-green-600); box-shadow: 0 0 0 4px rgba(46,125,50,.25), var(--pc-shadow); }
.pc-sbar-go { flex: 0 0 auto; min-height: 50px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--pc-green-800); color: #fff;
  font-size: 15.5px; font-weight: 800; cursor: pointer; }
.pc-sbar-go:hover { background: var(--pc-green-700); }
.pc-sgo { margin: 0 0 22px; }
.pc-sbar + .pc-sgo { margin-top: 4px; }
.pc-sgo-title { margin: 0 0 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pc-gray-500); }
.pc-sgo-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.pc-sgo-link, .pc-sgo-link:link, .pc-sgo-link:visited { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 14px;
  background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: 14px; box-shadow: var(--pc-shadow); color: var(--pc-gray-900);
  text-decoration: none; }
.pc-sgo-link:hover, .pc-sgo-link:focus { border-color: var(--pc-green-600); background: var(--pc-green-50); text-decoration: none; }
.pc-sgo-ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px;
  background: var(--pc-green-50); color: var(--pc-green-800); }
.pc-sgo-link:hover .pc-sgo-ico, .pc-sgo-link:focus .pc-sgo-ico { background: #fff; }
.pc-sgo-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-sgo-text { display: flex; flex-direction: column; min-width: 0; }
.pc-sgo-name { font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--pc-green-900); }
.pc-sgo-desc { margin-top: 2px; font-size: 13px; line-height: 1.35; color: var(--pc-gray-600); }
.pc-sr-empty { flex: 1 1 100%; margin: 4px 0 12px; padding: 16px 20px; background: #fff; border: 1.5px dashed var(--pc-gray-300); border-radius: 14px; }
.pc-sr-empty-title { margin: 0 0 6px; font-size: 16px; font-weight: 800; color: var(--pc-gray-900); }
.pc-sr-empty ul { margin: 0; padding-left: 20px; list-style: disc; color: var(--pc-gray-700); font-size: 14.5px; }
@media screen and (max-width: 600px) {
  .pc-sbar-go { padding: 0 16px; }
  /* Phones: the kinds as one swipeable row (twelve pills would be five rows); Highlighting on its own line. */
  .pc-search .search-content-filters { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 2px 0 6px; flex-basis: 100%; }
  .pc-search .highlightdiv { margin: 0 !important; }
  .SearchResultsPortlet .search-result-item { padding: 14px; }
}

/* The header's search pop-up: one row (field and button) in a white card; on phones the full-width band under the header
   keeps its place and gets the same field and button. Its suggestion list sat under the pop-up (z-index 1000 against
   5001), which hid the first suggestions; it now opens over it, as a card. */
@media screen and (min-width: 1026px) {
  .site-header-container .search-section.popover { min-width: 420px; padding: 0; border: 0; border-radius: 14px; box-shadow: 0 12px 32px rgba(0,0,0,.28); }
}
.site-header-container .search-section .popover-content { display: flex; gap: 8px; padding: 12px; }
.site-header-container .search-section .form-group { float: none !important; flex: 1 1 auto; width: auto !important; min-width: 0; margin: 0 !important;
  padding: 0 !important; }
.site-header-container .search-section .search-input { width: 100% !important; height: 46px; margin: 0 !important; padding: 0 14px; font-size: 16px;
  color: var(--pc-gray-900) !important; border: 1.5px solid var(--pc-gray-300); border-radius: 10px; box-shadow: none; }
.site-header-container .search-section .search-input:focus { outline: none; border-color: var(--pc-green-600); box-shadow: 0 0 0 4px rgba(46,125,50,.25); }
.site-header-container .search-section .init-search-btn { float: none !important; flex: 0 0 auto; display: inline-flex; align-items: center;
  justify-content: center; width: auto !important; min-width: 92px; height: 46px; margin: 0 !important; padding: 0 18px !important;
  font-size: 15.5px !important; font-weight: 800; line-height: 1; border-radius: 10px; }
@media screen and (max-width: 1025px) {
  .site-header-container .search-section.popover { border: 0; border-radius: 0 0 14px 14px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.25); }
  .site-header-container .search-section .arrow { display: none; }
  .site-header-container .search-section .popover-content { padding: 12px 16px 14px; }
}
.site-header-container .searchAutoComplete .ui-autocomplete { z-index: 5002 !important; max-height: 60vh; overflow-y: auto; padding: 6px;
  background: #fff; border: 1.5px solid var(--pc-gray-200); border-radius: 12px; box-shadow: 0 12px 28px rgba(0,0,0,.2); font-family: var(--pc-font); }
.site-header-container .searchAutoComplete .ui-menu-item-wrapper { margin: 0 !important; padding: 9px 12px; border: 0 !important; border-radius: 8px;
  color: var(--pc-gray-900); font-size: 15px; line-height: 1.3; }
.site-header-container .searchAutoComplete .ui-menu-item-wrapper.ui-state-active { background: var(--pc-green-50); color: var(--pc-green-900); }

/* ---------- Registration closed for a student group (the script's note replaces "begins 2:00 AM and ends 2:02 AM") ---------- */
.pc-reg-closed { font-weight: 600; }
.pc-reg-closed a, .pc-reg-closed a:visited { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Office content written in inline Georgia ----------
   Blocks such as Student Home's "Welcome to MyPJC" and the refund schedule card set their headings in Georgia, often
   italic, which read as another site next to the theme (tester, 2026-10-06: "inconsistent italic serif font"). Headings and
   card titles in CMS content take the theme's face, upright; the office's text, colours and layout are untouched. */
.wysiwygtext [style*="georgia" i] { font-family: var(--pc-font) !important; font-style: normal !important; }
.wysiwygtext h1[style*="georgia" i], .wysiwygtext h2[style*="georgia" i], .wysiwygtext h3[style*="georgia" i],
.wysiwygtext h4[style*="georgia" i] { font-weight: 800 !important; letter-spacing: -.01em; }

@media print {
  .pc-sbar, .pc-sgo, .pc-search #slideout-wrapper { display: none !important; }
}

/* ---------- v28: one-time welcome to the new portal (signed-in people; see buildWelcome) ---------- */
.pc-welcome { position: relative; overflow: hidden; margin: 16px 0 18px; padding: 22px 60px 22px 26px; border-radius: 18px; background: #fff;
  border: 1.5px solid rgba(26,92,42,.18); border-left: 8px solid var(--pc-gold-400); box-shadow: var(--pc-shadow-md); }
.pc-welcome::after { content: ""; position: absolute; right: 24px; bottom: -16px; width: 78px; height: 116px; pointer-events: none;
  background: url(images/pyro/flame.png) no-repeat center / contain; opacity: .14; }
.pc-welcome .pc-eyebrow { color: var(--pc-gold-700); }
.pc-welcome h2 { margin: 0 0 8px; font-size: 24px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: var(--pc-green-900); }
.pc-welcome p { margin: 0 0 10px; max-width: 62ch; font-size: 15.5px; line-height: 1.55; color: #1f2937; }
/* Wide screens: the welcome on the left, the three things to try as cards on the right (no empty half). */
.pc-welcome-body { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px 28px; align-items: start; }
@media (min-width: 900px) { .pc-welcome-body { grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); } }
.pc-welcome-side-title { margin: 2px 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pc-green-800); }
.pc-welcome-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pc-welcome-list li { list-style: none; display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 12px;
  background: rgba(26,92,42,.06); border: 1px solid rgba(26,92,42,.12); font-size: 14.5px; line-height: 1.45; color: #1f2937; }
.pc-welcome-ico { flex: 0 0 36px; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px;
  background: var(--pc-gold-400); color: var(--pc-green-900); }
.pc-welcome-ico svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pc-welcome-point { flex: 1 1 auto; min-width: 0; }
.pc-welcome a, .pc-welcome a:link, .pc-welcome a:visited { color: var(--pc-green-800); font-weight: 700; text-decoration: underline; }
.pc-welcome-actions { margin-top: 14px; }
.pc-welcome-close { position: absolute; top: 12px; right: 12px; z-index: 1; width: 40px; height: 40px; border: 0; border-radius: 50%;
  background: transparent; color: var(--pc-green-900); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.pc-welcome-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.pc-welcome-close:hover, .pc-welcome-close:focus { background: rgba(26,92,42,.1); }
.pc-welcome-close:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
@media (max-width: 600px) {
  .pc-welcome { padding: 18px 50px 18px 18px; border-radius: 14px; }
  .pc-welcome h2 { font-size: 21px; }
  .pc-welcome::after { display: none; }
  .pc-welcome .pc-cta { width: 100%; }
}
@media print { .pc-welcome { display: none !important; } }

/* v28: the deciding words of two look-alike answers in the Apply questions ("have" / "have not") */
.pc-apply-opt .pc-apply-em { font-weight: 800; color: var(--pc-green-900); background: #fde68a; padding: 1px 6px; border-radius: 5px;
  box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* ---------- v29: one underline, not two, on office content links ----------
   Offices paste links wrapped in a span with its own text-decoration: underline (inside or outside the <a>); with the
   theme's offset underline on every content link that made two lines at different heights (MARCOM page on production,
   2026-10-08). Nothing is removed (Sol v29 r1: a blanket none could erase a link's only line, or a strike-through):
   wherever the content underlines a link's text, the theme's own underline on that link drops its 3px offset and 1px
   thickness and takes the browser's defaults, the same place and weight the content's line has, so the two lines paint
   on top of each other as one. Matched on the pasted declaration itself, not on the word "underline" alone
   (text-underline-offset and custom properties do not match). Browsers without :has() keep the status quo. */
.wysiwygtext [style*="text-decoration: underline" i] a, .wysiwygtext [style*="text-decoration:underline" i] a,
.wysiwygtext a:has([style*="text-decoration: underline" i]), .wysiwygtext a:has([style*="text-decoration:underline" i]) {
  text-underline-offset: auto !important; text-decoration-thickness: auto !important; }

/* ---------- v30: office content in the theme's look (.pc-office) ----------
   Plain HTML an office can keep editing (headings, paragraphs, lists, a few divs with these classes; no inline styles,
   no nested tables) gets the Pyro look: a dates card, a red alert, numbered steps, a check list, cards and buttons.
   First used for the Student Accounts "Welcome to MyPJC" section (Sebastian, 2026-10-08: "This doesn't look good",
   the whole email-style block). Phone first; everything stacks. */
.wysiwygtext .pc-office { color: #1f2937; font-size: 15.5px; line-height: 1.55; }
.wysiwygtext .pc-office h2, .wysiwygtext .pc-office h3, .wysiwygtext .pc-office h4 { font-family: var(--pc-font); font-style: normal; font-weight: 800; color: var(--pc-green-900); letter-spacing: -.01em; }
.wysiwygtext .pc-office h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.15; }
.wysiwygtext .pc-office h3 { margin: 30px 0 8px; font-size: 21px; line-height: 1.2; }
.wysiwygtext .pc-office h4 { margin: 18px 0 8px; font-size: 16px; }
.wysiwygtext .pc-office p { margin: 0 0 12px; max-width: 72ch; }
.wysiwygtext .pc-office-lede { padding: 4px 0 4px 16px; border-left: 4px solid var(--pc-gold-400); color: #374151; }
.wysiwygtext .pc-office-dates { margin: 12px 0 6px; border: 1px solid rgba(26,92,42,.18); border-radius: 14px; overflow: hidden; background: #fff; }
.wysiwygtext .pc-office-dates-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px 16px; flex-wrap: wrap; padding: 14px 18px; background: var(--pc-hero); color: #fff; font-weight: 800; }
.wysiwygtext .pc-office-dates-note { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #fff; } /* white, not gold: gold on the hero's light end is 3.6:1 (Sol v30 r1) */
.wysiwygtext .pc-office-dates-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid rgba(26,92,42,.12); }
.wysiwygtext .pc-office-dates-row:nth-of-type(2) { border-top: 0; }
.wysiwygtext .pc-office-dates-row span { font-weight: 800; color: var(--pc-green-800); white-space: nowrap; }
.wysiwygtext .pc-office-alert { margin: 12px 0 16px; padding: 16px 18px; border-radius: 14px; background: #fdf1ef; border-left: 6px solid #b42318; }
.wysiwygtext .pc-office-alert p { margin: 0 0 8px; }
.wysiwygtext .pc-office-alert-title { font-weight: 800; color: #8a2a1f; }
.wysiwygtext .pc-office-contacts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 4px; }
.wysiwygtext .pc-office-contacts span { display: block; font-size: 13px; font-weight: 700; color: #8a2a1f; }
.wysiwygtext .pc-office-contacts a, .wysiwygtext .pc-office-contacts a:link, .wysiwygtext .pc-office-contacts a:visited { font-size: 17px; font-weight: 800; color: var(--pc-green-900); text-decoration: none; }
.wysiwygtext .pc-office-steps { list-style: none; counter-reset: pc-office-step; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.wysiwygtext .pc-office-steps li { counter-increment: pc-office-step; display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 12px 14px; border-radius: 12px; background: rgba(26,92,42,.06); border: 1px solid rgba(26,92,42,.12); }
.wysiwygtext .pc-office-steps li::before { content: counter(pc-office-step); grid-row: 1 / span 2; width: 34px; height: 34px; border-radius: 50%; background: var(--pc-gold-400); color: var(--pc-green-900); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.wysiwygtext .pc-office-steps strong { grid-column: 2; display: block; font-weight: 800; color: var(--pc-green-900); }
.wysiwygtext .pc-office-steps span { grid-column: 2; display: block; font-size: 14.5px; color: #374151; }
.wysiwygtext .pc-office-note { padding: 12px 16px; border-radius: 12px; background: #eef7ef; border-left: 5px solid var(--pc-green-800); }
.wysiwygtext .pc-office-card { margin: 12px 0 6px; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1px solid rgba(26,92,42,.18); box-shadow: var(--pc-shadow); }
.wysiwygtext .pc-office-card h4 { margin: 0 0 6px; }
.wysiwygtext .pc-office-card p:last-child { margin-bottom: 0; }
.wysiwygtext .pc-office-btn, .wysiwygtext .pc-office-btn:link, .wysiwygtext .pc-office-btn:visited { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 18px; border-radius: 10px; background: var(--pc-green-800); color: #fff; font-weight: 800; text-decoration: none !important; }
.wysiwygtext .pc-office-btn:hover, .wysiwygtext .pc-office-btn:focus { background: var(--pc-green-900); color: #fff; }
.wysiwygtext .pc-office-btn-gold, .wysiwygtext .pc-office-btn-gold:link, .wysiwygtext .pc-office-btn-gold:visited { background: var(--pc-gold-400); color: var(--pc-green-900); box-shadow: 0 3px 0 var(--pc-gold-600); }
.wysiwygtext .pc-office-btn-gold:hover, .wysiwygtext .pc-office-btn-gold:focus { background: var(--pc-gold-500); color: var(--pc-green-900); }
.wysiwygtext .pc-office-btn:focus-visible { outline: 3px solid var(--pc-green-800); outline-offset: 2px; }
.wysiwygtext .pc-office-checks { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.wysiwygtext .pc-office-checks li { position: relative; padding: 12px 14px 12px 52px; border-radius: 12px; background: #fff; border: 1px solid rgba(26,92,42,.18); }
.wysiwygtext .pc-office-checks li::before { content: "\2713"; position: absolute; left: 12px; top: 12px; width: 28px; height: 28px; border-radius: 50%; background: var(--pc-green-900); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.wysiwygtext .pc-office-checks strong { display: block; font-weight: 800; color: var(--pc-green-900); }
.wysiwygtext .pc-office-checks span { display: block; font-size: 14.5px; color: #374151; }
.wysiwygtext .pc-office-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 16px; border-radius: 12px; background: rgba(245,184,0,.12); border: 1px dashed rgba(26,92,42,.3); }
.wysiwygtext .pc-office-cta p { flex: 1 1 260px; margin: 0; }
@media (max-width: 600px) {
  .wysiwygtext .pc-office h2 { font-size: 24px; }
  .wysiwygtext .pc-office-cta .pc-office-btn { width: 100%; }
}

/* ==========================================================================
   Finances: Requisition Approval and Requisitions and Orders ([CRM] portlets; v31, pyro.js enhanceRequisitionGrids)
   Jenzabar's 7-9 column GridViews (RAGridView / ROGridView, nowrap cells, 12 px text) made a phone page twice as wide as
   the screen. The grid now scrolls inside its own box at every width, and on phones each row is a card of labelled lines
   (labels from the grid's own headings), the select-all checkbox stays as "Select all", buttons are 44 px tall.
   ========================================================================== */
.pc-ra-box { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
#portlets #RAMainView, #portlets #ROMainView { margin: 0; }
#portlets .RASummaryBox, #portlets .ROSummaryBox { display: block; max-width: 100%; margin: 0 0 14px; padding: 10px 12px; border: 1.5px solid var(--pc-gray-200);
  border-top: 4px solid var(--pc-green-700); border-radius: 12px; background: var(--pc-gray-50); color: var(--pc-gray-700); box-sizing: border-box; }
#portlets .RASummaryBox table, #portlets .ROSummaryBox table { width: auto; }
#portlets .RAInformativeHeaderText, #portlets .ROInformativeHeaderText { font-size: 17px; font-weight: 800; color: var(--pc-green-900); margin: 0 0 8px; }
#portlets .RAGridView td, #portlets .RAGridView th, #portlets .ROGridView td, #portlets .ROGridView th { font-size: 14px; padding: 8px 10px; }
#portlets .RAGridView th, #portlets .ROGridView th { background: var(--pc-gray-100); color: var(--pc-gray-700); }
#portlets .RAStatusMessage { min-width: 0; border-radius: 10px; }
#portlets #RAMainViewReviewNowButtons { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
#portlets #RAMainViewReviewNowButtons input { margin: 0; min-height: 44px; padding: 8px 18px; border-radius: 8px; font-weight: 700; }
@media screen and (max-width: 700px) {
  #portlets table.pc-ra-cards { border: 0; }
  #portlets table.pc-ra-cards, #portlets table.pc-ra-cards > tbody, #portlets table.pc-ra-cards > tbody > tr, #portlets table.pc-ra-cards > tbody > tr > td { display: block; width: auto !important; }
  #portlets table.pc-ra-cards > tbody > tr:first-child { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 0; background: transparent; }
  #portlets table.pc-ra-cards > tbody > tr:first-child > th { display: none; }
  #portlets table.pc-ra-cards > tbody > tr:first-child > th:has(input[type="checkbox"]) { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 4px 12px;
    border: 1.5px solid var(--pc-gray-300); border-radius: 999px; background: #fff; color: var(--pc-green-800); font-size: 14px; font-weight: 700; }
  #portlets table.pc-ra-cards > tbody > tr:first-child > th:has(input[type="checkbox"])::after { content: "Select all"; }
  #portlets table.pc-ra-cards > tbody > tr:not(:first-child) { display: flex; flex-direction: column; margin: 0 0 10px; padding: 10px 14px 8px; background: #fff; border: 1.5px solid var(--pc-gray-200);
    border-left: 4px solid var(--pc-green-700); border-radius: 12px; box-shadow: var(--pc-shadow); }
  #portlets table.pc-ra-cards > tbody > tr.RADefaultViewGridOverBudget { border-left-color: var(--pc-gold-400); }
  #portlets table.pc-ra-cards > tbody > tr > td, #portlets table.pc-ra-cards > tbody > tr.alt > td { display: flow-root; padding: 5px 0; border: 0; border-top: 1px solid var(--pc-gray-100);
    background: transparent; font-size: 14.5px; text-align: right; white-space: normal !important; overflow-wrap: anywhere; }
  #portlets table.pc-ra-cards > tbody > tr > td[data-pc-label]::before { content: attr(data-pc-label); float: left; max-width: 48%; margin: 1px 12px 0 0; text-align: left;
    font-weight: 700; font-size: 13px; color: var(--pc-gray-600); overflow-wrap: normal; }
  #portlets table.pc-ra-cards > tbody > tr > td[data-pc-label="Request"] { border-top: 0; padding: 0 0 6px; text-align: left; font-size: 16px; font-weight: 700; }
  #portlets table.pc-ra-cards > tbody > tr > td[data-pc-label="Request"]::before { content: none; }
  #portlets table.pc-ra-cards > tbody > tr > td[data-pc-label="Request"] { order: -1; }   /* the request heads the card; Select follows (Sol v31) */
  #portlets table.pc-ra-cards > tbody > tr > td.pc-ra-check { border-top: 0; padding: 0 0 6px; text-align: left; }
  #portlets table.pc-ra-cards > tbody > tr > td.pc-ra-check::before { content: "Select"; float: left; margin: 1px 12px 0 0; font-weight: 700; font-size: 13px; color: var(--pc-gray-600); }
  #portlets table.pc-ra-cards input[type="checkbox"] { width: 22px; height: 22px; margin: 0; vertical-align: middle; accent-color: var(--pc-green-800); }
  #portlets table.pc-ra-cards td a { display: inline-flex; align-items: center; min-height: 32px; }
  #portlets table.pc-ra-cards td input[type="image"] { width: 24px; height: 24px; vertical-align: middle; }
  #portlets #RAMainViewReviewNowButtons input { flex: 1 1 100px; }
}
