/* CSS Document for SubjectsPlus, public display (i.e., subjects/ folder ) */

/* reset - blueprint mod */
* {padding: 0; margin: 0; box-sizing: border-box;}

html {
    overflow-x: hidden;
    max-width: 100%;
}

body {
    overflow-x: hidden;
    max-width: 100%;
    width: 100%;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;border: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align:top; }
/* Remove annoying border on linked images. */
a img { border: none; }

p {margin-bottom: 10px;}

/* no's*/
.no-border{border: 0 !important}
.no-margin{margin: 0 !important}
.no-bg{background: none !important}
.no-pad-left{padding-left: 0 !important}
.no-pad-right{padding-right: 0 !important}

/* jQuery UI overrides */
.ui-widget {
       font-family: sans-serif;
}


body,
.pure-g [class *= "pure-u"],
.pure-g-r [class *= "pure-u"] {
    /* Set you're content font stack here: */
    font-family: sans-serif;
}

.ui-widget-header {
       background: #cccccc !important;
}

body {
    margin: 0 auto;
    padding: 0;
    
    font-size: 0.8125em;
    text-align: left;
    line-height: 1.5em;
    color: #494949;
    background: #F5F2F0;
}

html,
body {
    height: 100%;
    /* The html and body elements cannot have any padding or margin. */
}


a,
a:link  {
    color: #40659B;
}

a:visited {
    color: #551A8B;
}

a:hover {
    color: #cc6666;
}

h1 {
    color: #333333;
  
    font-size: 1.8em;
    font-weight: bold;
    padding: 0.5em 0 1em;
    text-shadow: 0 2px 3px #CCCCCC;
    margin: .5em 0 1em 0em;    
}

h2 {
  
    font-size: 1.2em;
    letter-spacing: 1px;
    color: #333;
    font-size: 1.3em;
}

h3 {
    
    font-size: 1.1em;
    letter-spacing: 1px;
    color: #6F6F6F;
}

em {font-style: italic;}


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

.clearboth {
    clear:both;
}

.clear-both-left {
    clear:both;
    float:left;
}


/* Wrapper for page content to push down footer */
#wrap {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    /* Negative indent footer by it's height */
    margin: 0 auto -45px;
}

#push, #footer {
        height: 45px;
    }

.main_logo { }

/* Header area */

#header {
    background: #fff;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 1px 0 0 rgba(0, 0, 0, 0.1);
}

#header_inner_wrap {
    text-align: left;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    background-color: transparent;
    height: auto;
    max-width: 1400px;
    overflow: visible;
}



/* Main content areas */

.wrapper-full {
    max-width: 1400px;
    margin: 0 auto;
}

#main-content { /* changed from #wrap to main-content per RG */
    position: relative;
    text-align: left;    
    background-color: transparent;
    width: 100%;
}



#leftcol {
    clear: both; float: left; width: 30%; margin-left: 2%;
}

#maincol {
    float: left; width: 30%; margin-left: 3%;
}

#rightcol {
    float: left; width: 30%; margin-left: 3%;
}

#rightcol p,#rightcol ul,#rightcol dl {
    margin: 4px 10px 4px 10px;
    padding: 0;
    list-style: none;
}

#rightcol ul li {
    margin: 0 0 .5em 0;
    padding: 0 0 0 18px;
    line-height: 1.4em;
    background: url("../images/icons/required.png") no-repeat 0 0px;
}

#rightcol h3 {
    font: 1.2em sans-serif;
    font-weight: 700;
    margin: 10px 0 12px 0;
    padding: 5px 10px 0px;
    border: none;
    color: #000;
}

#rightcol h4 {
    font-size: 92%;
    font-weight: normal;
    margin: 0;
}


/* Footer */

#footer {
    margin: 0;
    padding: 10px 0 0px 0;
    font-size: .8em;
    color: #333;
    border-top: 1px dotted #efefef;
}

#footer p {
    margin: 0;
    line-height: 1.4em;
    text-align: center;
}

#footer a, #footer a:link, #footer a:visited {
    color: #888;
}

#footer a:hover {
    color: #ccc;
}

/* Guide Tools */

#guide_nav_tools {
    float: left;
    margin: 2em 0 1em 40px;
}

#guide_nav_tools img {
    margin: 0 .25em;
    opacity: .6;
}

#guide_nav_tools img:hover {
    opacity: 1;
}

#sp_search {
    margin-left: 1em;
    margin-right: 2px;
}


/* This is for the pluslets */

.pluslet_simple {
    position: relative;
    clear: both;
    cursor: auto;
    z-index: 1;
    overflow: visible;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 5px;    
     padding: .5em 1em;
    margin: 1em;
}

.pluslet_simple ul, ol {
    margin: 1em;
}

#maincontent .pluslet_simple h2 {
    border: none;
    color: #333;
    background-color: #fff;
    border-bottom: 1px solid #efefef;
}
.no_overflow {
    overflow:auto;
}

.pluslet {
    position: relative;
    clear: both;
    background: #fff; 
    border: 0px solid #ccc;
    padding: 0;
    font-size: 10pt;   
    border-radius: 5px;
    margin: 1em 1em;    
    box-shadow: 5px 5px 7px #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.22);
}

.pluslet ul {
    margin-left: 2em;
}

.pluslet li {
    display: list-item;
    margin-left: 5px;
    margin-bottom: 10px;
}

.pluslet li a {
    background-color: transparent;
    border: medium none;
    box-shadow: none;
    color: #40659b;
    font-size: 1em;
    margin: 0;
    padding: 0;
}

.pluslet li a:hover {
    color: #cc6666;
    text-decoration: underline;
}
#tabs .pluslet ul {
    margin-bottom: 0.5em;
}

.pluslet_body {
    background-color: #fff;
    padding: .5em;
    margin: .5em;
    text-align: left;
    overflow: auto;
}

.pluslet_body .description {
   padding: 10px 0;
}


.titlebar {
    color: #333;
    position: relative;
    padding: 0;
    margin: 0;
    width: 100%;    
    background-color: #fff;
    border-radius: 6px;

}

.titlebar_text {
    font: 1.15em sans-serif;
    font-weight: 700;
    margin-bottom: 5px;
    margin-top: 0px;
    padding: 10px;
    border:  none;
    color: #333;
    background-color: transparent;
    -webkit-border-top-left-radius: 6px;
    -webkit-border-top-right-radius: 6px;
    -moz-border-radius-topleft: 6px;
    -moz-border-radius-topright: 6px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;

}

.titlebar_options {
    display: none;
}


/* Tabs */

#tabs {    
    background-color: transparent;
    width: 100%;
    float: left;
    clear: both;
    margin-top: 45px;
}

#tab-container {margin: -40px 0 0 0; padding: 0;}

/* if no tabs are being rendered, let's adjust our margins (example: one page guide - no tabs!!) */
#tab-body.no-tabs { 
    margin: -50px 0 0 0 ;
    padding: 50px 0 0 0;
}

#tabs ul {
     margin: 5px 5px 0 5px;
     padding: 10px 30px 0 2px;
}

.ui-tabs-nav.ui-widget-header {border: none !important; background-color: transparent !important; background-image: none !important;}

.ui-tabs .ui-tabs-nav li.child-tab {border-bottom: 1px solid #d3d3d3 !important;}

/* Print Dialog */


div.printer_tabs { /* Print button on guide with tabs */
    margin: 0 0 0 0;  
    background-color: transparent;
    position: absolute;
    top:-60px !important;
    width: 36px;
}

div.printer_no_tabs { /* Print button on guide with NO tabs */
    margin: -41px 0 0 5px;  
     background-color: transparent;
    position: absolute;
    top: 0 !important;
    width: 36px;

}

.print-img-tabs, .print-img-tabs:hover { 
    background-image: url("../../images/printer-default.png");
    background-repeat: no-repeat;
    background-position: 50% 65%;
    cursor: pointer;    
    padding: 2px 5px;
    background-color: #333 !important; 
    border-radius: 8px;
    border: none;
    opacity: .6;
}

.print-img-no-tabs, .print-img-no-tabs:hover { 
    background-image: url("../../images/printer-default.png");
    background-repeat: no-repeat;
    background-position: 50% 65%;
    cursor: pointer;    
    padding: 2px 6px;
    background-color: #333 !important; 
    border-radius: 8px;
    border: none;
    opacity: .6;
}

.printDialog {
    margin: 10px;
    padding: 10px;
    font-size: 14px;
}

.printDialog ul {margin: 0; padding: 0; list-style-type: none;}

.printDialog ul li {margin-bottom: 15px; font-size: 14px; }

.printDialog ul li a.pure-button-topsearch,
.printDialog ul li a.pure-button-topsearch:link,
.printDialog ul li a.pure-button-topsearch:hover {
    color: #fff;
    width: 150px; 
    padding-top: 10px;
}

.pure-button-topsearch {
    background-color: #333;
    color: #fff;
}


/* Next lines override the regular pluslet to create a heading */
.plusheading, .type-heading { background-color: transparent; padding: 0; text-transform: normal;}
div.plusheading .pluslet_body, div.type-heading .pluslet_body {position: relative;padding:0;}



div.pluslet form {
    padding-top: -10px;
    margin: 0;
}

/* subjects/databases.php */

#a2z a  {
    color: #fff;
    font-size: larger;
    text-decoration: none;
    text-align:center;
}

#a2z a:link a:visited {
    color: #fff;
}

#a2z a:hover {
    color: #333;
}

.togglelink img {
    cursor: pointer;
}


/* jQuery autocomplete search categories */

.ui-autocomplete-category {
  font-weight: bold;
  padding: .2em .4em;
  margin: .8em 0 .2em;
  line-height: 1.5;
}

.ui-helper-hidden-accessible {

    display:none;
}

.autocomplete-parent-guide {
    /*text-indent:1.5em;*/
    font-weight:bold;
    font-size:.9em;
    text-indent:.8em;
}


.ui-autocomplete {
max-height: 300px;
overflow: auto;

}

.ui-menu-item a {
    cursor: pointer;
}
/* Search boxes on subjects/index.php */

.main_search_box {
    text-align: left;
    margin-left: 0px;
}

/* Display for the "all items" pluslet */

.leftcolheader {
    background-color: #EFF8CE;
    border: none;
    color: #000000;
    font-size: 1em;
    padding: 2px;
    text-align: center;
    font-weight: 700;
    margin-left: -5px;
    margin-right: -5px;
    background-color: #CFDAE6;
}


.note {
    font-size: 9pt;
    line-height: 12pt;
}

/* Databases Page */

