@charset "UTF-8";

/*

Theme Name: culu
Theme URI: https://library.cornell.edu/
Author: mb863
Author URI: https://library.cornell.edu/
Description: Base theme for Cornell University library units.
Version: 1.9
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: culu
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

culu is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/

>>> TABLE OF CONTENTS:

    # Normalize
    # Typography
    # Elements
    # Forms
    # Navigation
        ## Links
        ## Menus
    # Accessibility
    # Alignments
    # Clearings
    # Widgets
    # Content
        ## Posts and pages
        ## Comments
    # Infinite scroll
    # Media
        ## Captions
        ## Galleries
    # Layout
    # Print

*/
/*

# Normalize

*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*

# Typography

*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #000;
  font-family: "freight-sans-pro", -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-family: "freight-text-pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: bold;
  letter-spacing: 1px;
}

h1.entry-title {
  font-size: 1.7em;
}

h3,
h3 a {
  font-size: 1.25rem !important;
}

p {
  margin-bottom: 1em;
  font-size: 1.1rem;
  color: #000;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*

# Elements

*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #e0e0e0;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
  width: 100%;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li>ul,
li>ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

.featured-image {
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
  font-size: 14px;
}

@media only screen and (min-width: 600px) {
  .featured-image {
    width: 600px;
    font-size: 16px;
  }
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*

# Forms

*/
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
  cursor: pointer;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #0f0f0f;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

fieldset {
  border: 0;
}

/*

# Navigation

*/
/*

    ## Links

*/
a,
button,
.lwn a,
.lwe a,
.lw.lw_event_item a {
  color: #017abc;
  text-decoration: none;
}

a:visited,
button:visited,
.lwn a:visited,
.lwe a:visited,
.lw.lw_event_item a:visited {
  color: #017abc;
}

a:hover,
a:focus,
a:active,
button:hover,
button:focus,
button:active,
.lwn a:hover,
.lwn a:focus,
.lwn a:active,
.lwe a:hover,
.lwe a:focus,
.lwe a:active,
.lw.lw_event_item a:hover,
.lw.lw_event_item a:focus,
.lw.lw_event_item a:active {
  color: #000;
  text-decoration: none;
}

a:focus,
button:focus,
.lwn a:focus,
.lwe a:focus,
.lw.lw_event_item a:focus {
  outline: 1px dashed black;
}

a:hover,
a:active,
button:hover,
button:active,
.lwn a:hover,
.lwn a:active,
.lwe a:hover,
.lwe a:active,
.lw.lw_event_item a:hover,
.lw.lw_event_item a:active {
  outline: 0;
}

a:hover,
button:hover,
.lwn a:hover,
.lwe a:hover,
.lw.lw_event_item a:hover {
  text-decoration: underline !important;
}

button:hover {
  text-decoration: none !important;
}

li.current-menu-item a {
  color: #000 !important;
}

.skip-link.screen-reader-text {
  color: #005c8a !important;
}

.skip-link.screen-reader-text:visited {
  color: #005c8a !important;
}

footer.entry-footer {
  border-top: none;
  display: grid;
  margin: 0;
  width: 100%;
  grid-template-columns: 100%;
  margin-bottom: 20px;
}

footer.entry-footer .cat-links,
footer.entry-footer .tags-links,
footer.entry-footer .edit-link {
  font-size: 12px;
  border-top: none;
  width: 100%;
  display: inline-block;
  padding-top: 20px;
}

footer.entry-footer .cat-links a,
footer.entry-footer .tags-links a,
footer.entry-footer .edit-link a {
  padding: 10px;
  padding-left: 0;
}

footer.entry-footer .cat-links a {
  padding: 7px;
  border-radius: 3px;
  background-color: #015c84;
  font-size: 12px;
  color: #fff;
}

footer.entry-footer .tags-links a {
  padding: 5px;
  border-radius: 3px;
  background-color: #232b2b;
  font-size: 12px;
  color: #fff;
}

footer.entry-footer .edit-link a {
  padding: 10px;
  border-radius: 3px;
  background-color: #800080;
  font-size: 14px;
  color: #fff;
}

.btn-graphic,
.mailgun-list-submit-button {
  background: #017abc;
  border-radius: 1.5px;
  font-size: 13px;
  color: #fff;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  padding: 11px 56px;
  font-weight: 300;
  display: inline-block;
}

.btn-graphic:visited,
.btn-graphic:focus,
.mailgun-list-submit-button:visited,
.mailgun-list-submit-button:focus {
  color: #fff;
}

.btn-graphic:hover,
.mailgun-list-submit-button:hover {
  background-color: #000;
  color: #fff;
  text-decoration: none !important;
}

/*

    ## Menus

*/
.main-navigation {
  z-index: 99999;
  margin: 0 auto;
  width: 100%;
  position: absolute;
  top: 100px;
  left: 0;
  padding-top: 0;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
  background-color: #fff;
}

.main-navigation ul li {
  padding: 7px 10px;
  border-bottom: 1px solid #d8d8d8;
}

.main-navigation ul a {
  display: block;
  text-decoration: none;
}

.main-navigation ul ul {
  position: relative;
  z-index: 99999;
  padding-left: 10px;
}

.main-navigation ul ul ul {
  left: 0;
  top: 0;
}

.main-navigation ul ul li {
  border-top: none;
  border-bottom: none;
  padding: 0 !important;
  margin: 0 !important;
}

.main-navigation ul ul li ul {
  position: relative;
  left: 0;
  box-shadow: none !important;
  border: none;
}

.main-navigation ul ul li ul li {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  padding-left: 0 !important;
}

.main-navigation ul ul li ul li a:before {
  content: "- ";
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
  left: auto;
}

.main-navigation ul ul a {
  width: 100%;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
  left: auto;
}

/* Small menu. */
.menu-toggle {
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin-top: 20px;
  position: absolute;
  top: -90px;
  left: calc(100vw - 100px);
  font-size: 18px;
  padding: 0;
}