#letterhead {
    margin-bottom: 1em;
    font-size: 14px;
    font-weight: normal;
    padding-bottom: 1em;
    border-bottom: 1px solid #ccc;
    list-style-type: none;
}
#selected_letter {
    display: inline-block;
    border: 1px solid #ccc;
    background-color: #79A4D4;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 0.2em .6em;
    margin: .5em .5em .5em 0;
    color: #fff;
}
#letterhead a, #letterhead li {
    display: inline-block;
    border: 1px solid #ccc;
    background-color: #eee;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 0.2em .6em;
    margin: .5em .5em .5em 0;
    text-decoration: none;
    color: #333;
}
#letterhead a:hover {
    background-color: #79A4D4;
    color: #fff;
}
#letterhead input {
    background-color: #e0e0e0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #ccc;
    padding: .2em .6em;
    margin: .5em;
    font-size: 1em;
}
#letterhead select {
    background-color: #e0e0e0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #ccc;
    padding: .1em 0 .1em 0;
    margin: .5em .5em 0 0;
    font-size: 1em;
}
#letterhead option {
}
#letterhead_small {
    margin-bottom: .2em;
    font-size: 12px;
    font-weight: normal;
    padding-bottom: .2em;
}
#letterhead_small a {
    color: #333;
    text-decoration: none;
    width: 1em;
    display: inline-block;
    list-style-type: none;
    border: 1px solid #ccc;
    background-color: #eee;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 0 .6em;
    margin: .2em .5em .2em 0;
    color: 333;
    text-decoration: none;
}
#letterhead_small a:hover {
    background-color: #79A4D4;
    color: #fff;
}

#letterhead .inactive {display: none;}

.dbresults {
    clear:both;
    padding: 7px 0;
    border-top: 1px dashed #dfdfdf;
}

.no-border {
    border: none;
}

.dbresults-inset {
    clear:both;
    padding: 7px 0;
    margin-left: 2em;
}
.zebra {
    padding: .5em 0 .5em .5em;
    border-bottom: 1px solid #ccc;
}
/*
.zebra:hover {
    background-color: #ccc;
}
*/

.evenrow, .even {
    background-color: #f2f2f2;
}
.oddrow, .odd {
    background-color: #fff;
}

.list_bonus {
    display: none;
    z-index: 200000;
}

table {
    font-size: 1.2em;
}
table.item_listing td, div.item_listing p {
    padding: .5em 0 .5em .5em;    
    margin: 0;
    padding: 10px 0 5px 5px;
}
table.item_listing th {
    padding: .5em 0 .5em .5em;
    border-top: 1px solid #EFE9C2;
    background-color: #000;
    background: #000;
    color: #fff;

}

table.istem_listing h2 {
    border:none;
    background-color: #fff;
}

table.item_listing a {
    text-decoration: none;
}

table.item_listing a:hover {
    text-decoration: underline;
}

.list_bonus {
    display: none;
    z-index: 200000;
    margin-top: .5em;
    color: #333;
    font-size: 0.8em !important;
}

.list_bonus img {
    background-color: #79A4D4;
    border-radius: 3px;
    height: 15px;
    padding: 3px;
    width: 15px;
}

.db_icons {
    float: right;
    font-size: 0.8em !important;
    margin-right: 1em;
}

.db_icons img {
    /* background-color: #79A4D4; */
    border-radius: 3px;
    height: 15px;
    width: 15px;
    padding: 3px;
}

.toggleLink {
    font-size: 13px; border-radius: 3px; margin-left: 1em; color: #666; padding: 1px 3px;
    display: inline-block;
    cursor: pointer;
}

.togglelink:hover {
    background-color: #E67E22 !important;
}

/* The next three classes are used for even/odd striped tables of data/results */
.striped_data {
    font-size: 100%;
    margin: 2px;
    background-color: #ccc;
}



/* This is for debugger results, if $debugger variable is turned on in file */
.debugger {
    text-align: left;
    background: Yellow;
    font-size: 12px;
    margin: 15px;
    padding: 5px;
    border: 1px dashed #ccc;
    overflow: auto;
}

/* For subjects/faq.php results */

.faq_item {
    background: url("../images/left_top_corner.gif") no-repeat;
}

.faq_item_q { /*background: #333; color: #fff;
	*/
              padding-left: 15px;
              margin-bottom: 2px;
              padding-bottom: 2px;
              font-weight: bold;
              padding-top: 9px;
}

.faq_item_a {
    padding-left: 15px;
    padding-bottom: 5px;
}

.faq_filter {
	font-size: .8em;
	text-align: center;
	margin:1em;
}

/* The next few determine how peoples' names and pix appear in staff.php & staff_details.php
staff_photo2 is in the sidebar of the subject results page (which requires a float)*/
.staff-heading th{padding:5px 0 10px 0; font-size: 1.1em;}

.footable {font-size: 1em;}
.footable tr td {padding:10px 5px;}

.staff-tel-row {
    min-width: 100px;
}

#quick_search {display:inline-block; width: -moz-calc(100% - 60px); width: -webkit-calc(100% - 60px); width: calc(100% - 60px);}
#topsearch_button {display:inline-block; padding:5px 50px; width:50px; }


.staff_photo {
    position: relative;
    background: #efefef;
    padding: 3px;
    border: 1px solid #333;
    margin-right: 20px;
    margin-bottom: 10px;
}

.staff_photo2 {
    background: none repeat scroll 0 0 #efefef;
    border: 1px solid #333;
    float: left;
    margin: 0 1em 1em 0;
    padding: 3px;
    position: relative;
}

.staff_contact {
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 1em;
    padding: 0;
}

span.staff_contact a:link {

    color: #000;
    text-decoration: underline;
}
span.staff_contact a:visited {

    color: #000;
    text-decoration: underline;
}

span.staff_contact a:hover {

    text-decoration: none;
    color: #cc6666;

}

span.staff_contact a {

    color: #000;
    text-decoration: underline;
}

h2.dept_header {
    background-color: #fff  !important;
    border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    -khtml-border-radius: 0px !important;
    -webkit-border-radius: 0px !important;
    text-align: center !important;
    padding-bottom: 6px;
    border: none !important;
}

/* This is for the search box on subjects/display.php & subjects/faq.php */

.search_smaller {
    font-size: 10px;
    margin: 0px;
    padding: 0px;
}


/* Used throughout for print that is um smaller  */
.smaller {font-size: 8pt; }

#listing a:hover {
    text-decoration: underline;

}

#listing a   {
    text-decoration: none;
}


#intro_pluslet {

    position: relative;  clear: both; background: #fff; margin-bottom: 10px; z-index: 50; border: 1px solid #929abe;  padding: 0px;cursor: move; font-size: 10pt;
    -moz-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}


#navbar {
    width:100%;
}

#nav a {color: #000;
        text-decoration:none;}

#nav a:link {color: #000;
             text-decoration:none;}

#nav a:visited {color: #000;
                text-decoration:none;}

/* Talk Back */

.pluslet_error {
    background-color: #CC0000;
}

.tb_year_head {
    background-color: #333;
    font-size: 16pt;
}

div.tb_year_head a {
    color: #fff;
}

.tb_form_head {
    background-color: #fff;
}


.tb_answer {
    margin-top: 8px;
    padding: 8px 5px;
    min-height: 70px;
    background-color: #e0e0e0;
    border-top: 1px solid #ccc;
}

.tb_staff_photo {
    position: relative;
    float: left;
    background: #efefef;
    padding: 3px;
    border: 1px solid #333;
    margin: 0 10px 0 0px;
    max-width: 50px;

}

.toc {
    float: left;
    width: 30%;
    margin: 0 1% 1em 1%;
}

/* Tell Us Page */
form#tellus p {
    padding: .5em 0 .5em 1em;
}

.tellus_item {
    clear: both;
    display: block;
    float: left;
    margin: 1em 0;
    padding: .5em;
    min-width: 95%;
    background-color: #fff;
    border-bottom: 1px dashed #DCD9CC;
}
.comment_num {
    position: relative;
    float: left;
    display: inline-block;
    background-image: url('../../images/icons/comment_box.png');
    background-repeat: no-repeat;
    width: 39px;
    height: 34px;
    margin-right: 1em;
    text-align: center;
    font-size: 1.4em;
    color: #fff;
    padding-top: 5px;
}
.tellus_comment {
    background-color: #fff;
    padding: .5em;
    margin: 0;
}

/* Styling the markup generated by the autocomplete jQuery UI widget */


ul.ui-autocomplete{
    width:250px;
    background-color:#fff;
    border:1px solid #fff;
    outline:1px solid #ccc;

}

ul.ui-autocomplete li{
    list-style:none;
    border-bottom:1px solid #e0e0e0;
    border-top:1px solid #fff;
    text-align: left !important;
}

ul.ui-autocomplete li:first-child{
    border-top:none;
}


ul.ui-autocomplete li:last-child{
    border-bottom:none;
}

ul.ui-autocomplete li a{
    color:#333;
    border:none !important;
    text-decoration:none !important;
    padding:5px 10px;
    display:block;
}

#ui-active-menuitem{
    background-color:#79A4D4;
    color:#fff;
    cursor:pointer;
}

/* Videos page */


div.vid_container {
  background-color: #333;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: 100%;
  float: left;
  margin: 0 0 25px 0;
  padding-bottom: 10px;
  color: #fff;
}


div.vid_container img {
  float: left;
  margin: 10px 20px 10px 10px;
  background-color: #4F4E4E;
  width: 150px;
  cursor: pointer;
  list-style: none outside none;
  padding: 7px;
  position: relative;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;

}



div.vid_container h3 {
  font-size: 1.3em;
  color: #B0CBE8 !important;
  margin-top: 10px;
  cursor: pointer;
}

div.vid_container p {
  font-size: 1em;
  color: #fff;
  margin-top: 0;
}

div.vid_container a {
  color: #B0CBE8;
  cursor: pointer;
}

div.vid_container p.runtime {font-size: smaller; margin-bottom: 15px;}

.video_thumb {
  float: left;
  margin-right: 25px;
  margin-bottom: 20px;
  background-color: #333;
  cursor: pointer;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 5px;
}

div.video_thumb img {
  float: left;

}
.video_list {
  clear: both; float: left; width: 500px;
}




/* these .ui class overrides tweak border and spacing of tab containers */
.ui-content {
    border: none !important;
}

.ui-tabs .ui-tabs-panel {
    padding: 1em 0em !important;
}

.ui-state-active {
    background: #79A4D4;
}
.hometab {
    
}

/* DZ's fixes to  make the home icon work properly */
/* DZ when on another tab */

.ui-state-default .hometab {
    
    /*background: url(../../images/icons/home-active.png) no-repeat center center !important;*/
}

 
/* DZ - When hovering on this tab */
.ui-state-hover .hometab

{
    
    /*background: url(../../images/icons/home-hover.png) no-repeat center center !important;*/
}

/* DZ -  When on this tab */
.ui-state-active .hometab, .ui-state-focus .hometab {
    
   /* background: url(../../images/icons/home-white.png) no-repeat center center !important;*/    
    color: #FFF !important;
}

.dropspotty.ui-state-active {background-color: rgba(51, 51, 51, 0.7) !important; color: #FFF !important;}
.dropspotty.ui-state-active a {color: #FFF !important;}

/* Next lines override the regular pluslet to create a heading */
.evenrow {
    background-color: #f2f2f2;
}

.bullet {
height:55px;
width:55px;
}


.staff-info {
    float:left;
}



.float-left {
    float:left;
}

.ts-blackwhite, .ts-umgreen
{
    background-color:black;
    color:white;
}

.ts-whiteblack, .ts-umcream
{
    background-color:white;
    color:black;
}

.noshow {display: none;}



/* Catalog Pluslet Display - Front-end */

.catalog-search {width:100%; margin: 0;}

.catalog-search .adv-prompt a{font-size: 0.8em;}



/* Social Media Pluslet - Front-end*/
#social_media_accounts ul {list-style-type: none; margin: 0; padding: 0;}

#social_media_accounts ul li { display: inline; }

#social_media_accounts ul li a { text-decoration: none; padding: .2em 0.3em .2em 0; font-size: 26px; color: rgba(51,51,51,0.7);}
#social_media_accounts ul li a:hover { color: rgba(51,51,51,1);}




/* Hide Expand/Collapse Pluslets - Front-end*/
#expand_tab {display: none !important;}



/* Subject Specialist Pluslet - NEW - Front-end*/
.subjectSpecialistPlusletOld {margin: 0 0 12px 0; display: block; padding-bottom: 10px;}
.subjectSpecialistPluslet {margin: 0 0 12px 0; display: block; border-bottom: 1px dashed #CCC; padding-bottom: 10px;}


.staff-image {width: 90px; float:left; display: inline-block; margin-right: 10px; }

.staff-photo {width: 70px; height: 70px; border: 1px solid #d5d5d5; padding: 3px; background-color: #f2f2f2;}

.staff-content {
  float:left; 
  display: inline-block;
  width: calc(100% - 110px);
  width: -moz-calc(100% - 110px);
  width: -webkit-calc(100% - 110px);
}

.staff-details {list-style-type: none; margin: 0 !important; padding: 0; display: inline-block; }
.staff-details h4 {font-weight: bold; margin-bottom: 6px;}
.staff-details li {margin: 0 !important; display: block !important; white-space: pre-wrap;   white-space: -moz-pre-wrap;   
   white-space: -o-pre-wrap;  word-wrap: break-word; }

.staff-social {padding: .2em 0.2em .2em 0; font-size: 26px; display: inline-block;}
.staff-social  a {text-decoration: none; color: rgba(51,51,51,0.7) !important;}
.staff-social a:hover { color: rgba(51,51,51,1) !important;}


/* WorldCat Pluslet - Front-end */
#div-search { width: 100%;}

#wcfw p {margin:0 0 0.5em 0;}

#wcfw #box {margin: 0 10px 0 0;}

#wcfw input {margin-bottom: 4px;}

/* tab style */
.pluslet_body ul.shadetabs {padding: 3px 0 !important; font-size: 1em !important; font-weight: normal !important; list-style-type: none !important; text-align: left !important; margin: 10px 0 0 0 !important;}
.pluslet_body ul.shadetabs li {display: inline-block !important; margin: 0 0 12px 0 !important; font-size: 0.9em !important;}
.pluslet_body ul.shadetabs li a{text-decoration: none !important; position: relative !important; z-index: 1 !important; padding: 3px 7px !important; margin-right: 3px !important; border: 1px solid #CCC !important; color: #333 !important; cursor:pointer !important; border-radius: 2px !important;}
.pluslet_body ul.shadetabs li a:visited{color: #333 !important;}
.pluslet_body ul.shadetabs li a:hover{text-decoration: underline !important; color: #000 !important;}
.pluslet_body ul.shadetabs li a.selected{position: relative !important; top: 1px !important; color: #333 !important; background: #d5d5d5 !important; cursor:text !important;}
.pluslet_body ul.shadetabs li a.selected:hover{text-decoration: none !important;}


#journalsearch {margin-top: 0;}

.wcat-label {font-weight: normal; font-size: 0.9em; margin: 0 !important;}

#bottomdiv {
  padding: 0.2em 0 0.2em 10px; 
  background: url(https://www.worldcat.org/searchbox/images/wclocal_srchwc.gif?ai=SubjectsPlus) 98% bottom no-repeat;}

#bottomdiv a {font-size: 0.8em;}

/* Pure Form overrides - PV */
.pluslet_body .pure-form input,
.pluslet_body .pure-form select,
.pluslet_body .pure-form textarea {
  border-radius: 2px !important;
  border: 1px solid #bcbbbb !important;
  box-shadow: none !important;
  padding: 4px !important;
  margin-bottom: 6px;
  width: 50%;
  white-space: nowrap;
}

.pluslet_body .pure-form select {  
  -webkit-appearance: none;
  -moz-appearance: none;
  background-position: right 50%;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
    padding: 0.3em 1.75em 0.3em 0.5em !important;
  -webkit-border-radius: 2px; 
}

.pluslet_body .pure-form select option {white-space: nowrap; width: auto;}

.pluslet_body .pure-button-pluslet, 
.pluslet_body a.pure-button-pluslet {
  background-color: rgba(51,51,51, 0.7);
  box-shadow: none;
  color: #FFF !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) !important;   
}

.pluslet_body .pure-form input.pure-button-pluslet {padding: 4px 10px !important; width: auto;}

.pluslet_body .pure-button-pluslet:hover, 
.pluslet_body a.pure-button-pluslet:hover {
  background-color: rgba(51,51,51, 1);
}

.pluslet_body .pure-form legend {
    border-bottom: none;
    color: #333;
    font-style: italic;
    width: 94%;
    margin:0;
    padding: 0;
}

/* TOC Pluslet - Front-end */
h4.toc-heading {margin: 6px 0; font-weight: bold;}
.table-of-contents { font-size: 1em; display: list-item; list-style-position: inside; padding: 0; color: #40659b !important;}
.table-of-contents:hover { color: #cc6666 !important;}


/* Google Search Pluslet - Front-end */

.google-attribution {
  padding: 0.5em 0 0.2em 10px; 
  background: url("../../images/icons/powered_by_google_on_white.png") 98% bottom no-repeat;
  display: block;
  height: 15px;
  max-width: 110px;
  background-size:contain;
}


/* Guide Select Pluslet  - Front-end */
h4.guide-select-heading {margin: 6px 0; font-weight: bold;}
.pluslet_container .pure-form select {width:200px !important;}



/* HTML5 Video Pluslet - Front-end */
.video-container {margin-bottom: 10px;}



/*Experts Pluslet - Front-end */
.type-experts .pluslet_body {overflow: initial !important;}

.find-expert-area-circ {padding:0;}

.expert-list-circ {list-style-type: none; margin:15px 0 15px 0 !important; padding:0 !important; text-align: center;}
.expert-list-circ li {
    display:inline-block; 
    margin: 0 0 10px 0;
    padding:0; 
    width:120px;
    position:relative;
}

.expert-list-circ .expert-img {display: block; text-align: center;}
.expert-list-circ .expert-img img.staff_photo_full {padding:0; background-color: transparent; width: 80px; height: 80px; border: none; border-radius: 50%;}
.expert-list-circ .expert-label {display: block; text-align: center; padding:3px 0; width:100%; font-size:0.9em; line-height: 1.1em;}
.expert-list-circ .expert-title {display: block; font-size:0.95em; line-height: 1.2em; padding:5px; color:#FFF;}
.expert-list-circ .expert-subjects {display: block; text-align: left; padding:5px; font-size: 0.85em; line-height: 1.2em; color: #FFF;}

.expert-btn-area {text-align: center; margin-top:15px; margin-bottom:10px;}
.find-expert-area-circ .expert-button {text-align: center; padding: 6px 12px; border: 1px solid #bcbbbb; background-color: rgba(51, 51, 51, 0.7); font-size:1em; color:#FFF !important; border-radius: 2px; text-decoration: none; font-family: Verdana,Arial,sans-serif !important;}
.find-expert-area-circ .expert-button:hover {background-color: rgba(51, 51, 51, 1);}

.expert-subject-min {overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 115px;}

/*Expert tooltips */

.expert-list-circ li:hover .expert-tooltip {display:block;}

.expert-tooltip {
    position:absolute;
    top:-20px;
    right:92%;
    display:none;
    margin:5px;
    width:175px;
    min-height:120px;    
    border-radius: 2px;
    background-color: rgba(102, 102, 102, 0.9);
    z-index:99999;
    padding: 5px;  
    color: #FFF;  
}

.expert-tooltip:before {
    content:"\A";
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent  transparent transparent rgba(102, 102, 102, 0.9);
    position: absolute;
    right: -15px;
    top:35%;
}



/*Guide List Pluslet */
.guide_list {background-color: #FFF; padding:5px 5px;margin-bottom: 10px; border-radius: 2px;  }

.guide_list_header {border-bottom: 1px dotted #ccc; font-size: 1.1em !important; font-weight: bold;}
.guide_list_header h3 {letter-spacing: 0; color:#333; font-size: 1em; padding-bottom:2px; }

ul.guide-listing {list-style: inside none none !important; margin: 5px 0 0 5px !important; padding: 0 !important;}
ul.guide-listing li {font-size:1.025em !important; padding-bottom:0; margin-bottom: 5px;}
ul.guide-listing li .fa {color: #666; font-size:0.9em; cursor: pointer; margin-right:4px;}

.guide_list_bonus {padding:5px 10px; font-size:0.9em; line-height: 1.2em; display:none; color: #333;}

.pills-label {display:inline-block; color: #858585; font-size:1.1em; margin-right:10px; font-weight: bold; font-style: italic;}
.pills-container {display:inline-block; margin-bottom: 5px;}
.pills-container ul {list-style-type: none;}
.pills-container ul li {display:inline-block; font-size:1em; margin-right:8px;}
.pills-container ul li a {display:inline-block; font-size:1.1em; color: #333; padding: 0;}


/* Card Pluslet - Front-End */
/*** styles for Card Pluslet - taken from http://materializecss.com/cards.html ***/
/** added cbrownroberts nov 19, 2015 ***/

.type-card {
    border:none;
    border-radius: 0;
    box-shadow: none;
}

.type-card .titlebar {display:none;}

.type-card .pluslet_body {margin:0; padding: 0 0 5px 0;}

.card {
    position: relative;
    margin: 0 0 0 0;
    background-color: #fff;
    transition: box-shadow .25s;
    border-radius: 2px;
    border: 1px solid #ccc;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.card-panel {
    transition: box-shadow .25s;
    padding: 20px;
    margin: 0.5rem 0 1rem 0;
    border-radius: 2px;
    background-color: #fff; }

.card .card-title {
    font-size: 20px;
    font-weight: 300;
    background-color: rgba(0,0,0,0.5);
    width: -moz-calc(100% - 40px);
    width: -webkit-calc(100% - 40px);
    width: calc(100% - 40px);  
}
.card .card-title.activator {
    cursor: pointer; }
.card.small, .card.medium, .card.large {
    position: relative; }
.card.small .card-image, .card.medium .card-image, .card.large .card-image {
    max-height: 60%;
    overflow: hidden; }
.card.small .card-content, .card.medium .card-content, .card.large .card-content {
    max-height: 40%;
    overflow: hidden; }
.card.small .card-action, .card.medium .card-action, .card.large .card-action {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    background-color: inherit; }
.card.small {
    height: 300px; }
.card.medium {
    height: 400px; }
.card.large {
    height: 500px; }
.card .card-image {
    position: relative; }
.card .card-image img {
    display: block;
    border-radius: 2px 2px 0 0;
    position: relative;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%; }
.card .card-image .card-title {
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px; }
.card .card-content {
    padding: 20px;
    border-radius: 0 0 2px 2px;
}
.card .card-content p {
    margin: 0;
    color: inherit; }
.card .card-content .card-title {
    line-height: 48px; }
.card .card-action {
    border-top: 1px solid rgba(160, 160, 160, 0.2);
    padding: 20px; }
.card .card-action a {    
    margin-right: 20px;
    -webkit-transition: color .3s ease;
    -moz-transition: color .3s ease;
    -o-transition: color .3s ease;
    -ms-transition: color .3s ease;
    transition: color .3s ease;
    text-transform: none; 
    text-decoration: none !important;
    color: #40659b !important;
}
.card .card-action a:hover {text-decoration: underline !important; color: #cc6666 !important;}
.card .card-reveal {
    padding: 20px;
    position: absolute;
    background-color: #fff;
    width: 100%;
    overflow-y: auto;
    top: 100%;
    height: 100%;
    z-index: 1;
    display: none; }
.card .card-reveal .card-title {
    cursor: pointer;
    display: block; }

/*** end Card styles ****/



/*Book List ISBN Pluslet - Frontend */

.booklist_item {display: inline-block; vertical-align: top;}

.booklist_isbn_cover {margin:0 9px 0 0; max-width:250px;}
.booklist_isbn_cover img {width:150px; max-height:180px; padding: 4px; background-color: #eee; border-radius: 3px; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);}

.booklist_isbn_data {max-width: 250px; margin: 4px 9px 15px 0; text-align: center;}
.booklist_isbn_data h4 {line-height: 1.1em; margin: 0 0 8px 0; font-size:1em; width:150px; font-weight: bold; }
.booklist_isbn_data p {line-height: 0.8em; margin: 0 0 5px; width:150px;}
.booklist-author:before {content: "by"; padding: 0 4px 0 0;}
.booklist-date {padding: 0 0 10px; }



/* Revised Index - Front-end */

#guidesplash {margin: 20px 10px 0 10px;}

.index-search-area {margin-right: 0; padding: 0;}
.index-search-area .autoC {margin-bottom:25px;}
.index-search-area .ui-autocomplete-input {
    /*background: #f2f2f2 none repeat scroll 0 0;
    border-color: #DADFE1 #F2F1EF #F2F1EF #DADFE1 !important;
    box-shadow:none !important;*/
    border-radius:4px 4px 4px 4px !important;
    border-style: solid;
    border-width: 1px;
    margin: 0 10px 0 0;
    height: 35px;
    padding: 0.5em !important;
    font-size: 1.1em;
    color: #666;
    width: -moz-calc(100% - 75px) !important;
    width: -webkit-calc(100% - 75px) !important;
    width: calc(100% - 75px) !important;    
    text-transform: none;  
    display: inline-block !important;  
}

.index-search-area .ui-autocomplete-input:focus {border-color: #999 !important;}

.index-search-area .pure-button-topsearch {
    background-color: #666;
    color: #fff;
    margin: 2px 0 0 0;
    height: 35px;
    border-radius:4px 4px 4px 4px !important;
    text-transform: none;
    font-size: 1.2em;
    border-top: none;
    letter-spacing: 1px;
    padding: 5px 10px !important;
}

.ui-autocomplete.index-search-dd {}
.ui-autocomplete.index-search-dd .ui-autocomplete-category {display:none;}
.ui-autocomplete.index-search-dd li {border-bottom: 1px dashed #e0e0e0; border-top: none; font-size:1.1em; }
.ui-autocomplete.index-search-dd li a {color: #666; padding: 10px;}
.ui-autocomplete.index-search-dd li a:hover {color: #cc6666;}

.guide_list_container {margin-top:20px;}

.find-expert-area-circ h3 {
    letter-spacing: 0;
}

.find-expert-area-circ p {padding: 10px 10px 0;}

#guidesplash .find-expert-area-circ {padding: 0 0 15px 30px; margin-bottom:10px; margin-top:0;}

#guidesplash .expert-list-circ li {width:130px;}

#guidesplash .guide_list_header {margin-bottom: 6px;}
#guidesplash .guide_list_header h3 {padding-bottom: 5px;}

.other-staff,
.staff-by-dept,
.librarians-az {
    width: 100%;
    max-width: 100%;
}

.other-staff thead,
.librarians-az thead {
    display: none;
}

.other-staff td,
.other-staff th {
    display: inline-block;
    width: 100%;
    vertical-align: top;
}

.staff-by-dept td,
.librarians-az td, .librarians-az th, .librarians-az .staffpic, .librarians-az .staff-meta {
    display: inline-block;
    width: 100%;
    vertical-align: top;
}

.staff-departments, .staff-librarians {
    list-style: none;
    margin-left: 0 !important;
}

.staff-librarians li {
    display: inline-block;
    margin-bottom: 16px;
}

.staff-librarians .staff-info,
.staff-librarians .staff-subjects,
.staff-librarians .staffpic,
.staff-librarians .staff-meta {
    float: none;
    display: inline-block;
    width: 100%;
    vertical-align: top;
}




/*  Media Queries */

/* ≥ 568px  .pure-u-sm-* */
@media screen and (min-width: 35.5em) {

}


/* ≥ 768px  .pure-u-md-* */
@media screen and (min-width: 48em) {

    .other-staff thead {
        display: table-row;
    }

    .other-staff td,
    .other-staff th {
        display: table-cell;
        width:auto;
    }

    .staff-by-dept td,
    .librarians-az td, .librarians-az th, .librarians-az .staffpic, .librarians-az .staff-meta {
        display: table-cell;
        width: auto;
    }

    .librarians-az .staffpic {
        width:70px;
        height: 70px;
        display: inline;
    }

    .staff-librarians li {
        display: table-row;
        margin-bottom:0;
    }

    .staff-librarians .staff-info,
    .staff-librarians .staff-subjects {
        display: table-cell;
        width: auto;
    }

    .staff-librarians .staff-info {
        width:30%;
    }

    h1 {
        clear: left;
        margin-top: 0;
    }

    #guide_nav_tools {
        float: right !important;
        margin: 0 0 0 0;
    }

    div.printer_tabs { /* Print button on guide with tabs */
        margin: 0 0 0 0;  
        background-color: transparent;
        position: absolute;
        top:-46px !important;
        right: 305px;
        width: 36px;
    }

    div.printer_no_tabs { /* Print button on guide with NO tabs */
    margin: -28px 0 0 5px;  
     background-color: transparent;
    position: absolute;
    top: 0 !important;
    right: 305px !important;
    width: 36px;
    }

    .ui-widget-header {
       background: url("../shared/images/ui-bg_highlight-soft_75_cccccc_1x100.png") repeat-x scroll top left #cccccc !important;
    }

    .pluslet_body .pure-form input,
    .pluslet_body .pure-form select,
    .pluslet_body .pure-form textarea {
      width: 65%;
    }

    .index-search-area {padding: 0;}


}

/* ≥ 1024px     .pure-u-lg-* */
@media screen and (min-width: 64em) {

    .pluslet_body .pure-form input,
    .pluslet_body .pure-form select,
    .pluslet_body .pure-form textarea {
      width: 55%;
    }

    #guidesplash .find-expert-area-circ {margin-top:100px;}

    .index-search-area {padding: 0 30px 0 0;}

}

/* ≥ 1280px     .pure-u-xl-* */
@media screen and (min-width: 80em) {

}



/* For imported Guides */
.links {
    margin-bottom:5%;
}





/** styles for custom CKEditor dropdown **/

img.center-image {
    display: block;
    margin-left: auto;
    margin-right: auto
}

img.pluslet_card_image {
    display:block;
    position: relative;
    padding: 0;
    margin: 0;
    margin-bottom: 10px;
    width:100%;
    height:auto;
}


/** end ckeditor custom styles ***/



/* ===== Professional institutional overrides ===== */

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    line-height: 1.65;
    color: #333;
    background: #f4f6f9;
}

body,
.pure-g [class *= "pure-u"],
.pure-g-r [class *= "pure-u"] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

a, a:link { color: #1a5276; text-decoration: none; }
a:visited { color: #4a235a; }
a:hover { color: #c0392b; text-decoration: underline; }

h1 { font-size: 1.7em; font-weight: 600; color: #1b2a4a; text-shadow: none; margin: 0.3em 0; padding: 0; }
h2 { font-size: 1.35em; font-weight: 600; color: #1b2a4a; margin: 0.7em 0 0.4em; }
h3 { font-size: 1.1em; font-weight: 600; color: #2c3e50; margin: 0.5em 0 0.3em; }

/* Header */
#header {
    background: #1b2a4a;
    height: auto;
    padding: 0;
    margin: 0;
    border-bottom: 3px solid #c0932e;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

#header_inner_wrap {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: auto;
    padding: 12px 20px;
}

#header_inner_wrap > a,
.header-brand {
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.header-institution {
    font-size: 11px;
    font-weight: 600;
    color: #c0932e;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.header-title {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.3px;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

#header-nav {
    display: flex;
    gap: 2px;
}

#header-nav a {
    padding: 7px 14px;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

#header-nav a:hover {
    background: rgba(255,255,255,0.12);
    color: #fff;
    text-decoration: none;
}

/* Header search */
#header .pure-form {
    display: flex;
    align-items: center;
}

#header .ui-autocomplete-input {
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px 0 0 4px;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 13px;
    width: 180px;
    outline: none;
}

#header .ui-autocomplete-input::placeholder {
    color: rgba(255,255,255,0.5);
}

#header .ui-autocomplete-input:focus {
    background: rgba(255,255,255,0.18);
    border-color: #c0932e;
}

#header .pure-button-topsearch {
    padding: 6px 12px;
    background: #c0932e;
    border: 1px solid #c0932e;
    border-radius: 0 4px 4px 0;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

#header .pure-button-topsearch:hover {
    background: #a67c28;
}

/* Wrapper */
#wrap {
    min-height: 100%;
    height: auto !important;
    margin: 0 auto -45px;
}

.wrapper-full {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px 30px;
    overflow-x: hidden;
    width: 100%;
    box-sizing: border-box;
}

#body_inner_wrap {
    padding: 15px 0;
    border: none;
    background: transparent;
    box-shadow: none;
    overflow-x: hidden;
    max-width: 100%;
}

#content_roof,
#shadowkiller {
    display: none;
}

/* Page title */
.sp-page-title {
    background: #fff;
    margin: 0;
    padding: 20px 0 16px;
    border-bottom: 1px solid #e0e4e8;
}

.sp-page-title h1 {
    margin: 0 0 4px;
    font-size: 1.8em;
    color: #1b2a4a;
}

.sp-page-title p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

/* Search bar */
.sp-search-bar {
    margin: 15px 0;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #dde1e6;
    border-radius: 6px;
}

.sp-search-bar .autoC {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sp-search-bar .ui-autocomplete-input {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    width: 350px;
    background: #f9fafb;
}

.sp-search-bar .ui-autocomplete-input:focus {
    border-color: #1a5276;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(26,82,118,0.15);
}

.sp-search-bar .pure-button-topsearch {
    padding: 8px 20px;
    background: #1b2a4a;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.sp-search-bar .pure-button-topsearch:hover {
    background: #253d5e;
}

/* Guide type tabs */
.sp-guide-tabs {
    margin: 0 0 20px;
}

.sp-guide-tabs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 2px solid #1b2a4a;
}

.sp-guide-tabs ul li {
    margin: 0;
}

.sp-guide-tabs ul li a {
    display: inline-block;
    padding: 9px 18px;
    color: #1b2a4a;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    background: #e8ecf1;
    border: 1px solid #d0d5dc;
    border-bottom: none;
    margin-bottom: -2px;
    border-radius: 4px 4px 0 0;
    margin-right: 2px;
    transition: background 0.15s;
}

.sp-guide-tabs ul li a:hover {
    background: #1b2a4a;
    color: #fff;
    text-decoration: none;
    border-color: #1b2a4a;
}

.sp-guide-tabs ul li.active a {
    background: #1b2a4a;
    color: #fff;
    border-color: #1b2a4a;
}

/* Guide listing */
.guide_list_container {
    margin-bottom: 18px;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.guide_list_header {
    padding: 10px 0 8px;
    margin: 0;
    border-bottom: 2px solid #c0932e;
    background: transparent;
}

.guide_list_header h3 {
    font-size: 15px;
    font-weight: 700;
    color: #1b2a4a;
    margin: 0;
    padding: 0;
}

ul.guide-listing {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.guide-listing li {
    margin: 0;
    padding: 8px 10px;
    border-radius: 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid #eee;
}

ul.guide-listing li:hover {
    background: #eef3f8;
}

ul.guide-listing li .fa {
    color: #c0932e;
    font-size: 13px !important;
    cursor: pointer;
}

ul.guide-listing li a {
    font-size: 14px;
    color: #1a5276;
    font-weight: 500;
}

ul.guide-listing li a:hover {
    color: #c0392b;
}

.guide_list_bonus {
    margin-top: 4px;
    color: #777;
    font-size: 12px;
    display: none;
}

/* Index search */
.index-search-area .autoC {
    margin-bottom: 10px;
}

.index-search-area .ui-autocomplete-input {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px !important;
    background: #f9fafb;
    font-size: 14px;
    box-shadow: none;
}

.index-search-area .pure-button-topsearch {
    padding: 8px 18px;
    background: #1b2a4a;
    border: none;
    border-radius: 4px !important;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.index-search-area .pure-button-topsearch:hover {
    background: #253d5e;
}

/* Sidebar */
#sp-sidebar {
    padding-left: 20px;
}

.sp-sidebar-box {
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid #dde1e6;
    border-radius: 6px;
    overflow: hidden;
}

.sp-sidebar-box h3 {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    padding: 10px 14px;
    background: #1b2a4a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #c0932e;
}

.sp-sidebar-box ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-sidebar-box ul li {
    padding: 8px 14px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

.sp-sidebar-box ul li:last-child {
    border-bottom: none;
}

.sp-sidebar-box ul li a {
    color: #1a5276;
    text-decoration: none;
}

.sp-sidebar-box ul li a:hover {
    text-decoration: underline;
    color: #c0392b;
}

/* Collections */
.sp-collections .guide_list_container {
    margin-bottom: 12px;
}

/* Pluslet */
.pluslet,
.pluslet_simple,
.no_overflow {
    border-radius: 6px;
    border: 1px solid #dde1e6;
    background: #fff;
    box-shadow: none;
    margin-bottom: 18px;
}

.titlebar {
    padding: 10px 14px;
    border-bottom: 1px solid #e0e4e8;
    background: #f5f7fa;
    border-radius: 6px 6px 0 0;
}

.titlebar_text {
    font-size: 15px;
    font-weight: 700;
    color: #1b2a4a;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.pluslet_body {
    padding: 12px 14px;
    background: #fff;
    overflow-x: auto;
    max-width: 100%;
}

/* ===== Protect user's custom inline-styled HTML content ===== */
/* The global reset (* { margin:0; padding:0 }) and our theme heading/link
   color rules strip browser defaults from user-authored HTML.  The rules
   below restore browser-like spacing AND let colors inherit from whatever
   the user set on a parent via inline style.  Inline styles on the
   elements themselves always win (specificity 1-0-0-0). */

/* --- Headings: restore default sizes, weights, spacing, inherit color --- */
.pluslet_body > [style] h1 { display: block; font-size: 2em;    font-weight: bold; margin: 0.67em 0; color: inherit; text-shadow: none; }
.pluslet_body > [style] h2 { display: block; font-size: 1.5em;  font-weight: bold; margin: 0.83em 0; color: inherit; text-shadow: none; }
.pluslet_body > [style] h3 { display: block; font-size: 1.17em; font-weight: bold; margin: 1em 0;    color: inherit; text-shadow: none; }
.pluslet_body > [style] h4 { display: block; font-size: 1em;    font-weight: bold; margin: 1.33em 0; color: inherit; }
.pluslet_body > [style] h5 { display: block; font-size: 0.83em; font-weight: bold; margin: 1.67em 0; color: inherit; }
.pluslet_body > [style] h6 { display: block; font-size: 0.67em; font-weight: bold; margin: 2.33em 0; color: inherit; }

/* --- Block elements: restore spacing, inherit color/font --- */
.pluslet_body > [style] p  { display: block; margin: 1em 0; color: inherit; font-family: inherit; line-height: inherit; }
.pluslet_body > [style] div { color: inherit; font-family: inherit; line-height: inherit; }
.pluslet_body > [style] span { color: inherit; font-family: inherit; }

/* --- Lists: restore indentation and bullets/numbers --- */
.pluslet_body > [style] ul { display: block; margin: 1em 0; padding-left: 40px; list-style-type: disc; color: inherit; }
.pluslet_body > [style] ol { display: block; margin: 1em 0; padding-left: 40px; list-style-type: decimal; color: inherit; }
.pluslet_body > [style] li { display: list-item; margin: 0.25em 0; color: inherit; }

/* --- Tables: restore borders and spacing --- */
.pluslet_body > [style] table { border-collapse: collapse; color: inherit; font-family: inherit; }
.pluslet_body > [style] td,
.pluslet_body > [style] th { padding: 8px; color: inherit; vertical-align: top; }

/* --- Inline text --- */
.pluslet_body > [style] b,
.pluslet_body > [style] strong { font-weight: bold; }
.pluslet_body > [style] i,
.pluslet_body > [style] em { font-style: italic; }

/* --- Links: inherit wrapper color but keep underline on hover --- */
.pluslet_body > [style] a,
.pluslet_body > [style] a:link,
.pluslet_body > [style] a:visited { color: inherit; }
.pluslet_body > [style] a:hover { opacity: 0.8; }

/* --- Images: prevent overflow --- */
.pluslet_body > [style] img { max-width: 100%; height: auto; }

/* Expert area */
.find-expert-area-circ {
    border-radius: 6px;
    border: 1px solid #dde1e6;
    background: #fff;
    box-shadow: none;
    padding: 14px;
    margin-bottom: 18px;
}

.expert-list-circ {
    display: block;
    margin: 8px 0 !important;
}

.expert-list-circ li {
    padding: 8px 0;
    border-radius: 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid #eee;
}

.expert-button {
    display: inline-block;
    padding: 6px 16px;
    background: #1b2a4a;
    border: none;
    border-radius: 4px !important;
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.expert-button:hover {
    background: #253d5e;
}

/* Footer */
#footer {
    height: auto;
    margin: 0;
    padding: 0;
    background: #1b2a4a;
    border-top: 3px solid #c0932e;
    color: rgba(255,255,255,0.7);
    font-size: 13px;
}

#footer p { margin: 0; }

.footer-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.footer-left strong {
    color: #fff;
    font-size: 14px;
}

.footer-left span {
    font-size: 12px;
}

.footer-right {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 12px;
}

#footer a,
#footer a:link,
#footer a:visited {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
}

#footer a:hover {
    color: #c0932e;
    text-decoration: underline;
}

/* Tabs */
#tabs {
    margin-top: 5px;
}

#tabs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border-bottom: 2px solid #1b2a4a;
}

#tabs .ui-tabs-nav li {
    float: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#tabs .ui-tabs-nav li a {
    display: inline-block;
    padding: 9px 16px;
    background: #e8ecf1;
    border: 1px solid #d0d5dc;
    border-bottom: none;
    color: #1b2a4a;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px 4px 0 0;
    margin-bottom: -2px;
    margin-right: 2px;
    box-shadow: none;
}

#tabs .ui-tabs-nav li.ui-tabs-active a,
#tabs .ui-tabs-nav li.ui-tabs-selected a {
    background: #fff;
    border-bottom: 2px solid #fff;
    color: #1b2a4a;
    font-weight: 700;
    box-shadow: none;
}

#tabs .ui-tabs-nav li a:hover {
    background: #1b2a4a;
    color: #fff;
    box-shadow: none;
    text-decoration: none;
}

#tab-container {
    margin: 0;
    padding: 0;
}

/* Buttons */
.pure-button-topsearch {
    background: #1b2a4a;
    border: none;
    border-radius: 4px;
    color: #fff;
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
}

.pure-button-topsearch:hover {
    background: #253d5e;
}

/* Staff */
.staffer {
    border-radius: 6px;
    border: 1px solid #dde1e6;
    background: #fff;
    box-shadow: none;
}

.staff-photo,
.staff_photo,
.staff_photo2 {
    border: 1px solid #dde1e6;
    background: #f5f7fa;
    border-radius: 6px;
}

/* Tables */
table.item_listing th {
    padding: 8px 12px;
    color: #1b2a4a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 2px solid #c0932e;
    background: #f5f7fa;
}

table.item_listing td {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.evenrow td,
table.item_listing tr:nth-child(even) td {
    background: #f9fafb;
}

.dbresults,
.dbresults-inset {
    border-radius: 6px;
    border: 1px solid #dde1e6;
    background: #fff;
    box-shadow: none;
}

/* Responsive */
@media screen and (max-width: 48em) {
    #header_inner_wrap {
        flex-wrap: wrap;
        align-items: center;
        gap: 0;
    }

    .header-right {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    #header-nav {
        flex-wrap: wrap;
    }

    #header .ui-autocomplete-input {
        width: 140px;
    }

    #sp-sidebar {
        padding-left: 0;
        margin-top: 20px;
    }

    .sp-search-bar .ui-autocomplete-input {
        width: 100%;
    }

    .sp-page-title {
        margin: 0;
        padding: 15px 0 12px;
    }

    .footer-inner {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .footer-right {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* Utility */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.uml-quick-links {
    display: none !important;
}

.fa, .fas {
    font-size: 14px;
}

.db_icons i {
    padding-right: 0.25rem;
    vertical-align: top;
    padding-left: 0.25rem;
}

#listguides table td div > div {
    display: block;
}

div.printer_tabs {
    top: -50px !important;
}

/* ======================== */
/* Responsive header menu   */
/* ======================== */

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    flex-direction: column;
    gap: 5px;
    z-index: 1001;
    flex-shrink: 0;
}
.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
}
.mobile-menu-toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.mobile-menu-toggle.open span:nth-child(2) {
    opacity: 0;
}
.mobile-menu-toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

@media screen and (max-width: 768px) {
    .mobile-menu-toggle {
        display: flex;
        margin-left: auto;
    }

    #header {
        height: auto !important;
        padding: 0 !important;
        overflow: visible;
    }

    #header_inner_wrap {
        flex-wrap: wrap;
        position: relative;
        height: auto !important;
        padding: 12px 16px;
    }

    .header-right {
        display: none;
        flex-direction: column;
        width: 100%;
        gap: 0;
        background: #1b2a4a;
        padding: 10px 0;
        order: 3;
    }

    .header-right.menu-open {
        display: flex;
    }

    #header-nav {
        flex-direction: column;
        gap: 0;
        width: 100%;
    }

    #header-nav a {
        padding: 12px 20px;
        border-radius: 0;
        font-size: 14px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    #header-nav a:hover {
        background: rgba(255,255,255,0.1);
    }

    #header .pure-form,
    .header-right #autoC {
        padding: 10px 20px;
        width: 100%;
        box-sizing: border-box;
    }

    #header .ui-autocomplete-input {
        width: 100%;
        border-radius: 4px 0 0 4px;
    }
}

/* ======================== */
/* UX IMPROVEMENTS          */
/* ======================== */

/* 1. Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Subtle hover transitions on all links and buttons */
a {
    transition: color 0.2s ease, background-color 0.2s ease;
}

.pure-button,
button {
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}

.pure-button:active,
button:active {
    transform: scale(0.98);
}

/* 2. Breadcrumb navigation */
.sp-breadcrumb {
    padding: 10px 0;
    font-size: 13px;
    color: #888;
}

.sp-breadcrumb a {
    color: #1a5276;
    text-decoration: none;
}

.sp-breadcrumb a:hover {
    color: #c0932e;
    text-decoration: underline;
}

.sp-breadcrumb .sep {
    margin: 0 6px;
    color: #bbb;
}

/* 3. Better guide cards */
ul.guide-listing li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #eef0f3;
    transition: background-color 0.15s ease, border-left-color 0.15s ease;
    border-left: 3px solid transparent;
}

ul.guide-listing li:hover {
    background: #f0f5fb;
    border-left-color: #c0932e;
}

ul.guide-listing li .fa {
    flex-shrink: 0;
    margin-top: 2px;
    transition: transform 0.2s ease;
}

ul.guide-listing li:hover .fa {
    transform: scale(1.2);
}

/* 4. Back-to-top button */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: #1b2a4a;
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.2s ease;
    z-index: 9999;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background: #c0932e;
}

/* 5. Active nav link */
#header-nav a.nav-active {
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-weight: 600;
}

/* 6. Fade-in on page load */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#body_inner_wrap,
#guidecontent {
    animation: fadeInUp 0.35s ease-out;
}

/* Tab content transition */
.guide_list_container {
    animation: fadeInUp 0.25s ease-out;
}

/* 7. Better mobile spacing & typography */
@media screen and (max-width: 768px) {
    body {
        font-size: 15px;
        line-height: 1.6;
    }

    .wrapper-full {
        padding: 0 14px 24px;
    }

    .sp-page-title {
        margin: 0 -14px;
        padding: 16px 14px 14px;
    }

    .sp-page-title h1 {
        font-size: 1.4em;
    }

    .sp-search-bar {
        padding: 10px 12px;
    }

    .sp-search-bar .ui-autocomplete-input {
        width: 100% !important;
        font-size: 16px;
        padding: 10px 12px;
    }

    .sp-guide-tabs ul {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
    }

    .sp-guide-tabs ul li a {
        white-space: nowrap;
        padding: 10px 14px;
        font-size: 13px;
    }

    ul.guide-listing li {
        padding: 12px 10px;
    }

    ul.guide-listing li a {
        font-size: 15px;
        line-height: 1.4;
    }

    #sp-sidebar {
        padding-left: 0;
        margin-top: 20px;
    }

    .sp-sidebar-box ul li {
        padding: 10px 14px;
    }

    .pluslet_body {
        padding: 12px;
    }

    .titlebar {
        padding: 10px 12px;
    }

    .footer-inner {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .footer-right {
        flex-wrap: wrap;
        justify-content: center;
    }

    .back-to-top {
        bottom: 20px;
        right: 16px;
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    /* Better touch targets on mobile */
    #header-nav a {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .sp-breadcrumb {
        font-size: 12px;
    }

    #tabs .ui-tabs-nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
    }

    #tabs .ui-tabs-nav li a {
        white-space: nowrap;
        font-size: 12px;
        padding: 8px 12px;
    }

    /* Database A-Z letters better spacing */
    #letterhead a,
    #letterhead span {
        display: inline-block;
        min-width: 32px;
        min-height: 32px;
        line-height: 32px;
        text-align: center;
    }
}

/* 8. Improved database A-Z page */
#letterhead {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px;
    padding: 12px 0;
    margin-bottom: 10px;
    border-bottom: 2px solid #e0e4e8;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 100;
}

#letterhead a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    border-radius: 4px;
    color: #1a5276;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: background 0.15s, color 0.15s;
}

#letterhead a:hover {
    background: #1b2a4a;
    color: #fff;
}