.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 640px) {
  .menu-toggle {
    display: none;
  }

  #site-navigation {
    z-index: 999;
  }

  .main-navigation {
    margin: 10px auto;
    width: 90%;
    display: block;
    margin-bottom: 5px;
    padding: 0;
    position: relative !important;
    top: auto;
  }

  .main-navigation ul {
    display: block;
    list-style: none;
    margin: 0;
    padding-left: 0;
    height: 60px;
  }

  .main-navigation ul li {
    border-bottom: none;
    border-right: 1px solid #c1bebe;
    font-size: 18px;
    padding: 0 20px;
    margin-top: 20px;
    margin-bottom: 0;
  }

  .main-navigation ul li:first-child {
    padding-left: 10px;
  }

  .main-navigation ul li:last-child {
    border-right: none;
  }

  .main-navigation ul li.menu-item-has-children a:after {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f078";
    padding-right: 10px;
    margin-left: 5px;
    border-right: none;
  }

  .main-navigation ul ul {
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2) !important;
    float: left;
    position: absolute;
    top: 100%;
    height: auto;
    left: -999em;
    z-index: 99999;
    padding-left: 0;
    width: 275px;
  }

  .main-navigation ul ul li {
    padding: 0 !important;
    border: none;
    border-bottom: 1px solid #c1bebe;
    margin: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 18px;
    width: 275px;
  }

  .main-navigation ul ul li:last-child {
    border: none;
  }

  .main-navigation ul ul li ul {
    position: relative;
    left: 0;
    box-shadow: none !important;
    border: none;
  }

  .main-navigation ul ul li ul li {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    padding-left: 20px !important;
  }

  .main-navigation ul ul li ul li a:before {
    content: "- " !important;
  }

  .main-navigation ul ul li:hover>ul,
  .main-navigation ul ul li.focus>ul {
    left: 0;
  }

  .main-navigation ul ul li a:after {
    content: "" !important;
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .main-navigation ul ul a {
    width: 100%;
    border: none;
    padding-left: 20px;
    padding-right: 20px;
  }

  .main-navigation ul li:hover>ul,
  .main-navigation ul li.focus>ul {
    left: auto;
  }

  .main-navigation li {
    float: left;
    position: relative;
    padding-left: 20px;
  }

  .main-navigation a {
    display: block;
    text-decoration: none;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

@media only screen and (min-width: 1200px) {
  .main-navigation {
    width: 90%;
  }
}

@media only screen and (min-width: 1440px) {
  .main-navigation {
    width: 1360px;
  }
}

@media only screen and (min-width: 1600px) {
  .main-navigation {
    width: 1529px;
  }
}

/*

# Accessibility
*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #017abc;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

img.first-icon:before {
  content: attr(alt) "Return to Pantheon's site ";
}

main p a,
main li:not(.elementor-icon-list-item) a {
  font-weight: bold;
  text-decoration: none !important;
}

/*
# Alignments

*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*

# Clearings

*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*

# Widgets

*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
}

/*

# Content

*/
/*

    ## Posts and pages

*/
.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*

    ## Comments

*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*

# Infinite scroll

*/
/* 

    Globally hidden elements when Infinite Scroll is supported and in use. 

*/
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* 

    When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. 

*/
.infinity-end.neverending .site-footer {
  display: block;
}

/*

# Media

*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*

    ## Captions

*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*

    ## Galleries

*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*

# Layout

*/
/*---

  Header section including:
  # Branding
  # User tools: My account and Search

---*/
header.branding {
  display: grid;
  margin: 10px auto;
  width: calc(100vw - 40px);
  grid-template-columns: 67% 33%;
}

@media only screen and (min-width: 640px) {
  header.branding {
    width: 90%;
  }
}

@media only screen and (min-width: 1440px) {
  header.branding {
    width: 1360px;
  }
}

@media only screen and (min-width: 1600px) {
  header.branding {
    width: 1529px;
  }
}

header.branding .logo-cul {
  grid-column: 1/2;
}

header.branding .logo-cul .cornell-logo {
  width: 150px;
  padding-left: 0;
  background: url("images/branding/cornell-reduced-red.svg") no-repeat;
  background-size: 150px 45px;
}

@media only screen and (min-width: 640px) {
  header.branding .logo-cul .cornell-logo {
    width: 100%;
    background: url("images/branding/CULibraryRed.svg") no-repeat;
  }
}

header.branding .logo-cul .insignia {
  display: inline-block;
  margin-right: 0.5em;
  width: 150px;
  height: 45px;
  text-indent: -99999em;
}

@media only screen and (min-width: 640px) {
  header.branding .logo-cul .insignia {
    float: left;
    margin-right: 0.5em;
    width: 100px;
    height: 100px;
    text-indent: -99999em;
  }
}

header.branding .logo-cul .library-brand {
  text-indent: -99999em;
  display: inline-block;
  width: 120px;
  height: 45px;
  background: url("images/branding/CULWordmark.svg") no-repeat;
}

@media only screen and (min-width: 640px) {
  header.branding .logo-cul .library-brand {
    text-indent: -99999em;
    display: block;
    width: 160px;
    height: 100px;
    margin-left: 150px;
    background: none;
  }
}

header.branding nav.user-tools {
  text-align: right;
  margin-top: 0;
  grid-column: 2/3;
  padding-top: 15px;
}

header.branding nav.user-tools ul {
  width: auto;
  margin: 0;
  padding: 0;
  padding-top: 3px;
}

header.branding nav.user-tools li {
  padding-right: 0;
  display: inline-block;
}

@media only screen and (min-width: 768px) {
  header.branding nav.user-tools li:nth-last-child(1) a {
    padding-right: 0;
  }
}

header.branding nav.user-tools li a {
  font-size: 18px;
  padding-right: 7px;
}

/*---

    Hero content section for homepage
    # Nav main library
    # College url
    # Unit library header
    # Time open/close
    # Contact and Google map link
    # Background header

---*/
.hero__content {
  display: grid;
  grid-template-columns: 100%;
  margin: 0 auto;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  /*---

  # Nav main library

  ---*/
  /*---

      # College url

  ---*/
  /*---

      # Unit library header

  ---*/
}

@media only screen and (min-width: 640px) {
  .hero__content {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media only screen and (min-width: 768px) {
  .hero__content {
    grid-template-columns: 80% 20%;
  }
}

@media only screen and (min-width: 1020px) {
  .hero__content {
    grid-template-columns: 65% 35%;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content {
    padding-left: calc((100vw - 1360px) / 2);
    padding-right: calc((100vw - 1360px) / 2);
  }
}

@media only screen and (min-width: 1600px) {
  .hero__content {
    padding-left: calc((100vw - 1529px) / 2);
    padding-right: calc((100vw - 1529px) / 2);
  }
}

.hero__content .all-libraries {
  background-color: #ad1a1a;
  height: 40px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding: 10px 0 0 0;
  color: #fff;
  padding-left: 15px;
}

@media only screen and (min-width: 480px) {
  .hero__content .all-libraries {
    height: 50px;
    padding: 13px 0 0 0;
    padding-left: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .hero__content .all-libraries {
    padding: 16px 0 0 20px;
    height: 62px;
    font-size: 20px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content .all-libraries {
    font-size: 20px;
  }
}

.hero__content .all-libraries span {
  font-size: 14px;
  font-weight: normal;
  padding-left: 0;
  padding-right: 5px;
}

@media only screen and (min-width: 768px) {
  .hero__content .all-libraries span {
    font-size: 18px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content .all-libraries span {
    font-size: 18px;
  }
}

.hero__content .all-libraries span a {
  padding-left: 5px;
}

.hero__content .all-libraries span a:hover {
  text-decoration: underline;
}

.hero__content .all-libraries span a:focus {
  outline: 1px dashed #fff;
}

.hero__content .all-libraries a {
  display: inline-block;
  color: #fff;
  padding-right: 10px;
}

.hero__content .all-libraries a:hover {
  text-decoration: underline;
}

.hero__content .all-libraries a:focus {
  outline: 1px dashed #fff;
}

.hero__content .college {
  display: none;
  text-align: right;
  font-family: "freight-text-pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.hero__content .college a:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 768px) {
  .hero__content .college {
    display: block;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content .college {
    font-size: 20px;
  }
}

.hero__content .home-header {
  height: auto;
  padding-left: 15px;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (min-width: 480px) {
  .hero__content .home-header {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    margin-top: 40px;
    height: auto;
  }
}

@media only screen and (min-width: 768px) {
  .hero__content .home-header {
    margin-top: 40px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content .home-header {
    margin-top: 80px;
  }
}

.hero__content .home-header h1 {
  font-size: 24px;
  margin: 0;
  padding-bottom: 8px;
}

@media only screen and (min-width: 480px) {
  .hero__content .home-header h1 {
    font-size: 38px;
  }
}

@media only screen and (min-width: 1200px) {
  .hero__content .home-header h1 {
    font-size: 45px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content .home-header h1 {
    font-size: 52px;
  }
}

.hero__content .home-header h1 a {
  color: #fff;
}

.hero__content .home-header h1 a:hover {
  text-decoration: underline;
}

.hero__content .home-header h1 a:focus {
  outline: 1px dashed #fff;
}

/*---

    # Background header

---*/
/*
.bg-header {
    position: absolute;
    background-color: #425f72;
    top: 130px; 
    z-index: -9999;
    height: 320px;
    width: 100%;
    margin-top: 0;

    @media only screen and (min-width: 480px) {
        top: 140px;
        height: 350px; 
    }
    @media only screen and (min-width: 640px) {
        height: 370px; 
    }

    @media only screen and (min-width: 768px) {
        top: 150px;
        height: 380px;
    }

    @media only screen and (min-width: 1440px) {
        top: 150px; 
        height: 445px;
    }

    @media only screen and (min-width: 1600px) {
        width: 100%;
    }
}
*/
/*---

  Hero content section for interior pages

---*/
.hero__content.interior-pages .college {
  background-color: #ad1a1a;
  margin-top: 0;
  margin-bottom: 10px;
  padding-right: 20px;
  padding-top: 16px;
  height: 40px;
}

@media only screen and (min-width: 480px) {
  .hero__content.interior-pages .college {
    height: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .hero__content.interior-pages .college {
    height: 62px;
  }
}

.hero__content.interior-pages .college a {
  color: #fff;
}

.hero__content.interior-pages .college a:hover {
  text-decoration: underline;
}

.hero__content.interior-pages .college a:focus {
  outline: 1px dotted #fff;
}

.hero__content.interior-pages .home-header {
  height: auto;
  padding-left: 15px;
  padding-top: 20px;
  padding-bottom: 20px;
  grid-column: 1/3;
}

@media only screen and (min-width: 480px) {
  .hero__content.interior-pages .home-header {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    margin-top: 40px;
    height: auto;
  }
}

@media only screen and (min-width: 768px) {
  .hero__content.interior-pages .home-header {
    margin-top: 40px;
  }
}

@media only screen and (min-width: 1440px) {
  .hero__content.interior-pages .home-header {
    margin-top: 80px;
  }
}

.hero__content.interior-pages .home-search {
  display: none;
}

body:not(.home) {
  /* .bg-header {
      height: 160px;
      width: 100%;

      @media only screen and (min-width: 480px) {
          height: 210px;
      }

      @media only screen and (min-width: 640px) {
          height: 230px;
      }

      @media only screen and (min-width: 768px) {
          height: 250px;
      }

      @media only screen and (min-width: 1200px) {
        height: 270px;
     }

      @media only screen and (min-width: 1440px) {
          height: 345px;
      }
  }*/
}

/*---

  Body section for homepage

---*/
.page-home {
  display: grid;
  margin: 0 auto;
  width: calc(100vw - 40px);
  grid-template-columns: 100%;
  padding: 10px;
  padding-bottom: 0;
}

@media only screen and (min-width: 600px) {
  .page-home {
    width: 90%;
  }
}

@media only screen and (min-width: 1440px) {
  .page-home {
    width: 1360px;
  }
}

@media only screen and (min-width: 1600px) {
  .page-home {
    width: 1529px;
  }
}

.page-home article header {
  display: none;
}

.page-home article .entry-content {
  margin-top: 0;
}

#main-content {
  margin-top: 10px;
  padding-top: 20px;
}

@media only screen and (min-width: 640px) {
  #main-content {
    border-top: 1px solid #e2eaef;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 640px) {
  .home #main-content {
    border-top: 1px solid #e2eaef;
    padding-top: 20px;
  }
}

.page-interior {
  display: grid;
  margin: 0 auto;
  width: calc(100vw - 40px);
  grid-template-columns: 100%;
  padding: 10px;
  padding-top: 30px;
}

@media only screen and (min-width: 600px) {
  .page-interior {
    width: 90% !important;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 1440px) {
  .page-interior {
    width: 1360px !important;
  }
}

@media only screen and (min-width: 1600px) {
  .page-interior {
    width: 1529px !important;
  }
}

.page-interior article header .entry-title {
  margin: 0;
  margin-top: 0;
}

.page-interior header.entry-header h1 {
  margin: 0;
  margin-top: 0;
  margin-bottom: 10px;
}

.page-interior article {
  padding: 0;
  margin: 0;
}

.page-interior article .entry-content {
  margin-top: 0;
}

.page-interior article .entry-content p:first-child {
  margin-top: 0;
}

footer {
  border-top: 1px solid #e0e0e0;
  display: grid;
  margin: 0 auto;
  width: calc(100vw - 40px);
  grid-template-columns: 100%;
}

@media only screen and (min-width: 600px) {
  footer {
    width: 90%;
  }
}

@media only screen and (min-width: 1200px) {
  footer {
    grid-template-columns: 33% 33% 34%;
  }
}

footer .footer__nav {
  padding-top: 30px;
  grid-column: 1;
  padding-left: 0;
}

@media only screen and (min-width: 1200px) {
  footer .footer__nav {
    grid-column: 1/3;
  }
}

footer .footer__nav .all-libraries a {
  font-size: 15px;
  line-height: 14.36px;
  letter-spacing: 0;
  text-decoration: none;
  padding-bottom: 20px;
  display: inline-block;
  color: #017abc;
}

footer .footer__nav .all-libraries a:hover {
  color: #000;
  text-decoration: underline;
}

footer .footer__nav .all-libraries a:focus {
  outline: 1px dashed #000;
}

footer .footer__nav .unit-library {
  display: inline-block;
  float: left;
  font-size: 15px;
}

footer .footer__nav #footer-menu {
  padding-left: 0;
  float: left;
  font-size: 15px;
  margin-left: 0;
  margin-top: 20px;
}

footer .footer__nav li {
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  border-right: 1px solid gray;
}

footer .footer__nav li:first-child {
  padding-left: 0;
}

footer .college {
  grid-column: 1;
  font-size: 12.53px;
  color: #000;
  letter-spacing: 0;
  line-height: 14.36px;
  margin: 0;
}

footer .college img {
  height: 60px;
  width: auto;
}

@media only screen and (min-width: 1200px) {
  footer .college {
    grid-column: 3/4;
    padding-top: 40px;
  }
}

footer address.library {
  grid-column: 1;
  font-size: 14px;
  font-style: normal;
  margin-bottom: 20px;
}

@media only screen and (min-width: 1200px) {
  footer address.library {
    grid-column: 1/3;
  }
}

footer address.library .container {
  display: grid;
  width: 100%;
  grid-template-columns: 100%;
}

@media only screen and (min-width: 600px) {
  footer address.library .container {
    grid-template-columns: 30% 70%;
    width: 100%;
  }
}

footer address.library .container address {
  font-style: normal;
}

footer address.library .container a {
  font-weight: bold;
  color: #017abc;
}

footer address.library .container a:hover {
  color: #000;
}

footer address.library .container .c-1 {
  grid-column: 1/1;
  padding-top: 20px;
}

@media only screen and (min-width: 600px) {
  footer address.library .container .c-1 {
    grid-column: 1/2;
  }
}

footer address.library .container .c-1 p {
  margin: 0;
  padding-top: 10px;
}

footer address.library .container .c-1 .icon-map {
  color: #017abc;
}

footer address.library .container .c-1 .icon-map:hover {
  color: #000;
}

footer address.library .container .c-2 {
  grid-column: 1/1;
}

@media only screen and (min-width: 600px) {
  footer address.library .container .c-2 {
    padding-top: 45px;
    padding-left: 20px;
    grid-column: 2/3;
  }
}

footer address.library .container .c-2 p {
  margin: 0;
}

footer address.library .container .c-2 p:first-child {
  padding-top: 20px;
}

footer address.library .container .c-2 p:first-child a {
  color: #017abc;
}

@media only screen and (min-width: 600px) {
  footer address.library .container .c-2.c2 {
    padding-top: 10px;
  }
}

footer address.cornell {
  grid-column: 1;
  font-size: 12px;
  font-style: normal;
  padding: 0;
  margin: 0;
}

footer address.cornell p {
  padding: 0;
  margin: 0;
  font-size: 15px;
}

footer address.cornell a {
  text-decoration: none;
  color: #017abc;
}

footer address.cornell a:hover {
  text-decoration: underline;
  color: #000;
}

@media only screen and (min-width: 1200px) {
  footer address.cornell {
    grid-column: 1/4;
  }
}

footer .feedback {
  padding-top: 20px;
  font-size: 14px;
}

@media only screen and (min-width: 1200px) {
  footer .feedback {
    grid-column: 1/3;
  }
}

footer .feedback .btn-graphic {
  padding: 11px 16px;
  margin-bottom: 10px;
  font-size: 15px;
}

@media only screen and (min-width: 1440px) {
  footer {
    width: 1380px;
  }
}

@media only screen and (min-width: 1600px) {
  footer {
    width: 1529px;
  }
}

div.widget-social-media .simple-social-icons {
  margin: 0 !important;
}

div.widget-social-media .simple-social-icons ul {
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 20px !important;
}

div.widget-social-media .simple-social-icons ul li a {
  background: #017abc !important;
  padding: 10px;
  color: #ffffff !important;
}

div.widget-social-media .simple-social-icons ul li:first-child {
  margin-left: 0 !important;
}

div.widget-social-media .simple-social-icons ul li a:hover {
  background-color: #000 !important;
}

.four04 {
  display: grid;
  width: 90%;
  grid-template-columns: 100%;
}

.four04 .four04_photo {
  grid-column: 1;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .four04 .four04_photo {
    padding-right: 80px;
  }
}

.four04 .four04_message {
  grid-column: 1;
  width: 100%;
  padding-left: 10px;
}

@media only screen and (min-width: 600px) {
  .four04 .four04_message {
    width: 90%;
  }
}

@media only screen and (min-width: 768px) {
  .four04 .four04_message {
    width: 90%;
    margin-bottom: 50px;
  }
}

.four04 .four04_message h1 {
  font-size: 36px;
  color: #134e94;
  letter-spacing: -0.1px;
  padding-bottom: 10px;
  margin-bottom: 0;
  line-height: 1.2em;
}

@media only screen and (min-width: 600px) {
  .four04 .four04_message h1 {
    font-size: 40px;
    line-height: 34px;
  }
}

@media only screen and (min-width: 768px) {
  .four04 .four04_message h1 {
    font-size: 72px;
    line-height: 74px;
  }
}

.four04 .four04_message p {
  font-size: 22px;
  color: #534d57;
  letter-spacing: 0;
}

.four04 .four04_message ul {
  font-size: 22px;
  color: #534d57;
  letter-spacing: 0;
  margin-left: 40px;
}

/*---

  Homepage search

---*/
.hero__content .home-search {
  display: grid;
  margin: 0 auto;
  width: 96%;
  grid-template-columns: 62% auto;
  padding-left: 0;
  color: #fff;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-left: 0;
}

.hero__content .home-search label[for=search] {
  font-size: 18px;
  padding: 0;
  padding-bottom: 20px;
}

@media only screen and (min-width: 480px) {
  .hero__content .home-search label[for=search] {
    font-size: 20px;
    margin-top: 30px;
    padding-top: 20px;
  }
}

.hero__content .home-search input[type=text] {
  display: block;
  width: 100%;
  height: 30px;
  padding: 20px;
  margin-bottom: 5px;
  margin-top: 3px;
}

.hero__content .home-search button.btn-submit {
  margin-left: 10px;
  width: 100px;
  height: 42px;
  margin-top: 32px;
  font-size: 18px;
  border: none;
  background-color: #fff;
}

@media only screen and (min-width: 480px) {
  .hero__content .home-search button.btn-submit {
    margin-top: 33px;
  }
}

.hero__content .home-search button.btn-submit:hover {
  background-color: #015d84;
  color: #fff;
}

.hero__content .home-search .search-filter {
  margin-left: 0;
  padding-left: 0;
  margin-top: 10px;
}

.hero__content .home-search .search-field label[for=home-search] {
  font-size: 20px;
  font-family: "freight-text-pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.hero__content .home-search .site-search {
  margin-left: 0 !important;
}

@media only screen and (min-width: 500px) {
  .hero__content .home-search .site-search {
    margin-left: 10px !important;
  }
}

.hero__content .home-search .search-library-resources {
  display: block;
}

@media only screen and (min-width: 500px) {
  .hero__content .home-search .search-library-resources {
    display: inline-block;
  }
}

.hero__content .home-search .search-library-unit {
  display: block;
}

@media only screen and (min-width: 500px) {
  .hero__content .home-search .search-library-unit {
    display: inline-block;
  }
}

/*---

  Search interior pages

---*/
button.icon-search {
  background-color: transparent;
  border: none;
  font-size: 20px;
  padding: 0;
}

.user-tool-search {
  position: relative;
  display: none;
  margin: 10px auto;
  width: calc(100vw - 40px);
  grid-template-columns: 62% auto;
  background-color: #222;
  padding: 20px;
  color: #fff;
}

.user-tool-search label[for=search] {
  font-size: 18px;
  padding: 20px;
  padding-left: 0;
}

.user-tool-search input[type=text] {
  display: block;
  width: 100%;
  height: 30px;
  padding: 20px;
  margin-bottom: 10px;
  margin-top: 10px;
  padding-right: 0;
}

.user-tool-search button.btn-submit {
  margin-left: 20px;
  width: 100px;
  height: 41px;
  margin-top: 38px;
  font-size: 16px;
  border: none;
  background-color: #fff;
  margin-left: 10px;
}

.user-tool-search button.btn-submit:hover {
  background-color: #015d84;
  color: #fff;
}

.user-tool-search button.btn-close-search {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: transparent;
  color: #fff;
  border: none;
  width: 60px;
  height: 43px;
}

.user-tool-search .search-filter {
  margin-left: 0;
  padding-left: 0;
}

.user-tool-search .search-field label[for=search] {
  font-size: 18px;
}

@media only screen and (min-width: 600px) {
  .user-tool-search {
    grid-template-columns: 60% auto auto;
    width: 90%;
  }
}

@media only screen and (min-width: 1440px) {
  .user-tool-search {
    width: 1360px;
    padding-top: 20px;
    padding-bottom: 10px;
    grid-template-columns: 500px auto auto;
    padding-bottom: 20px;
  }
}

@media only screen and (min-width: 1600px) {
  .user-tool-search {
    width: 1529px;
  }
}

.user-tool-search .site-search {
  margin-left: 0 !important;
}

@media only screen and (min-width: 500px) {
  .user-tool-search .site-search {
    margin-left: 10px !important;
  }
}

.user-tool-search .search-library-resources {
  display: block;
}

@media only screen and (min-width: 500px) {
  .user-tool-search .search-library-resources {
    display: inline-block;
  }
}

.user-tool-search .search-library-unit {
  display: block;
}

@media only screen and (min-width: 500px) {
  .user-tool-search .search-library-unit {
    display: inline-block;
  }
}

.no-search-results {
  margin-bottom: 30px;
}

.no-search-results .search-field {
  height: 41px;
  width: 220px;
}

.no-search-results button.btn-submit {
  margin-left: 20px;
  width: 100px;
  height: 41px;
  margin-top: 10px;
  font-size: 18px;
  border: none;
  background-color: #015d84;
  color: #fff;
  margin-left: 10px;
}

.no-search-results button.btn-submit:hover {
  background-color: #000;
  color: #fff;
}

/*---

  Search Display

---*/
.search-results .page-interior article {
  border: 1px solid #e2eaef;
  padding: 20px;
  margin-bottom: 30px;
  padding-bottom: 0;
}

/*---

  Staff profile

---*/
.staff-page .elementor-widget-container:after {
  content: "";
  display: block;
  clear: both;
}

.staff-profile {
  width: 282px !important;
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
  border: 1px solid #e0e0e0 !important;
  text-align: left !important;
  display: inline-block !important;
  vertical-align: top !important;
  margin-right: 10px !important;
  min-height: 487px;
}

@media only screen and (min-width: 640px) {
  .staff-profile {
    margin: 0 !important;
    margin-bottom: 20px !important;
    margin-right: 15px !important;
  }
}

.staff-profile h3 {
  font-size: 20px;
  margin-bottom: 0;
  padding-left: 25px;
  padding-right: 25px;
}

.staff-profile h3 span {
  font-size: 14px;
}

.staff-profile h4 {
  font-size: 17px;
  margin-top: 0;
  margin-bottom: 5px;
  padding-left: 25px;
  padding-right: 25px;
}

.staff-profile p {
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 15px;
  padding-left: 25px;
  padding-right: 25px;
}

.staff-profile .staff-email span {
  padding-right: 7px;
}

.staff-profile .staff-phone span {
  padding-right: 7px;
}

.staff-profile .staff-social .staff-orcid-id {
  padding-right: 5px;
}

.staff-profile .staff-social .staff-orcid-id img {
  vertical-align: middle;
}

.staff-profile .staff-expertise {
  margin-top: 9px;
}

.staff-profile .staff-liaison {
  margin-top: 9px;
  margin-bottom: 15px;
}

.staff-profile .btn-graphic {
  font-size: 16px;
  padding: 10px 20px;
  width: 100%;
}

.random-library-profile .elementor-shortcode {
  width: 100%;
  margin: 0 auto;
}

.random-library-profile .elementor-shortcode .random-staff-profile h3 {
  text-align: center;
  font-size: 18px;
  margin-top: 15px;
  margin-bottom: 0;
}

.random-library-profile .elementor-shortcode .random-staff-profile h4 {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
  font-family: "freight-sans-pro", -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif;
}

.random-library-profile .elementor-shortcode .random-staff-profile img.staff-photo {
  width: 100%;
}

.random-library-profile .elementor-shortcode .random-staff-profile p {
  margin: 9px 0px;
  text-align: center;
}

.random-library-profile .elementor-shortcode .random-staff-profile .btn-graphic {
  font-size: 16px;
  padding: 10px 20px;
}

.random-library-profile .elementor-shortcode .random-staff-profile .all-staff {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

/*---

  TAGS

---*/
#main-content a[rel=tag],
a[rel=tag] {
  padding: 8px 8px;
  border-radius: 3px;
  background-color: #000;
  font-size: 12px;
  color: #fff;
  text-decoration: none !important;
}

#main-content a[rel=tag]:hover,
a[rel=tag]:hover {
  text-decoration: underline !important;
}

#main-content .category-tag a,
.category-tag a {
  padding: 8px 8px;
  border-radius: 3px;
  background-color: #015c84;
  font-size: 14px;
  color: #fff;
  text-decoration: none !important;
}

#main-content .category-tag a:hover,
.category-tag a:hover {
  text-decoration: underline !important;
}

.pagination {
  margin-top: -20px;
}

.tag .page-interior {
  display: block;
  margin: 0 auto;
  width: calc(100vw - 40px);
  padding: 10px;
  padding-top: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  .tag .page-interior {
    width: 90% !important;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 1440px) {
  .tag .page-interior {
    width: 1360px !important;
  }
}

@media only screen and (min-width: 1600px) {
  .tag .page-interior {
    width: 1529px !important;
  }
}

.tag .page-interior h2 {
  margin-bottom: 0;
}

.tag .page-interior h3 {
  margin-bottom: 10px;
}

.tag .page-interior article {
  display: inline-block;
  vertical-align: top;
}

hr:last-of-type {
  height: 0;
}

.category .page-interior {
  display: block;
  margin: 0 auto;
  width: calc(100vw - 40px);
  padding: 10px;
  padding-top: 30px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  .category .page-interior {
    width: 90% !important;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 1440px) {
  .category .page-interior {
    width: 1360px !important;
  }
}

@media only screen and (min-width: 1600px) {
  .category .page-interior {
    width: 1529px !important;
  }
}

.category .page-interior article {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 20px;
  /*&.category-physics-journals,
  &.category-chemistry-journals,
  &.category-astronomy-journals,
  &.category-physics-databases,
  &.category-chemistry-databases,
  &.category-astronomy-databases {
    display: block;
    vertical-align: top;
    border: 1px solid blue;
  }
  */
}

.elementor-widget-container ul,
.elementor-widget-container ol {
  margin-left: 30px;
  padding-left: 10px;
  font-size: 18px;
}

.elementor-widget-container a:hover {
  text-decoration: underline;
}

.elementor-widget-container .elementor-divider {
  padding: 5px 0 5px 0 !important;
}

.elementor-widget-container .elementor-divider .elementor-divider-separator {
  border-top-color: #e2eaef !important;
}

.elementor-widget-heading h2.elementor-heading-title {
  line-height: 1.5em;
}

.elementor-accordion {
  margin-bottom: 20px !important;
  font-size: 1.15em;
}

.elementor-placeholder {
  padding: 1.4em;
  background-color: #e0e0e0;
  border: 1px dashed;
}

.single .elementor-location-single {
  display: grid;
  margin: 0 auto;
  width: calc(100vw - 40px);
  grid-template-columns: 100%;
  padding-top: 20px 0 30px 0;
  margin-top: 10px;
  margin-bottom: 30px;
}

@media only screen and (min-width: 640px) {
  .single .elementor-location-single {
    border-top: 1px solid #e2eaef;
    padding-top: 30px;
  }
}

@media only screen and (min-width: 600px) {
  .single .elementor-location-single {
    width: 90% !important;
  }
}

@media only screen and (min-width: 1440px) {
  .single .elementor-location-single {
    width: 1360px !important;
  }
}

@media only screen and (min-width: 1600px) {
  .single .elementor-location-single {
    width: 1529px !important;
  }
}

.elementor-element.elementor-button-danger .elementor-button {
  color: #b31b1b !important;
}

.elementor-widget-container .alert__widget {
  padding: 20px;
  margin-bottom: 20px;
}

.elementor-widget-container .alert__widget a {
  text-decoration: underline !important;
}

.elementor-widget-container .alert__widget a:hover {
  text-decoration: none !important;
}

.elementor-widget-container .alert__widget i {
  padding-right: 7px;
  font-size: 20px;
  vertical-align: middle;
  display: inline !important;
}

.elementor-widget-container .alert__widget .alert__header {
  font-size: 22px;
  margin: 0;
  padding-top: 5px;
}

.elementor-widget-container .alert__widget p {
  margin: 0;
  display: inline !important;
  font-size: 16px;
}

.elementor-widget-container .alert__widget hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  height: 0;
}

.elementor-widget-container .alert__widget.alert__success {
  background-color: #d4edda !important;
  border-left: 5px solid #155724 !important;
}

.elementor-widget-container .alert__widget.alert__success .alert__header,
.elementor-widget-container .alert__widget.alert__success p,
.elementor-widget-container .alert__widget.alert__success a,
.elementor-widget-container .alert__widget.alert__success i {
  color: #155724 !important;
}

.elementor-widget-container .alert__widget.alert__success hr {
  border-bottom: 1px solid #c3e6cb !important;
}

.elementor-widget-container .alert__widget.alert__info {
  background-color: #d1ecf1 !important;
  border-left: 5px solid #0c5460 !important;
}

.elementor-widget-container .alert__widget.alert__info .alert__header,
.elementor-widget-container .alert__widget.alert__info p,
.elementor-widget-container .alert__widget.alert__info a,
.elementor-widget-container .alert__widget.alert__info i {
  color: #0c5460 !important;
}

.elementor-widget-container .alert__widget.alert__info hr {
  border-bottom: 1px solid #bee5eb !important;
}

.elementor-widget-container .alert__widget.alert__warning {
  background-color: #fff3cd !important;
  border-left: 5px solid #856404 !important;
}

.elementor-widget-container .alert__widget.alert__warning .alert__header,
.elementor-widget-container .alert__widget.alert__warning p,
.elementor-widget-container .alert__widget.alert__warning a,
.elementor-widget-container .alert__widget.alert__warning i {
  color: #856404 !important;
}

.elementor-widget-container .alert__widget.alert__warning hr {
  border-bottom: 1px solid #ffeeba !important;
}

.elementor-widget-container .alert__widget.alert__error {
  background-color: #f8d7da !important;
  border-left: 5px solid #721c24 !important;
}

.elementor-widget-container .alert__widget.alert__error .alert__header,
.elementor-widget-container .alert__widget.alert__error p,
.elementor-widget-container .alert__widget.alert__error a,
.elementor-widget-container .alert__widget.alert__error i {
  color: #721c24 !important;
}

.elementor-widget-container .alert__widget.alert__error hr {
  border-bottom: 1px solid #f5c6cb !important;
}

.home .localist-widget,
.localist-widget {
  display: grid;
  width: 100%;
  grid-template-columns: 100%;
}

.home .localist-widget #lwe,
.localist-widget #lwe {
  list-style-type: none;
  margin-left: 0;
  margin-right: 30px;
}

.home .localist-widget #lwe .lwe,
.localist-widget #lwe .lwe {
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgb(226, 234, 239);
  clear: both;
  display: inline-block;
}

.home .localist-widget #lwe .lwe:last-child,
.localist-widget #lwe .lwe:last-child {
  border-bottom: none;
}

.home .localist-widget #lwe .lwe .lwn,
.localist-widget #lwe .lwe .lwn {
  margin-bottom: 10px;
}

.home .localist-widget #lwe .lwe .lwn .lwn0,
.localist-widget #lwe .lwe .lwn .lwn0 {
  font-size: 15px;
}

.home .localist-widget #lwe .lwe .lwn a,
.localist-widget #lwe .lwe .lwn a {
  display: block;
}

.home .localist-widget #lwe .lwe .lwd,
.localist-widget #lwe .lwe .lwd {
  position: relative;
  float: left;
  padding-left: 60px;
  font-size: 16px;
  margin-bottom: 20px;
}

.home .localist-widget #lwe .lwe .lwd .lwi0,
.localist-widget #lwe .lwe .lwd .lwi0 {
  display: inline-block;
  margin-left: -60px;
  position: absolute;
}

.home .localist-widget #lwe .lwe .lwd a,
.localist-widget #lwe .lwe .lwd a {
  padding-right: 10px;
}

.home .localist-widget .lw.lw_event_list,
.localist-widget .lw.lw_event_list {
  list-style-type: none;
  margin-left: 0;
  margin-right: 30px;
}

.home .localist-widget .lw.lw_event_list li,
.localist-widget .lw.lw_event_list li {
  padding-top: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgb(226, 234, 239);
  display: grid;
  width: 100%;
  grid-template-columns: 100%;
  gap: 0 10px;
  grid-template-areas: "event-photo-date" "event-content";
}

.home .localist-widget .lw.lw_event_list li:last-child,
.localist-widget .lw.lw_event_list li:last-child {
  border-bottom: none;
}

@media only screen and (min-width: 780px) {

  .home .localist-widget .lw.lw_event_list li,
  .localist-widget .lw.lw_event_list li {
    display: grid;
    width: 100%;
    grid-template-columns: 170px 1fr;
    gap: 0 10px;
    grid-template-areas: "event-photo-date event-content";
  }
}

.home .localist-widget .lw.lw_event_list li .lw_event_item_image,
.localist-widget .lw.lw_event_list li .lw_event_item_image {
  grid-area: event-photo-date;
  display: inline-block;
  line-height: 0.8em;
  width: 150px;
}

.home .localist-widget .lw.lw_event_list li .lw_event_item_image span,
.localist-widget .lw.lw_event_list li .lw_event_item_image span {
  display: block;
  padding-top: 10px;
  font-size: 15px;
}

.home .localist-widget .lw.lw_event_list li .lw_event_content,
.localist-widget .lw.lw_event_list li .lw_event_content {
  grid-area: event-content;
  margin-bottom: 20px;
  padding-top: 10px;
}

.home .localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta,
.localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta {
  padding-top: 5px;
}

.home .localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta .clock,
.localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta .clock {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("images/icons/icon-clock.svg");
  background-size: 20px 20px;
}

.home .localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta .lw_event_item_time,
.localist-widget .lw.lw_event_list li .lw_event_content .lw_event_meta .lw_event_item_time {
  display: inline-block;
  font-size: 15px;
  vertical-align: top;
}

.localist-widget.news-page {
  display: grid;
  grid-template-columns: 100%;
}

.localist-widget.news-page .lw.lw_event_list {
  list-style-type: none;
  margin-left: 0;
  margin-right: 30px;
  width: 100% !important;
}

.localist-widget.news-page .lw.lw_event_list li {
  padding-top: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgb(226, 234, 239);
  display: grid;
  width: 100%;
  grid-template-columns: 100%;
  gap: 0 10px;
  grid-template-areas: "event-photo-date" "event-content";
}

@media only screen and (min-width: 780px) {
  .localist-widget.news-page .lw.lw_event_list li {
    display: grid;
    width: 100%;
    grid-template-columns: 170px 1fr;
    gap: 0 10px;
    grid-template-areas: "event-photo-date event-content";
  }
}

.localist-widget.news-page .lw.lw_event_list li:last-child {
  border-bottom: none;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_item_image {
  grid-area: event-photo-date;
  display: inline-block;
  line-height: 0.8em;
  width: 150px;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_item_image span {
  display: block;
  padding-top: 10px;
  font-size: 15px;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_content {
  grid-area: event-content;
  margin-bottom: 20px;
  padding-top: 10px;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_content .lw_event_meta {
  padding-top: 5px;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_content .lw_event_meta .clock {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("images/icons/icon-clock.svg");
  background-size: 20px 20px;
}

.localist-widget.news-page .lw.lw_event_list li .lw_event_content .lw_event_meta .lw_event_item_time {
  display: inline-block;
  font-size: 15px;
  vertical-align: top;
}

.localist-widget {
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas: "calendar" "events";
  justify-items: center;
  align-items: center;
}

@media only screen and (min-width: 780px) {
  .localist-widget {
    grid-template-columns: auto 300px;
    grid-column-gap: 20px;
    grid-template-areas: "events calendar";
    align-items: start;
  }
}

.localist-widget .localist_minicalendar {
  grid-area: calendar;
  width: 300px;
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager {
  display: grid;
  grid-template-columns: 30px auto 30px;
  grid-column-gap: 20px;
  justify-items: center;
  align-items: center;
  grid-template-areas: "prevcalendar monthcalendar nextcalendar";
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager a:after {
  grid-area: prevcalendar;
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager a:first-child:after {
  content: "Prev";
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager a.right:before {
  grid-area: nextcalendar;
  content: "Next";
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager .localist_minicalendar_page_heading {
  grid-area: monthcalendar;
}

.localist-widget .localist_minicalendar .localist_minicalendar_pager .localist_minicalendar_page_heading h1 {
  text-align: center;
  font-size: 20px;
}

.localist-widget .localist_minicalendar select {
  font-size: 15px;
  width: 100%;
  padding: 10px;
}

.localist-widget .localist_minicalendar .localist_minicalendar_minicalendar caption {
  display: none;
}

.localist-widget .localist_minicalendar .localist_minicalendar_nav {
  text-align: center;
  padding-bottom: 15px;
  font-size: 15px !important;
}

.localist-widget .localist_minicalendar .localist_minicalendar_nav a:first-child:after {
  content: " | ";
}

.localist-widget .localist_minicalendar .localist_minicalendar_minicalendar {
  margin-bottom: 10px !important;
}

.localist-widget .localist_minicalendar .localist_minicalendar_minicalendar td {
  text-align: center;
}

/*--- 
  Hours display for:
  - Single Unit 
  - Single unit plus Despartment
  Note: Displaying 2 single units will be defined at the child theme (case olinuis)
---*/
.available-time {
  display: inline-block;
}

.available-time .primary-hours {
  vertical-align: middle;
  font-size: 17px;
  color: #fff;
}

@media only screen and (min-width: 640px) {
  .available-time .primary-hours {
    font-size: 24px;
  }
}

@media only screen and (min-width: 972px) {
  .available-time .primary-hours {
    font-size: 30px;
  }
}

.available-time .primary-hours a {
  color: #fff;
}

.available-time .primary-hours a:hover {
  text-decoration: underline;
}

.available-time .primary-hours a i {
  display: inline-block;
  border-bottom: none;
}

.available-time .primary-hours a i:hover {
  display: inline-block;
  border-bottom: 1px solid #fff;
}

.available-time .primary-hours a.full-hours {
  font-weight: bold;
}

.available-time .secondary-hours {
  line-height: 1.9em;
  color: #fff;
}

@media only screen and (min-width: 640px) {
  .available-time .secondary-hours {
    line-height: 2.1em;
  }
}

@media only screen and (min-width: 972px) {
  .available-time .secondary-hours {
    line-height: 2.3em;
  }
}

.available-time .library .icon-time {
  color: #f8e71c;
  font-size: 20px;
  padding-right: 7px;
}

@media only screen and (min-width: 640px) {
  .available-time .library .icon-time {
    font-size: 26px;
    padding-right: 7px;
  }
}

@media only screen and (min-width: 972px) {
  .available-time .library .icon-time {
    font-size: 30px;
  }
}

.department {
  font-size: 14px;
}

@media only screen and (min-width: 640px) {
  .department {
    font-size: 18px;
    padding-left: 3px;
  }
}

@media only screen and (min-width: 972px) {
  .department {
    font-size: 20px;
    padding-left: 2px;
  }
}

.department .icon-time {
  color: #f8e71c;
  font-size: 15px;
  padding-left: 2px;
  padding-right: 10px;
}

@media only screen and (min-width: 640px) {
  .department .icon-time {
    font-size: 18px;
    padding-left: 2px;
  }
}

@media only screen and (min-width: 972px) {
  .department .icon-time {
    font-size: 20px;
    padding-left: 3px;
    padding-right: 12px;
  }
}

/*---

  Featured news slider

---*/
/*---

  Announcement banner

---*/
#announcement-banner {
  padding: 5px 10px;
}

#announcement-banner[hidden] {
  display: none !important;
}

#announcement-banner p {
  text-align: center;
}

#announcement-banner a {
  text-decoration: underline;
}

#announcement-banner a:hover {
  text-decoration: none !important;
}

#announcement-banner .close-announcement {
  position: absolute;
  top: 10px;
  right: 10px;
}

#announcement-banner .close-announcement:hover {
  opacity: 0.7;
}

/*---

  Easy Notification Bar

---*/
.easy-notification-banner {
  margin-bottom: 15px;
}

.easy-notification-bar-button {
  margin-left: 0 !important;
}

.easy-notification-bar-button a,
.easy-notification-bar-button a:visited,
.easy-notification-bar-button a:focus {
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  background: none !important;
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  line-height: 16px;
  text-decoration: underline !important;
}

.easy-notification-bar-button a:hover {
  color: #fff !important;
  text-decoration: none !important;
}

.lcs_slide_out-r {
  top: 200px !important;
}