#letterhead #selected_letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    background: #1b2a4a;
    color: #fff;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
}

#letterhead .inactive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    color: #ccc;
    font-size: 13px;
}

/* DB table rows better hover */
table.item_listing .zebra {
    transition: background-color 0.15s ease;
}

table.item_listing .zebra:hover td {
    background: #f0f5fb;
}

/* Description toggle in DB list */
.list_bonus {
    margin-top: 6px;
    padding: 8px 12px;
    background: #f8f9fb;
    border-left: 3px solid #c0932e;
    border-radius: 0 4px 4px 0;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

span[id*=bib-] {
    cursor: pointer;
    color: #1a5276;
    font-size: 12px;
    transition: color 0.15s;
}

span[id*=bib-]:hover {
    color: #c0932e;
}

/* 9. Search placeholder animation */
@keyframes placeholderFade {
    0%, 20% { opacity: 1; }
    25%, 100% { opacity: 0; }
}

.search-animated-placeholder {
    position: relative;
}

.search-animated-placeholder input {
    position: relative;
    z-index: 1;
    background: transparent !important;
}

.search-animated-placeholder .placeholder-cycle {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    padding-left: 13px;
    pointer-events: none;
    z-index: 0;
    color: #999;
    font-size: 14px;
}

/* Pluslet body links */
.pluslet_body a {
    color: #1a5276;
    transition: color 0.15s;
}

.pluslet_body a:hover {
    color: #c0932e;
}

/* Titlebar hover */
.titlebar {
    transition: background-color 0.15s ease;
    cursor: default;
}

.titlebar:hover {
    background: #eef1f5;
}

/* Sidebar box hover */
.sp-sidebar-box {
    transition: box-shadow 0.2s ease;
}

.sp-sidebar-box:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

/* ======================== */
/* ADVANCED UX FEATURES     */
/* ======================== */

/* Hero Banner */
.sp-hero {
    background: linear-gradient(135deg, #1b2a4a 0%, #2c4a7c 60%, #1a5276 100%);
    padding: 40px 20px 36px;
    text-align: center;
    margin: 0 0 20px;
    position: relative;
    overflow: hidden;
}

.sp-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(192,147,46,0.15) 0%, transparent 70%);
    border-radius: 50%;
}

.sp-hero-inner {
    max-width: 700px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.sp-hero h1 {
    color: #fff;
    font-size: 2em;
    font-weight: 700;
    margin: 0 0 8px;
    text-shadow: none;
}

.sp-hero-subtitle {
    color: rgba(255,255,255,0.8);
    font-size: 15px;
    margin: 0 0 20px;
    line-height: 1.5;
}

.sp-hero-search {
    max-width: 480px;
    margin: 0 auto 18px;
    background: rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 10px 14px;
    backdrop-filter: blur(4px);
}

.sp-hero-search .autoC {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sp-hero-stats {
    display: flex;
    justify-content: center;
    gap: 24px;
    color: rgba(255,255,255,0.7);
    font-size: 13px;
}

.sp-hero-stats span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sp-hero-stats i {
    color: #c0932e;
}

@media screen and (max-width: 768px) {
    .sp-hero { padding: 28px 16px 24px; }
    .sp-hero h1 { font-size: 1.5em; }
    .sp-hero-stats { gap: 14px; font-size: 12px; flex-wrap: wrap; justify-content: center; }
}

/* Guide Hero Card */
.sp-guide-hero {
    background: linear-gradient(135deg, #1b2a4a 0%, #2c4a7c 100%);
    border-radius: 10px;
    padding: 28px;
    margin: 12px 0 16px;
    display: flex;
    align-items: center;
    gap: 24px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.sp-guide-hero::before {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(192,147,46,0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.sp-guide-hero-content { flex: 1; position: relative; z-index: 1; }
.sp-guide-hero-title { font-size: 1.6em; font-weight: 700; color: #fff; margin: 0 0 8px; }
.sp-guide-hero-desc { color: rgba(255,255,255,0.8); font-size: 14px; margin: 0 0 12px; line-height: 1.5; }
.sp-guide-hero-meta { display: flex; gap: 18px; font-size: 13px; color: rgba(255,255,255,0.7); }
.sp-guide-hero-meta span { display: flex; align-items: center; gap: 5px; }
.sp-guide-hero-meta i { color: #c0932e; }

.sp-guide-hero-photo {
    width: 80px; height: 80px; border-radius: 50%; overflow: hidden;
    border: 3px solid rgba(255,255,255,0.3); flex-shrink: 0; position: relative; z-index: 1;
}
.sp-guide-hero-photo img { width: 100%; height: 100%; object-fit: cover; }

.sp-guide-search-row { margin: 0 0 12px; }

/* Guide page inline search */
.guide-inline-search {
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 400px;
}
.guide-inline-search .find-guide-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
    background: #f9fafb;
    outline: none;
    color: #333;
}
.guide-inline-search .find-guide-input:focus {
    border-color: #1a5276;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(26,82,118,0.15);
}
.guide-inline-search .guide-inline-search-button {
    padding: 8px 14px;
    background: #1b2a4a;
    border: 1px solid #1b2a4a;
    border-radius: 0 4px 4px 0;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
}
.guide-inline-search .guide-inline-search-button:hover {
    background: #253d5e;
}

/* Hero search box fix */
.sp-hero-search #autoC {
    display: flex;
    align-items: center;
    justify-content: center;
}
.sp-hero-search .pure-form {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sp-hero-search .pure-form input[type="text"] {
    flex: 1;
    padding: 10px 14px;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    background: #fff;
    color: #333;
    outline: none;
    min-width: 220px;
}
.sp-hero-search .pure-form input[type="submit"],
.sp-hero-search .pure-form .pure-button-topsearch {
    padding: 10px 20px;
    background: #c0932e;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}
.sp-hero-search .pure-form input[type="submit"]:hover,
.sp-hero-search .pure-form .pure-button-topsearch:hover {
    background: #a67c28;
}

.sp-guide-keywords { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.sp-keyword-tag {
    display: inline-block; padding: 3px 10px; background: #eef3f8; color: #1b2a4a;
    font-size: 12px; border-radius: 12px; border: 1px solid #d0d8e4; transition: background 0.15s, color 0.15s;
}
.sp-keyword-tag:hover { background: #1b2a4a; color: #fff; border-color: #1b2a4a; }

@media screen and (max-width: 768px) {
    .sp-guide-hero { flex-direction: column; text-align: center; padding: 18px 14px; }
    .sp-guide-hero-meta { justify-content: center; flex-wrap: wrap; }
    .sp-guide-hero-photo { order: -1; }
    #guidecontent { overflow-x: hidden; max-width: 100%; }
    .pluslet_body > [style] { max-width: 100%; overflow-x: auto; box-sizing: border-box; }
}

/* Scroll Progress Indicator */
.sp-scroll-progress {
    position: fixed; top: 0; left: 0; height: 3px; width: 0%;
    background: linear-gradient(90deg, #c0932e, #e8b84b); z-index: 10000; transition: width 0.1s linear;
}

/* Dark Mode Toggle */
.dark-mode-toggle {
    background: none; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.8);
    cursor: pointer; padding: 6px 10px; border-radius: 6px; font-size: 14px;
    transition: background 0.2s, color 0.2s; flex-shrink: 0;
}
.dark-mode-toggle:hover { background: rgba(255,255,255,0.1); color: #c0932e; }

/* Dark Mode Theme */
body.dark-mode { background: #141b2d; color: #d1d5db; }
body.dark-mode #wrap { background: #141b2d; }
body.dark-mode #header { background: #0f1626; border-bottom-color: #c0932e; }
body.dark-mode .sp-hero { background: linear-gradient(135deg, #0f1626 0%, #1b2a4a 100%); }
body.dark-mode .sp-guide-hero { background: linear-gradient(135deg, #0f1626 0%, #1b2a4a 100%); }
body.dark-mode .wrapper-full, body.dark-mode #body_inner_wrap { background: transparent; }

/* Dark mode: page title */
body.dark-mode .sp-page-title { background: #1a2235; border-bottom-color: #2a3650; }
body.dark-mode .sp-page-title h1 { color: #e8ecf1; }
body.dark-mode .sp-page-title p { color: #8891a0; }

/* Dark mode: pluslets / guide content */
body.dark-mode .pluslet,
body.dark-mode .pluslet_simple,
body.dark-mode .no_overflow { background: #1a2235; border-color: #2a3650; }
body.dark-mode .titlebar { background: #1e2940; border-bottom-color: #2a3650; }
body.dark-mode .titlebar_text { color: #e8ecf1; }
body.dark-mode .pluslet_body { background: #1a2235; color: #d1d5db; }
body.dark-mode .pluslet_body a { color: #6bafe0; }
body.dark-mode .pluslet_body a:hover { color: #c0932e; }
body.dark-mode .pluslet_body h1,
body.dark-mode .pluslet_body h2,
body.dark-mode .pluslet_body h3,
body.dark-mode .pluslet_body h4 { color: #e8ecf1; }
body.dark-mode .pluslet_body ul,
body.dark-mode .pluslet_body ol { color: #d1d5db; }
body.dark-mode .pluslet_body table { border-color: #2a3650; }
body.dark-mode .pluslet_body table th { background: #1e2940; color: #e8ecf1; }
body.dark-mode .pluslet_body table td { background: #1a2235; color: #d1d5db; border-color: #2a3650; }
body.dark-mode .pluslet_body hr { border-color: #2a3650; }

/* Dark mode: sidebar */
body.dark-mode .sp-sidebar-box { background: #1a2235; border-color: #2a3650; }
body.dark-mode .sp-sidebar-box h3 { background: #0f1626; }
body.dark-mode .sp-sidebar-box ul li { border-bottom-color: #2a3650; color: #d1d5db; }
body.dark-mode .sp-sidebar-box ul li a { color: #6bafe0; }

/* Dark mode: links and headings */
body.dark-mode a, body.dark-mode a:link { color: #6bafe0; }
body.dark-mode a:visited { color: #9b8ec8; }
body.dark-mode a:hover { color: #c0932e; }
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4 { color: #e8ecf1; }
body.dark-mode p { color: #d1d5db; }

/* Dark mode: search boxes */
body.dark-mode .sp-search-bar { background: #1a2235; border-color: #2a3650; }
body.dark-mode .sp-search-bar .ui-autocomplete-input { background: #141b2d; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .guide-inline-search .find-guide-input { background: #1a2235; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .guide-inline-search .find-guide-input::placeholder { color: #6b7280; }
body.dark-mode .guide-inline-search .guide-inline-search-button { background: #c0932e; border-color: #c0932e; }
body.dark-mode #header .ui-autocomplete-input { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.15); color: #d1d5db; }
body.dark-mode .sp-hero-search .pure-form input[type="text"] { background: #1a2235; color: #d1d5db; border: 1px solid #2a3650; }
body.dark-mode .sp-hero-search .pure-form input[type="text"]::placeholder { color: #6b7280; }

/* Dark mode: index tabs */
body.dark-mode .sp-guide-tabs ul { border-bottom-color: #2a3650; }
body.dark-mode .sp-guide-tabs ul li a { background: #1e2940; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .sp-guide-tabs ul li a:hover,
body.dark-mode .sp-guide-tabs ul li.active a { background: #c0932e; color: #fff; border-color: #c0932e; }

/* Dark mode: guide listings */
body.dark-mode .guide_list_container { background: #1a2235; border-color: #2a3650; }
body.dark-mode .guide_list_header { border-bottom-color: #c0932e; }
body.dark-mode .guide_list_header h3 { color: #8891a0; }
body.dark-mode ul.guide-listing li { border-bottom-color: #2a3650; }
body.dark-mode ul.guide-listing li:hover { background: #1e2940; }
body.dark-mode ul.guide-listing li a { color: #6bafe0; }
body.dark-mode ul.guide-listing li .fa { color: #c0932e; }

/* Dark mode: jQuery UI tabs on guide pages */
body.dark-mode #tabs { background: transparent; }
body.dark-mode #tabs .ui-tabs-nav { background: transparent; border-color: #2a3650; }
body.dark-mode #tabs .ui-tabs-nav li a,
body.dark-mode .ui-tabs .ui-tabs-nav li a { background: #1e2940; border-color: #2a3650; color: #d1d5db; }
body.dark-mode #tabs .ui-tabs-nav li.ui-tabs-active a,
body.dark-mode #tabs .ui-tabs-nav li.ui-tabs-selected a,
body.dark-mode #tabs .ui-tabs-nav li.ui-state-active a,
body.dark-mode .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
body.dark-mode .ui-tabs .ui-tabs-nav li.ui-state-active a { background: #c0932e !important; border-bottom-color: #c0932e; color: #fff !important; }
body.dark-mode .ui-widget-content { background: #1a2235; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .ui-state-default,
body.dark-mode .ui-widget-content .ui-state-default { background: #1e2940; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .ui-state-active,
body.dark-mode .ui-widget-content .ui-state-active { background: #c0932e !important; border-color: #c0932e; color: #fff !important; }
body.dark-mode .ui-state-hover,
body.dark-mode .ui-widget-content .ui-state-hover { background: #253d5e; color: #e8ecf1; }
body.dark-mode .sptab { background: transparent; }
body.dark-mode .sp_section { background: transparent; }

/* Dark mode: tables */
body.dark-mode table.item_listing th { background: #1e2940; color: #e8ecf1; border-bottom-color: #c0932e; }
body.dark-mode table.item_listing td { background: #1a2235; border-bottom-color: #2a3650; color: #d1d5db; }
body.dark-mode .evenrow td,
body.dark-mode table.item_listing tr:nth-child(even) td { background: #141b2d; }
body.dark-mode table { border-color: #2a3650; }
body.dark-mode table th { background: #1e2940; color: #e8ecf1; }
body.dark-mode table td { border-color: #2a3650; color: #d1d5db; }

/* Dark mode: footer */
body.dark-mode #footer { background: #0f1626; border-top-color: #c0932e; color: #8891a0; }
body.dark-mode #footer a { color: #6bafe0; }
body.dark-mode .footer-inner { color: #8891a0; }

/* Dark mode: breadcrumb, keywords, misc */
body.dark-mode .sp-breadcrumb { color: #6b7280; }
body.dark-mode .sp-breadcrumb a { color: #6bafe0; }
body.dark-mode .sp-keyword-tag { background: #1e2940; color: #d1d5db; border-color: #2a3650; }
body.dark-mode .sp-keyword-tag:hover { background: #c0932e; color: #fff; }
body.dark-mode .back-to-top { background: #1e2940; border: 1px solid #2a3650; }
body.dark-mode .back-to-top:hover { background: #c0932e; }

/* Dark mode: database pages */
body.dark-mode #letterhead { background: #1a2235; }
body.dark-mode #letterhead a { color: #6bafe0; }
body.dark-mode #letterhead a:hover { background: #c0932e; color: #fff; }
body.dark-mode #letterhead #selected_letter { background: #c0932e; }
body.dark-mode .dbresults,
body.dark-mode .dbresults-inset { background: #1a2235; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .list_bonus { background: #1e2940; border-left-color: #c0932e; color: #d1d5db; }

/* Dark mode: staff/experts */
body.dark-mode .find-expert-area-circ { background: #1a2235; border-color: #2a3650; }
body.dark-mode .expert-list-circ li { border-bottom-color: #2a3650; }
body.dark-mode .staffer { background: #1a2235; border-color: #2a3650; }
body.dark-mode .staff-details li { color: #d1d5db; }

/* Dark mode: forms and inputs */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="search"],
body.dark-mode textarea,
body.dark-mode select { background: #1a2235; border-color: #2a3650; color: #d1d5db; }
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder { color: #6b7280; }
body.dark-mode .pure-form input,
body.dark-mode .pure-form select,
body.dark-mode .pure-form textarea { background: #1a2235; border-color: #2a3650; color: #d1d5db; }

/* Dark mode: toggle button itself */
body.dark-mode .dark-mode-toggle { border-color: rgba(255,255,255,0.3); }

/* Dark mode: pure-g grid helpers */
body.dark-mode .pure-g { color: #d1d5db; }

/* Collapsible sidebar */
.sp-sidebar-toggle {
    display: none; background: #1b2a4a; color: #fff; border: none; padding: 8px 14px;
    border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; margin-bottom: 10px; width: 100%; text-align: center;
}
@media screen and (max-width: 768px) {
    .sp-sidebar-toggle { display: block; }
    #sp-sidebar.collapsed { display: none; }
}

/* Toast notifications */
.sp-toast {
    position: fixed; bottom: 80px; right: 20px; background: #1b2a4a; color: #fff;
    padding: 12px 20px; border-radius: 8px; font-size: 13px; z-index: 10001;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2); opacity: 0; transform: translateY(10px);
    transition: opacity 0.3s, transform 0.3s; pointer-events: none; max-width: 320px;
}
.sp-toast.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.sp-toast.toast-success { border-left: 4px solid #27ae60; }
.sp-toast.toast-info { border-left: 4px solid #c0932e; }

/* Quick-jump floating TOC */
.sp-floating-toc {
    position: fixed; right: 20px; top: 50%; transform: translateY(-50%);
    background: #fff; border: 1px solid #dde1e6; border-radius: 8px; padding: 10px 0;
    z-index: 9998; box-shadow: 0 2px 12px rgba(0,0,0,0.1); max-width: 180px; display: none;
}
.sp-floating-toc.visible { display: block; }
.sp-floating-toc a {
    display: block; padding: 6px 14px; color: #1b2a4a; font-size: 12px; text-decoration: none;
    border-left: 3px solid transparent; transition: all 0.15s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sp-floating-toc a:hover, .sp-floating-toc a.active { background: #f0f5fb; border-left-color: #c0932e; color: #1a5276; }
body.dark-mode .sp-floating-toc { background: #1a2235; border-color: #2a3650; }
body.dark-mode .sp-floating-toc a { color: #d1d5db; }
body.dark-mode .sp-floating-toc a:hover, body.dark-mode .sp-floating-toc a.active { background: #1e2940; color: #6bafe0; }
@media screen and (max-width: 1024px) { .sp-floating-toc { display: none !important; } }

/* ============================================================ */
/*  ROUND 3 — UI/UX POLISH  (clean, not complex)               */
/* ============================================================ */

/* 1. Pluslet card polish — subtle shadow + lift on hover */
.pluslet,
.pluslet_simple,
.no_overflow {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.pluslet:hover,
.pluslet_simple:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}
body.dark-mode .pluslet:hover,
body.dark-mode .pluslet_simple:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}

/* 2. Tab transitions — smooth fade when switching guide tabs */
#tab-body .sptab {
    animation: spTabFadeIn 0.3s ease;
}
@keyframes spTabFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 3. Staff cards — cleaner layout */
.staff-listing-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.staffer {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    border-radius: 8px;
    overflow: hidden;
}
.staffer:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
body.dark-mode .staffer:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.staff_photo, .staff_photo2 {
    border-radius: 50%;
    border: 3px solid #e0e4e8;
    transition: border-color 0.2s;
}
.staffer:hover .staff_photo,
.staffer:hover .staff_photo2 {
    border-color: #c0932e;
}
body.dark-mode .staff_photo,
body.dark-mode .staff_photo2 {
    border-color: #2a3650;
}

/* 4. Database card view */
.dbresults,
.dbresults-inset {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.dbresults:hover,
.dbresults-inset:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}
body.dark-mode .dbresults:hover,
body.dark-mode .dbresults-inset:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.db_icons i { color: #c0932e; }
.access-badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    margin-left: 8px;
}
.access-badge.open { background: #e8f5e9; color: #2e7d32; }
.access-badge.restricted { background: #fff3e0; color: #e65100; }
body.dark-mode .access-badge.open { background: #1b3a2a; color: #66bb6a; }
body.dark-mode .access-badge.restricted { background: #3a2a1b; color: #ffb74d; }

/* 5. Search highlight */
.sp-search-highlight {
    background: #fff3cd;
    padding: 1px 3px;
    border-radius: 2px;
    color: #333;
}
body.dark-mode .sp-search-highlight {
    background: #5a4500;
    color: #ffd866;
}

/* 6. Reading time badge */
.sp-reading-time {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    margin-top: 6px;
}
.sp-reading-time i { color: #c0932e; font-size: 12px; }

/* 7. Print styles */
@media print {
    #header, #footer, .mobile-menu-toggle, .back-to-top,
    .sp-scroll-progress, .dark-mode-toggle, .sp-floating-toc,
    .sp-sidebar-toggle, .sp-toast, .sp-hero-search,
    #header-nav, .sp-guide-search-row, .guide-inline-search,
    .sp-hero-stats, .printer_tabs, .printer_no_tabs,
    #sp-sidebar, .sp-feedback-widget { display: none !important; }

    body, .wrapper-full, #body_inner_wrap, .pluslet, .pluslet_simple,
    .pluslet_body, .titlebar { background: #fff !important; color: #000 !important; border: none !important; box-shadow: none !important; }

    .titlebar_text { color: #000 !important; font-size: 14pt !important; }
    .pluslet_body { font-size: 11pt !important; }
    a { color: #000 !important; text-decoration: underline !important; }
    .sp-guide-hero { background: #eee !important; color: #000 !important; -webkit-print-color-adjust: exact; }
    .sp-guide-hero-title { color: #000 !important; }
    .sp-guide-hero-desc { color: #333 !important; }
    .sp-breadcrumb { color: #666 !important; }

    .wrapper-full { max-width: 100% !important; padding: 0 !important; }
    .pure-u-md-1-2, .pure-u-md-1-3, .pure-u-md-1-4,
    .pure-u-md-2-3, .pure-u-md-3-4 { width: 100% !important; }
}

/* 8. Accessibility — skip link + focus rings */
.sp-skip-link {
    position: absolute;
    top: -100px;
    left: 10px;
    z-index: 100000;
    padding: 10px 18px;
    background: #1b2a4a;
    color: #fff;
    font-weight: 700;
    border-radius: 0 0 6px 6px;
    text-decoration: none;
    transition: top 0.2s;
}
.sp-skip-link:focus {
    top: 0;
}

/* Keyboard focus rings */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid #c0932e;
    outline-offset: 2px;
}

#tabs .ui-tabs-nav li a:focus-visible {
    outline: 2px solid #c0932e;
    outline-offset: -2px;
}

/* 9. Guide feedback widget */
.sp-feedback-widget {
    margin: 30px 0 10px;
    padding: 16px 20px;
    border: 1px solid #e0e4e8;
    border-radius: 8px;
    background: #f9fafb;
    text-align: center;
}
.sp-feedback-widget p {
    margin: 0 0 10px;
    font-size: 14px;
    color: #555;
    font-weight: 600;
}
.sp-feedback-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 18px;
    margin: 0 6px;
    background: #fff;
    border: 1px solid #dde1e6;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
    color: #555;
}
.sp-feedback-btn:hover {
    border-color: #c0932e;
    color: #c0932e;
    transform: scale(1.05);
}
.sp-feedback-btn.selected {
    background: #1b2a4a;
    color: #fff;
    border-color: #1b2a4a;
}
.sp-feedback-thanks {
    font-size: 14px;
    color: #27ae60;
    font-weight: 600;
    display: none;
}

body.dark-mode .sp-feedback-widget { background: #1a2235; border-color: #2a3650; }
body.dark-mode .sp-feedback-widget p { color: #d1d5db; }
body.dark-mode .sp-feedback-btn { background: #141b2d; border-color: #2a3650; color: #d1d5db; }
body.dark-mode .sp-feedback-btn:hover { border-color: #c0932e; color: #c0932e; }
body.dark-mode .sp-feedback-btn.selected { background: #c0932e; color: #fff; }

/* 10. Loading skeleton */
.sp-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: spSkeleton 1.5s ease-in-out infinite;
    border-radius: 4px;
    min-height: 18px;
    margin: 8px 0;
}
@keyframes spSkeleton {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
body.dark-mode .sp-skeleton {
    background: linear-gradient(90deg, #1e2940 25%, #2a3650 50%, #1e2940 75%);
    background-size: 200% 100%;
    animation: spSkeleton 1.5s ease-in-out infinite;
}