/* ---------------------------------------- */
/* ## Table of Contents 
/* ---------------------------------------- */
/*  GENERAL

    01. RESETS
    02. TYPOGRAPHY
        a. Links & Buttons
        b. Lists
        c. Tables
        d. Blockquotes
        e. Misc Typography
        f. Figures & Images
        g. Forms
    02. EXPOSED FILTERS
    03. COMPONENTS
        a. Pagination
        b. Media Card
        c. Icon Menus
        d. Social Menus
    04. UTILITY
    05. GRID
    06. HEADER
        a. ISU Menu Bar
        b. Site Name
        c. Header Search
        d. Header Search Menu
    07. MENU
        a. Sticky Menu
    08. SECONDARY MENU
    09. BREADCRUMBS
    10. ALERTS
    11. TABS
        a. Secondary Tabs
    12. FOOTER

    HOME

    01. Flexslider

    PANELS

    01. Megapanels

    BLOCKS

    01. Facets
    02. Carets
    03. Collapsible Blocks
    04. Filter List
        a. Just Tags
        b. Indicators
        c. Facet Show More

    PAGES

    GENERAL CONTENT

    01. CONTENT TYPE INDICATOR
    02. FIELDS & LABELS
    03. FIELD SETS
    04. RESPONSIVE TABLES

    SEARCH

    CONTENT TYPES

    01. NEWS
    02. EVENTS
    03. PEOPLE
    04. RESOURCES
    05. BOOK
    06. BLOG
    07. VIDEOS

    CONTENT EDITING

*/

/* ---------------------------------------- */
/* ## GENERAL 
/* ---------------------------------------- */

*,
*:before,
*:after { box-sizing: border-box; }

html { font-size: 16px; }

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

body {
    font-size: 1rem;
    line-height: 1.5;
    font-family: 'Nimbus Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -webkit-osx-font-smoothing: greyscale;
    background: #f3f3f3;
}

#page {
    background: #fff;
}

/* -------------------- */
/* ## RESETS 
/* -------------------- */

/* .leaf */
ul li.leaf {
    list-style-type: none;
    list-style-image: none;
}

li.expanded,
li.collapsed
li.leaf {
    padding: 0;
}

/* --- :focus --- */

*:focus {
    -webkit-box-shadow: 0 0 5px 0 #0066ff;
    -moz-box-shadow: 0 0 5px 0 #0066ff;
    box-shadow: 0 0 5px 0 #0066ff !important;
    outline: 0 !important;
}

/* -------------------- */
/* ## TYPOGRPAHY 
/* -------------------- */

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 1em;
    font-family: 'Nimbus Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.35;
}

h1 { font-size: 2.25rem; font-weight: 400;}
h2 { font-size: 1.625rem; }
h3 { font-size: 1.35rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.15rem; }
h6 { font-size: 1.00rem; }

@media (max-width: 400px), (max-height: 500px) {
    h1 { font-size: 2.00rem; }
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1.15rem; }
    h4 { font-size: 1.05rem; }
    h5 { font-size: 1.00rem; }
    h6 { font-size: 0.95rem; } 
}

p {
    margin: 0 0 1.5rem;
    font-size: 1rem;
}

small { font-size: 0.85em; }

em { font-style: italic; }

strong { font-weight: 700; }

/* -------------------- */
/* Links & Buttons */

a,
a:link,
a:visited { 
    color: #cc0000;
    text-decoration: underline;
    transition: color 0.2s ease; 
}

a:hover {
    color: #006ba6;
    text-decoration: underline;
}

.button,
.more-link {
    display: inline-block;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.5rem;
    color: #fff;
    font-weight: 700;
    border-radius: 3px;
    background: #cc0000;
    cursor: pointer;
    transition: background 0.2s ease;
}

    .button:hover,
    .more-link:hover {
        background: #333333;
    }

.more-link {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

/* --- Content Buttons --- */
/* Add the link-button class to a link in CKEditor to style it like
 * a button. Remember, the link-button needs to be added to the list of 
 * allowed classes in the Text Formatter.
 */
 
a.link-button {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  background: #cc0000;
  border-radius: 3px;
  transition: background 0.2s ease;
}

a.link-button:hover {
  background: #333333;
}


/* --- Read More --- */

.read-more {
    float: none;
    display: inline;
    margin-left: 0.5rem;
    padding: 0.15rem 0.25rem;
    font-size: 0.9rem;
    color: #333;
    background: #ddd;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
}
    .read-more:hover {
        background: #ccc;
    }

.read-more strong { font-weight: 400; }

.read-more a,
.more-link a {
    color: inherit;
    text-decoration: inherit;
}

/* Read More in BLOG */

.views-field-readmore a br { display: none; }

.views-field-readmore a {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 0.15rem 0.25rem;
    font-size: 0.9rem;
    color: #333;
    text-decoration: none;
    background: #eee;
    border: 1px solid #ddd;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.2s ease;
}
    .views-field-readmore a:hover {
        background: #ccc;
    }

/* --- External Links --- */

#section-content a.external:after {
    content: '\f08e';
    font-family: 'FontAwesome';
    font-size: 0.75em;
    display: inline-block;
    margin-left: 4px;
    vertical-align: text-top;
}

/* Exceptions */

#section-content .pane-menu-menu-social a.external:after,
#section-content .block-menu-social a:after,
#section-content .view-resources a.external:after,
#section-content .bibio-entry a.external:after,
#section-content .flex-caption a.external:after {
    content: '';
    display: none;
}

/* -------------------- */
/* Lists */

ul, 
ol,
.node ul,
.node ol {
    padding-left: 2rem;
}

.node ul,
.node ol {
    overflow: hidden;
}

.node ul ul,
.node ol ol,
.node ul ol,
.node ol ul {
    margin-bottom: 0;
}

/* -------------------- */
/* Tables */

tr.even,
tr.odd {
    /* Overrides system.theme */
    padding: inherit;
}

.content table {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.content table, 
.content tbody, 
.content thead, 
.content tr, 
.content th, 
.content td {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
}

.content tr { 
    border-bottom: 1px solid #ccc; 
}

.content tr:first-of-type { 
    border-top: 1px solid #ccc; 
}

.content tr.even,
.content tr.odd {
    background: transparent;
}

.content th, 
.content td {
    padding: 0.5rem 0.75rem;
    border-left: 1px solid #ccc;
}

.content th:last-of-type,
.content td:last-of-type { 
    border-right: 1px solid #ccc; 
}

.content th { 
    background-color: #eeeeee; 
}

/* --- Panel Tables --- */

.pane-content td {
    border-left: 0;
}

.pane-content th:last-of-type,
.pane-content td:last-of-type {
    border-right: 0;
}

/* --- Views Tables --- */

.views-table img {
    /* Prevents images from shrinking to nothing
       when tables are very wide */
    max-width: none;
}

/* -------------------- */
/* Blockquotes */

blockquote {
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    color: #555555;
    border-left: 3px solid #f1be48;
}

blockquote p:only-child,
blockquote p:last-child {
    margin-bottom: 0;
}

/* -------------------- */
/* Misc Typography */

address { font-style: normal; }

cite { font-style: normal; }

pre {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    color: #333333;
    font-size: 0.85rem;
    font-family: Menlo, Consolas, "Courier New", monospace;
    word-break: break-all;
    word-wrap: break-word;
    background: rgba(102, 128, 153, 0.1); /* #668099 */
    border-left: 10px solid rgba(102, 128, 153, 0.75); /* #668099 */
    overflow: auto;
}

code {
    padding: 0.25rem 0.5rem;
    background: rgba(219, 218, 208, 0.5); /* #668099 */
    border-radius: 4px;
}

hr {
    height: 0;
    margin: 1rem 0;
    border: 0;
    border-top: 1px solid #ccc;
}

sub, sup { font-size: 0.75em; }
sub { vertical-align: sub; }
sup { vertical-align: super; }

/* -------------------- */
/* Figures & Images */

figure figcaption { color: #333333; }

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

/* Target only images in content */
.field-name-body img {
    max-width: calc(100% - 1rem);
    margin: 0.5rem;
}

/* --- CKEditor Enhanced Images --- */

figure.image {
    display: table;
    margin: 0;
}

figure.image img {
    max-width: 100%;
    display: block;
    margin: 0;
}

figure.image figcaption {
    display: table-caption;
    caption-side: bottom;
    padding: 0.5rem;
    color: #333;
    font-size: 0.85rem;
    font-weight: 400;
    border: 1px solid #ddd;
    border-top: 0;
    background: #eee;
}

figure.image br {
    /* For some reason, there are <br>'s'... */
    display: none;
}

/* Floated images */

figure.image.floated-left {
    margin: 0.25rem 1rem 0.25rem 0;
}

figure.image.floated-right {
    margin: 0.25rem 0 0.25rem 1rem;
}

figure.image.floated-left img,
figure.image.floated-right img {
    margin: 0;
}

/* -------------------- */
/* Forms */

input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
    height: auto;
    min-height: 2.25rem;
    max-width: 100%;
    padding: 0.525rem;
    border: 1px solid #ddd;
    border-radius: 2px;
}

/* Form Buttons */

input[type=submit].form-submit {
    margin: 0 0.5rem 0 0;
    padding: 0.25rem 0.5rem;
    font-size: 0.95rem;
    text-shadow: none;
    background: #eee;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 3px;
}

    input[type=submit].form-submit:hover {
        background-color: #ddd;
    }

/* Select  */

.form-type-select select {
    height: auto;
    margin-top: 0.5rem;
    padding: 0.5rem;
    padding-right: 1.5rem;
    font-size: 1rem;
    border: 1px solid #ddd;
}

.form-type-select select[multiple] {
    padding-right: 0.5rem;
}

/* -------------------- */
/* ## EXPOSED FILTERS
/* -------------------- */
/* Overrides styles from views.css */

.views-exposed-widgets {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.views-exposed-form .views-exposed-widget {
    float: none;
    padding: 0;
    margin: 0 1em 1em 0;
}

.form-required {
    color: #cc0000;
}

.views-exposed-form label {
    margin-bottom: 0.25rem;
}

.form-radios label {
    font-weight: normal
}

.views-exposed-form .views-exposed-widget .form-submit {
    height: 2.25rem; 
    margin-top: 1.75rem;
}

/* Select Lists */
.form-type-select select {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

/* Date Filter */
.views-exposed-widget.views-widget-filter-date_filter {
    flex-shrink: 0;
}

.views-exposed-form .container-inline-date .date-padding {
    display: flex;
    align-items: center;
}

/* -------------------- */
/* ## COMPONENTS 
/* -------------------- */

/* -------------------- */
/* Pagination & Site Index */

.item-list .pager,
.site-index ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1rem;
    background: #fff;
    border: 0;
    border-radius: 0;
}

.site-index ul {
    justify-content: flex-start;
}

.pager li,
.site-index li {
    border: 0;
}

.pager li.pager-next,
.pager li.pager-last {
    position: static;
}

.pager li.pager-next,
.site-index li:last-of-type {
    border-left: 0;
}

.pager li.first,
.site-index li:first-of-type a {
    border-left: 1px solid #ddd;
}

.pager li a,
.pager li.pager-previous a,
.pager li.pager-first a,
.pager li.pager-current,
.pager li.pager-next a,
.pager li.pager-last a,
.pager li.pager-ellipsis,
.site-index li a {
    width: auto;
    margin-bottom: 0.5rem;
    color: #333;
    font-size: 0.95rem;
    text-decoration: none;
    padding: 10px 16px;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

.site-index li a {
    padding: 8px 12px;
}

.pager li.pager-current,
.pager li a:hover,
.site-index li a.active,
.site-index li a:hover {
    background: #ddd;
}

/* -------------------- */
/* Media Card */

.media {
    /* Overrides blog_blog.css */
    display: flex !important;
    align-items: center;
    margin-bottom: 1rem;
    margin-right: 1rem;
}

.media-left {
    flex: 0 0 auto;
    margin-right: 1rem;
    margin-bottom: 0.5rem;
    padding: 0;
}

.media-left img {
    border: 1px solid #ddd;
}

.media-heading { 
    margin-top: 0; 
    margin-bottom: 0;
}

/* Media Card Layout */

.media.media_card {
    display: flex;
    margin-right: 1rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    align-items: flex-start;
}

.media.media_card .media-heading {
    margin-bottom: 1rem;
}

.people_media-card_heading {
    font-size: 1.25rem;
}

.people_media-card_position {
    font-size: 1rem;
    color: #676767;
}

/* -------------------- */
/* Icon Menus */

.menu .fa {
    margin-top: -0.15em;
    margin-right: 0.5em;
    font-size: 1.25em;
    line-height: inherit;
}

.menu a > .fa:before {
    /* to remove underline on link hover */
    display: inline-block;
    text-decoration: none;
}

/* -------------------- */
/* Social Menus */
/* These can appear in blocks, 
   footer blocks, and panels. 
*/

.block-menu-social .menu a,
.pane-menu-menu-social a {
    color: #333;
    text-decoration: none;
}

.block-menu-social .menu a:hover .fa-facebook-official, 
.pane-menu-menu-social .menu a:hover .fa-facebook-official {
    color: #3b5998;
}

.block-menu-social .menu a:hover .fa-twitter-square,
.pane-menu-menu-social .menu a:hover .fa-twitter-square {
    color: #1da1f2;
}

.block-menu-social  .menu a:hover .fa-github-square, 
.pane-menu-menu-social  .menu a:hover .fa-github-square {
    color: #4078c0;
}

.block-menu-social  .menu a:hover .fa-pinterest-square,
.pane-menu-menu-social  .menu a:hover .fa-pinterest-square {
    color: #bd081c;
}

.block-menu-social .menu a:hover .fa-youtube-square,
.pane-menu-menu-social .menu a:hover .fa-youtube-square {
    color: #cd201f;
}

.block-menu-social .menu a:hover .fa-instagram,
.pane-menu-menu-social .menu a:hover .fa-instagram {
    color: #e1306c;
}

.block-menu-social  .menu a:hover .fa-rss-square,
.pane-menu-menu-social  .menu a:hover .fa-rss-square {
    color: #f77737;
}

/* -------------------- */
/* Image link blocks */

/* --- Image with link below --- */

.image-link a {
    display: block;
    color: #ffffff;
    line-height: 0;
    text-decoration: none;
}

.image-link a:hover {
    box-shadow: 0 0 5px 1px #7a99ac;
}

.image-link img {
    width: 100%;
}

.image-link h2,
.image-link p {
    margin: 0;
    padding: 0.75rem;
    line-height: 1.25;
    font-weight: normal;
    text-align: center;
    background: #cc0000;
}

.image-link i {
    margin-right: 0.5rem;
}

.image-link.link-red h2,
.image-link.link-red p { background: #cc0000; }

.image-link.link-blue h2,
.image-link.link-blue p { background: #006ba6; }

.image-link.link-green h2,
.image-link.link-green p { background: #76881d; }

.image-link.link-dark-red h2,
.image-link.link-dark-red p { background: #7c2529; }

.image-link.link-dark-blue h2,
.image-link.link-dark-blue p { background: #003D4C; }

.image-link.link-dark-green h2,
.image-link.link-dark-green p { background: #3E4827; }

/* --- Image with link overlay --- */

.image-overlay a {
    display: block;
    position: relative;
    color: #ffffff;
    line-height: 0;
    text-decoration: none;
}

.image-overlay a:hover {
    box-shadow: 0 0 5px 1px #7a99ac;
}

.image-overlayimg {
    width: 100%;
}

.image-overlay h2,
.image-overlay p {
    position: absolute;
    bottom: 20%;
    right: 0;
    width: auto;
    max-width: 90%;
    margin: 0;
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    font-weight: normal;
    text-align: right;
    background: rgba(0, 0, 0, 0.75);
}

.image-overlay.overlay-full h2,
.image-overlay.overlay-full p {
    bottom: 0;
    width: 100%;
    max-width: none;
    text-align: left;
}

.image-overlay i {
    margin-right: 0.5rem;
}


/* -------------------- */
/* ## UTILITY 
/* -------------------- */

/* -------------------- */
/* ## GRID
/* -------------------- */

.luggage-grid .view-content {
    display: flex;
    flex-flow: wrap;
}

.luggage-grid .view-content > h3 {
    width: 100%;
    padding: 0.5rem;
}

.luggage-gridrow img,
.luggage-gridrow3 img,
.luggage-gridrow4 img {
    float: left;
    margin: 0 1rem 1rem 0;
}

.luggage-grid.luggage-grid-no-float .luggage-gridrow img,
.luggage-grid.luggage-grid-no-float .luggage-gridrow3 img,
.luggage-grid.luggage-grid-no-float .luggage-gridrow4 img {
    float: none;
}

.luggage-gridrow,
.luggage-gridrow3,
.luggage-gridrow4 {
    flex: 0 0 100%;
    margin: 0 0.7%;
    padding: 1rem;
    border: 1px solid #ddd;
}

@media only screen and (min-width: 769px) {
    .luggage-gridrow,
    .luggage-gridrow3,
    .luggage-gridrow4 {
        flex-basis: calc(50% - 51px);
        min-width: 48.6%;
    }
}

@media only screen and (min-width: 1024px) {
    .luggage-gridrow3 {
        flex-basis: calc(33% - 51px);
        min-width: 31.3%;
    }

    .luggage-gridrow4 {
        flex-basis: calc(25% - 51px);
        min-width: 23.5%;
    }

    .luggage-gridrow3 .views-field-field-uri-1,
    .luggage-gridrow4 .views-field-field-uri-1 {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

}

/* -------------------- */
/* ## HEADER 
/* -------------------- */

/* -------------------- */
/* ISU MENU BAR */ 

.zone-isu-menu-wrapper {
    color: #ccc;
    background: #333333;
}

#isu-menu-nav .sm { z-index: 499 !important; }
#isu-menu-nav .sm li { float: left; }
#isu-menu-nav .sm ul li { float: none; }

#isu-menu-nav .sm a,
#isu-menu-nav .sm a:hover,
#isu-menu-nav .sm a:focus,
#isu-menu-nav .sm a:active {
    padding: 4px 8px;
    color: #ccc;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    transition: all 0.25s ease;
}

#isu-menu-nav .sm ul * { transition: display 0.5s ease; }

#isu-menu-nav .sm ul a,
#isu-menu-nav .sm ul a:hover,
#isu-menu-nav .sm ul a:focus,
#isu-menu-nav .sm ul a:active {
    min-width: 20px;
    padding: 4px 10px;
    color: #ccc;
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    background: #555;
    transition: all .25s ease;
}

#isu-menu-nav .sm a:hover,
#isu-menu-nav .sm a:focus,
#isu-menu-nav .sm a:active,
#isu-menu-nav .sm a.highlighted,
#isu-menu-nav .sm ul a:hover,
#isu-menu-nav .sm ul a:focus,
#isu-menu-nav .sm ul a:active,
#isu-menu-nav .sm ul a.highlighted {
    color: #fff;
    background: #666;
    transition: all 0.25s ease;
}

#isu-menu-nav #isu-index-menu { float: left; }

#isu-menu-nav #isu-index-menu ul a,
#isu-menu-nav #isu-index-menu ul a:hover,
#isu-menu-nav #isu-index-menu ul a:focus,
#isu-menu-nav #isu-index-menu ul a:active {
    padding: 4px 3px;
    text-align: center;
}

#isu-menu-nav #isu-quick-links-menu { float: right; }

/* --------------------- */
/* Site Name */

.zone-branding-wrapper {
    padding: 1rem 0px;
    background: #cc0000;
    border-bottom: 9px solid #f1be48;
}

#isu_header_wordmark,
#isu_footer_wordmark { 
    display: block; 
    max-width: 100%; 
}

#isu_header_wordmark img,
#isu_footer_wordmark img { 
    width: 100%; 
    height: auto; 
}

#isu_header_wordmark { width: 375px; }

#isu_footer_wordmark { width: 200px; }

.site-name-level-2 { /* span, Department */
    display: block;
    margin-bottom: 0;
    margin-bottom: 0;
    padding: 7px 0 0;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.25;
    border: 0;
}


.site-name-level-3 { /* h1, Laboratory */
    display: block;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.375rem; 
    line-height: 1.25;
    font-weight: 400;
}

.site-name-level-2 a,
.site-name-level-3 a {
    color: #fff;
    text-decoration: none;
}
    .site-name-level-2 a:hover,
    .site-name-level-3 a:hover { color: #fff; }

.region-branding-inner hr {
    margin: 14px 0;
    background: #cc0000;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}


/* --------------------- */
/* Header Search */

.region-search-inner .has-site-name-level-2 {
    margin-top: 1rem;
}

.region-search-inner .has-site-name-level-3 {
    margin-top: 2rem;
}

.region-search-inner form {
    width: 100%;
    max-width: 400px;
    float: right;
    background: #fff;
    border-radius: 2px;
}

.region-search-inner input[type=text] {
    width: calc(100% - 68px);
    height: 2.5rem;
    border: 0;
}

.region-search-inner input[type=submit],
.region-search-inner input[type=submit]:focus {
    height: 2.5rem; 
    margin: 0 0 0 20px;
    background-color: transparent;
    background-image: url(../images/search.png);
    background-repeat: no-repeat;
    background-position: 0 50%;
    background-size: contain;
    border: 0;
    box-shadow: none;
}

/* --------------------- */
/* Header Search Menu */

.region-search .block-menu {
    margin-top: 1rem;
}

.region-search .block-menu .block-title {
    margin-bottom: 0;
    color: #fff;
    text-align: right;
}

.region-search .block-menu .content {
    margin-top: 0;
}

.region-search .block-menu .menu {
    text-align: right;
}

.region-search .block-menu .menu li {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 0.5rem;
    padding: 0;
    font-size: 0.9rem;
}

.region-search .block-menu .menu a {
    color: #fff;
    font-weight: bold;
    text-decoration: underline;
}

/* -------------------- */
/* ## MENU 
/* -------------------- */

.zone-menu-wrapper { background: #eee; }
.zone-menu-wrapper .sm { z-index: 498 !important; }

#main-menu a,
#main-menu a:hover,
#main-menu a:focus,
#main-menu a:active {
    padding: 16px 12px;
    font-size: 15px;
    line-height: 1;
    color: #444;
    font-weight: 500;
    letter-spacing: .5px;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.1s ease;  
}

#main-menu a:hover,
#main-menu a:focus,
#main-menu a:active,
#main-menu a.highlighted,
#main-menu a.active-trail,
#main-menu a.active { border-bottom: 3px solid #bbb; background: #ddd; }

#main-menu a.active-trail,
#main-menu a.active { font-weight: 700; color: #000; }

#main-menu a span.sub-arrow {
    width: 34px;
    height: 34px;
    position: absolute;
    top: 50%;
    margin-top: -17px;
    left: auto;
    right: 4px;
    font: bold 16px/34px monospace !important;
    text-align: center;
    text-shadow: none;
    background: rgba(255, 255, 255, 0.75);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    overflow: hidden;
}

#main-menu ul {
    padding: 0px 16px;
    background: #fff;
    box-shadow: 0px  2px 3px 0px #aaa;
}

#main-menu ul * { transition: display 0.5s ease; }

#main-menu ul a,
#main-menu ul a:hover,
#main-menu ul a:focus,
#main-menu ul a:active {
    padding: 10px 0;
    text-decoration: none;
    color: #333;
    font-size: inherit;
    line-height: inherit;
    font-weight: bold;
    letter-spacing: .5px;
    text-decoration: none;
    background: transparent;
    border-bottom: none;
}

#main-menu ul a:hover,
#main-menu ul a:focus,
#main-menu ul a:active,
#main-menu ul a.highlighted,
#main-menu ul a.active-trail,
#main-menu ul a.active {
    color: #cc0000;
    border-bottom: none;
    background: transparent;
}

#main-menu-nav .sm-menu-btn {
    display: block;
    height: auto;
    width: auto;
    padding: 16px 12px;
    color: #444;
    font-size: 15px;
    font-weight: 400;
    text-indent: 40px;
    
}

#main-menu-nav .sm-menu-btn-icon { left: 14px; }


/* -------------------- */
/* Sticky Menu */

.zone-menu.sticky-top {
    position: fixed;
    top: 0;
    width: 100%;
    margin-left: 0;
    z-index: 3;
    background: #eee;
    box-shadow: 0 1px 5px #999999;
}

/* -------------------- */
/* ## SECONDARY MENU 
/* -------------------- */

.region-secondary-menu-inner { background: #dddddd; }

#secondary-menu.links { /* ul */
    display: inline-block;
    margin: 0;
    padding: 0.75rem;
    list-style-type: none;
}

#secondary-menu.links li {
    display: inline-block;
    margin-right: 0;
    padding: 0;
}

#secondary-menu.links a {
    padding: 0.5rem 0.75rem;
    color: #333333;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.25s ease;
}

    #secondary-menu.links li:not(:last-of-type):after {
        content: ' | ';
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        font-size: 0.75em;
        color: #333333;
        vertical-align: text-top;
    }

    #secondary-menu.links a:hover { background: #ccc; }

#secondary-menu.links a.active,
#secondary-menu.links a.active-trail {
    color: #000;
    font-weight: 700;
    background: #ccc;
}

/* -------------------- */
/* ## BREADCRUMBS 
/* -------------------- */

.breadcrumb {
    padding: .75rem 1.25rem;
    font-size: 0.85rem;
    border-bottom: 1px solid #dddddd;
}

.breadcrumb a { text-decoration: none; }
    
    .breadcrumb a:hover {
        text-decoration: underline;
    }

/* -------------------- */
/* ## ALERTS 
/* -------------------- */

.alert {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
}

.alert-note {
    color: #31708f;
    background: #d9edf7;
    border-color: #bce8f1;
}

.alert-danger {
    color: #a94442;
    background: #f2dede;
    border-color: #ebccd1;
}

/* -------------------- */
/* ## TABS 
/* -------------------- */

ul.tabs {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    clear: both;
}

ul.tabs > li {
    display: inline-block;
    margin-right: 0;
}

ul.tabs > li > a {
    display: inline-block;
    margin-right: 0.5rem;
    margin-bottom: -1px;
    padding: 0.5rem 1rem;
    text-decoration: none;
    background: #fff;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    border: 1px solid #ccc;
    border-bottom: 0;
}
    ul.tabs > li > a:hover { background: #eee; }

ul.tabs > li > a.active {
    border-bottom: 1px solid #fff;
}

/* --------------------- */
/* Secondary Tabs */

ul.tabs.secondary {
    /* Overrides system.menus.css */
    padding: 0;
}

ul.tabs.secondary li {
    /* Overrides system.menus.css */
    padding: 0;
    border: 0;

}

/* Sort order arrow */
ul.tabs.secondary img {
    position: relative;
    top: -5px; left: 5px;
}

/* -------------------- */
/* ## FOOTER 
/* -------------------- */

.section-footer {
    padding: 2rem 0;
    color: #333333;
    background: #f3f3f3;
}

.section-footer .block { margin-bottom: 1rem; }

.section-footer ul.menu li {
    margin-bottom: 0;
}

.section-footer .menu a {
    display: flex;
    text-decoration: none;
}

    .section-footer .menu a:hover {
        color: #006ba6;
    }



/* ---------------------------------------- */
/* ## HOME 
/* ---------------------------------------- */

.front main.region { margin-top: 0; }

/* -------------------- */
/* ## FLEXSLIDER  
/* -------------------- */

.flexslider {
    margin: 0;
    border: 0;
    box-shadow: none;
}

.flexslider img { height: 100%; }

.flex-caption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    padding: 1.25rem !important;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: -0.15em 0.15em 0.1em rgba(0, 0, 0, 0.25);
    border: 1px solid #bbb;
}

.flex-caption a,
.flex-caption a > p {
    color: #cc0000;
    text-decoration: none;
}

.flex-caption a:hover,
.flex-caption a:hover > p {
    color: #0062a0;
    text-decoration: underline;
}

.flex-caption p {
    margin-bottom: 0;
    font-size: 1rem;
    color: #333;
    font-weight: 500;
}

.flexslider .flex-prev,
.flexslider .flex-next {
    height: inherit;
    color: #333;
}

.flex-control-nav {
    position: static;
    margin-top: 1rem;
    z-index: 2;
}

.flex-control-paging li a {
    color: #ffffff;
    background: #616161;
}

.flex-control-paging li a.flex-active {
    background: #cc0000;
}

.flex-pauseplay a {
    line-height: 20px;
}

/* ---------------------- */
/* ## NUMBERED FLEXSLIDER */
/* ---------------------- */
/* Add flexslider-numbered to the Pane or View to grab
 * these brutal overrides to both flexslider, interim, and 
 * luggage announcements
 */

.flexslider-numbered .flexslider {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.flexslider-numbered .slides {
  width: 100%;
}

.flexslider-numbered .views-field.views-field-field-announcement-image {
  margin-bottom: 0;
}

.flexslider-numbered .flex-control-paging {
  width: auto;
  height: 2.5rem;
  display: inline-flex;
  justify-content: flex-end;
  margin-top: -2.5rem;
}

.flexslider-numbered .flex-pauseplay {
  height: 2.5rem;
  margin-top: -2.5rem;
  left: 0;
  bottom: 0;
}

.flexslider-numbered .flex-control-paging li {
  height: 2.5rem;
  margin: 0;
  display: block;
}

.flexslider-numbered .flex-control-paging li a,
.flexslider-numbered .flex-pause,
.flexslider-numbered .flex-play {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  width: 2.5rem;
  line-height: 1;
  font-size: 1rem;
  color: #000;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 1;
  border-radius: 0;
  box-shadow: none;
  text-indent: 0;
}

.flexslider-numbered .flex-pause,
.flexslider-numbered .flex-play {
  position: relative;
  bottom: 0;
  left: 0;
  display: inline-block;
  overflow: hidden;
  text-indent: -9999px;
}

.flexslider-numbered .flex-pause:before,
.flexslider-numbered .flex-play:before {
  margin-top: 0.75rem;
  margin-left: .9rem;
  text-indent: 0;
  font-size: 1rem;
  float: left;
}

.flexslider-numbered .flex-control-paging li a.flex-active,
.flexslider-numbered .flex-control-paging li a:hover,
.flexslider-numbered .flex-pause:hover,
.flexslider-numbered .flex-play:hover {
  background-color: #ffffff;
}

.flexslider-numbered .flex-caption {
  bottom: 4rem;
}

@media (max-width: 739px) {
  .flexslider-numbered .flexslider .flex-caption { position: absolute; }
}

/* ---------------------------------------- */
/* ## PANELS 
/* ---------------------------------------- */

.pane-title {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #676767;
}

.pane-content .views-row:not(.views-row-last) {
    padding-bottom: 1rem;
    border-bottom: 1px solid #ddd;
}

.pane-content .views-field {
    margin-bottom: 0.5rem;
}

.pane-content .views-field-title {
    font-size: 1.125rem;
}

.pane-content .views-field-created {
    display: block;
    color: #676767;
}

.panel-pane iframe {
    max-width: 100%;
}


/* --- Panel Styles --- */
/* Add to individual Panel regions or panes via the Panels UI.
 */

.panel-pane-overflow .pane-content, 
.pane-twitter-block-1 .pane-content,
.pane-views-instagrams-block .pane-content {
    height: 500px;
    overflow-y: scroll;
}

.panel-pane-bordered {
    margin: 0 -0.5rem;
    padding: 1rem;
    border: 1px solid #ddd;
}

/* -------------------- */
/* ## MEGAPANELS
/* -------------------- */

.suitcase_megapanels {
    /* Mimics the Omega grid framework */
    position: relative;
    margin-left: -10px;
    margin-right: -10px;
}

.megapanels-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -1rem;
    margin-left: -1rem;
}

    @media (max-width: 740px) {
        .megapanels-row {
            margin-left: 0.5rem;
            margin-right: 0.5rem;
        }
    }

.megapanels-pane {
    flex: 1 1 250px;
    min-width: 250px;
    margin: 0 0.5rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.megapanels-pane_grow {
    flex-grow: 4;
}

.megapanels-wrapper:not(.megapanels-wrapper_full_top) {
    margin-top: 1rem;
}

.megapanels-wrapper ~ .megapanels-wrapper {
    margin-top: 0;
}

.megapanels-wrapper_full_top {
    margin-bottom: 1rem;
}

.megapanels-wrapper_full_top,
.megapanels-wrapper_full_bottom {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}

@media (max-width: 740px) {
    .megapanels-wrapper_full_top,
    .megapanels-wrapper_full_bottom {
        margin-right: 2rem;
        margin-left: 2rem;
    }
}

@media (min-width: 1141px) {

    .megapanels-pane:first-child:nth-last-child(4),
    .megapanels-pane:first-child:nth-last-child(4) ~ .megapanels-pane {
      width: calc(25% - 1rem);
      flex: 0 1 auto;
      min-width: 0;
    } 
}

@media (max-width: 1140px) and (min-width: 600px) {

    .megapanels-pane:first-child:nth-last-child(4),
    .megapanels-pane:first-child:nth-last-child(4) ~ .megapanels-pane {
      width: calc(50% - 1rem);
      flex: 0 1 auto;
    } 
}

@media (max-width: 1000px) and (min-width: 548px) {

    .megapanels-pane:first-child:nth-last-child(3),
    .megapanels-pane:first-child:nth-last-child(3) ~ .megapanels-pane {
      width: calc(50% - 1rem);
      flex: 0 1 auto;
    }
}

/* --- Full Width Option --- */
/* Add these classes to the Panel Page in General Settings. Supplement
 * with the CSS code field.
 */

.megapanels_full-width .zone-content {
    max-width: 100% !important;
    width: 100%;
    margin: 0;
}

.megapanels_full-width .grid-12 {
    width: 100% !important;
    margin: 0;
}

.megapanels_full-width .megapanels-wrapper_full_top,
.megapanels_full-width .megapanels-wrapper_full_bottom {
  margin-right: 0;
  margin-left: 0;
}

.megapanels_full-width.megapanels_content-contained .megapanels-row {
    
}

/* Mimic container-12 */

@media (max-width: 740px) {
    .megapanels_full-width.megapanels_content-contained .megapanels-row {
        margin-right: 0;
        margin-left: 0;
    }
}
@media (min-width: 740px) {
    .megapanels_full-width.megapanels_content-contained .megapanels-row {
        width: 92%;
        margin-left: 4%;
        margin-right: 4%;
    }   
}

@media (min-width: 1200px) {
    .megapanels_full-width.megapanels_content-contained .megapanels-row {
        width: 92%;
        max-width: calc(1200px + 2rem);
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.megapanels_full-width.megapanels_content-contained .suitcase_megapanels {
    margin: 0;
}

.megapanels_full-width.megapanels_content-contained .megapanels-pane {
  margin: 0;
}

/* ---------------------------------------- */
/* ## BLOCKS 
/* ---------------------------------------- */

.region-sidebar-first-inner .block,
.region-sidebar-second-inner .block,
.js-suitcase-facet.block {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.region-sidebar-first-inner .item-list ul,
.region-sidebar-second-inner .item-list ul {
    margin-top: 1rem;
}

h2.block-title {
    font-size: 1.25rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

/* -------------------- */
/* ## Facets 
/* -------------------- */

.js-suitcase-facet .block-title {
    position: relative;
    margin-bottom: 0;
}

.js-suitcase-facet .block-title:hover {
    cursor: pointer;
}

.block-title ~ .content {
    margin-top: 1rem;
}

/* -------------------- */
/* ## Carets 
/* -------------------- */

.js-suitcase-facet .caret {
    display: block;
    position: absolute;
    top: 0; right: 0;
    width: 20px;
    height: 20px;
    margin-top: 10px;
    border: 0;
    opacity: 1;
}

.js-suitcase-facet .caret:before,
.js-suitcase-facet .caret:after {
    content: '';
    display: block;
    position: absolute;
    width: 18px;
    height: 4px;
    background: #bbb;
}

.js-suitcase-facet .caret:after {
    transform: rotate(90deg);
    opacity: 0;
}

.js-suitcase-facet .block-title-closed .caret:after {
    opacity: 1;
}

/* -------------------- */
/* ## Collapsible Blocks 
/* -------------------- */

.js-suitcase-facet .block-closed {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* -------------------- */
/* ## Filter List 
/* -------------------- */

.block-facetapi .item-list ul ul {
    margin-top: 0;
    margin-left: 1.5rem;
}

.block-facetapi .item-list li {
    margin-bottom: 0.5rem;
}

.block-facetapi .item-list li a {
    position: relative;
    margin-right: 0.25rem;
    padding: 0.25rem 0.5rem;
    padding-left: 2rem;
    color: #333333;
    text-decoration: none;
    font-size: 0.95rem;
    border-radius: 3px;
    transition: all 100ms ease;
}

.block-facetapi .item-list li a.facetapi-active {
    color: #fff;
    background: #006ba6;
}

.block-facetapi .item-list li a.facetapi-active {
    font-weight: 700;
}

.block-facetapi .item-list li a.facetapi-active:hover,
.block-facetapi .item-list li a:hover {
    color: #333;
    background: #eee;
    border-color: #ddd;
}

.block-facetapi .item-list li.expanded {
    list-style-type: none;
    list-style-image: none;
}

.block-facetapi .item-list li.expanded a {
    margin-bottom: 0.25rem;
}

/* -------------------- */
/* Just Tags */

.facetapi-facet-im-field-tags li {
    float: left;
}

.facetapi-facet-im-field-tags li a {
    display: inline-block;
    padding-left: 0.5rem;
    border: 1px solid #ddd;
}

/* Clear tag list */

.facetapi-facet-im-field-tags:after {
    content: '';
    display: block;
    clear: both;
}

/* -------------------- */
/* Indicators */

.block-facetapi .item-list li a:before {
    content: '';
    position: absolute;
    top: 0.35rem; left: 0.35rem;
    height: 1rem;
    width: 1rem;
    margin-right: 5px;
    padding-top: 2px;
    font-size: 0.75rem;
    line-height: 1;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 2px;
}

.block-facetapi .item-list li a.facetapi-active:before,
.block-facetapi .item-list li a:hover:before {
    content: '✓';
    border-color: #bbb;
}

.block-facetapi .item-list li a.facetapi-active:hover:before {
    content: '✕';
    border-color: #bbb;
}

.facetapi-x { 
    /* Hides unneeded object in mark-up */
    display: none; 
}

/* -------------------- */
/* Facet Show More */

a.facetapi-limit-link {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    color: #333;
    font-size: 0.95rem;
    text-decoration: none;
    background: #ddd;
    border-radius: 3px;
}

a.facetapi-limit-link.open:after {
    content: ' -';
}

a.facetapi-limit-link:not(.open):after {
    content: ' +';
}

/* ---------------------------------------- */
/* ## PAGES
/* ---------------------------------------- */

#page-title {
    /* Steer clear of the content-type-indicator */
    padding-top: 1.5rem;
    margin-bottom: 1rem;
}

/* ---------------------------------------- */
/* ## GENERAL CONTENT
/* ---------------------------------------- */

main.region,
aside.region {
    margin-top: 1.5rem;
}

.zone-content-wrapper {
    padding-bottom: 2rem;
}

.zone-content .views-row {
    margin-bottom: 1rem;
}

.view-display-id-page .views-row {
    padding: 1rem;
    border: 1px solid #dddddd;
}

/* But no padding or border in the Views Accordion */
.ui-accordion .views-row {
    padding: 0;
    border: 0;
}

/* --- .item-list --- */

.item-list ul {
    margin: 0;
}
.item-list ul li {
    margin: 0 0 1rem 0;
}

.item-list ul > li > a {
    display: block;
}

/* Menus */

ul.menu li {
    margin: 0;
    margin-bottom: 1em;
}

/* -------------------- */
/* ## CONTENT TYPE INDICATOR
/* -------------------- */

.content-type-indicator.ct-search,
.content-type-indicator.ct-node {
    position: absolute;
    top: 1rem; right: 1rem;
    margin-bottom: 1rem;
    padding: inherit;
    font-size: inherit;
    font-weight: 400;
    color: #676767;
    text-align: inherit;
    border: 0;
    opacity: inherit;
}

/* On page */

.content-type-indicator.ct-node {
    top: 0.25rem;
}

/* In search */

.page-search article {
    /* Contain absolute positioned indicator */
    position: relative;
}

/* In views */
.view-content article {
    /* Contain absolute positioned indicator */
    position: relative;
}

/* -------------------- */
/* ## FIELDS & LABELS 
/* -------------------- */

.field:not(:last-child) {
    margin-bottom: 1rem;
}

.field-label {
    padding-right: 0.5rem;
    color: #333333;
    font-weight: 700;
}

/* Fields Label Above */
.field-label-above .field-label {
    margin-bottom: 1rem;
}

/* Inline Fields */
.field-label-inline .field-label,
.field-label-inline .field-item,
.field-label-inline .field-items {
    float: none;
}

/* Field Name: Body */
.field-name-body {
    overflow: hidden;
}

/* Field Name: Field Tags */
/* Field Name: Field Category */

.field-type-taxonomy-term-reference .field-label {
    margin-top: 2px;
    margin-bottom: 5px;
}

.field-type-taxonomy-term-reference .field-item {
    display: inline-block;
}

.field-type-taxonomy-term-reference .field-item a {
    display: inline-block;
    margin-right: 0.5em;
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.5rem;
    color: #676767;
    text-decoration: none;
    background: #fff;
    border-radius: 2px;
    border: 1px solid #e2e2e2;
    transition: background 0.25s ease;
}
    .field-type-taxonomy-term-reference .field-item a:hover {
        text-decoration: none;
        background: #f5f5f5;
    }

/* Field Name: Event When */
.field-name-field-event-when {
    float: none;
}

/* -------------------- */
/* ## FIELDSETS 
/* -------------------- */

fieldset legend {
    width: 100%;
    font-weight: bold;
}

fieldset.collapsed {
    /* Overrides system.base.css */
    height: auto !important;
    width: 100%;
}

fieldset.collapsed .fieldset-legend {
    padding: 0.5rem;
    padding-left: 20px;
    border: 1px solid #ddd;
}

fieldset.collapsible {
    border: 1px solid #ddd;
}

fieldset.collapsible fieldset {
    margin-top: 1rem;
}

/* Open */

fieldset.collapsible:not(.collapsed) {
    padding: 1rem;
}

fieldset.collapsible:not(.collapsed) > legend {
    width: auto;
}

/* Indicator */

fieldset.collapsible .fieldset-legend {
    padding-left: 20px;
    background-size: 10px;
}

/* -------------------- */
/* ## RESPONSIVE TABLES
/* -------------------- */

table.responsive-table  { 
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border-collapse: collapse;
}

table.responsive-table,
.responsive-table tbody,
.responsive-table thead,
.responsive-table tr,
.responsive-table th,
.responsive-table td {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
}

.responsive-table tr {
    border-bottom: 1px solid #ccc;
}

.responsive-table tr:first-of-type {
    border-top: 1px solid #ccc;
}

.responsive-table th, 
.responsive-table td {
    padding: 0.5rem 0.75rem;
    border-left: 1px solid #ccc;
}
.responsive-table th:last-of-type,
.responsive-table td:last-of-type {
    border-right: 1px solid #ccc;
}

.responsive-table th {
    background-color: #eee;
}

/* Images in responsive tables */

.responsive-table img {
    height: auto !important;
}

@media (min-width: 801px) {

    .responsive-table img {
        /* Prevents images from shrinking to nothing 
           before responsive table-breaking kicks in. */
        max-width: none;
    }
}

/* -------------------- */
/* If javascript is not enabled */

    
    .field-items table {
        display: block;
        max-width: 100%;
        overflow: hidden;
        overflow-x: auto;
    }
    
    .field-items table tr {
        width: 100%;
    }
    
    .field-items table::-webkit-scrollbar {
        -webkit-appearance: none;
    }
    
    .field-items table::-webkit-scrollbar:horizontal {
        height: 11px;
    }
    
    .field-items table::-webkit-scrollbar-thumb {
        border-radius: 8px;
        border: 2px solid white;
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .field-items table::-webkit-scrollbar-track {
        background-color: #fff;
        border-radius: 8px;
    }
    
@media (min-width: 801px) {
    .row-header { display: none; }
    .both-row-header { display: none; }
}

@media (max-width: 800px) {

/* -------------------- */
/* No headers (none) */
    
    .responsive-table.table-none { 
        display: table; 
        width: 100% !important; /* Override if table width is set */
        min-width: 75%; 
    }
    
    .responsive-table.table-none tr { border-bottom: 3px solid #bbb; }
    .responsive-table.table-none td { 
        border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
        display: block; 
    }

    .responsive-table.table-none td {
        width: auto !important; /* Override if cell width set */
    }
    
    .responsive-table.table-none td:last-of-type { border-bottom: none; }

/* -------------------- */
/* Headers in first row */
    
    .responsive-table.table-row { 
        display: table; 
        width: 100% !important; /* Override if table width is set */
        min-width: 75%; 
    }
    
    .responsive-table.table-row th { display: none; }
    
    .responsive-table.table-row tr {
        display: block;
        border-bottom: 3px solid #bbb;
    }
    
    .responsive-table.table-row td { 
        display: flex; 
        padding: 0;
        border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
    }

    .responsive-table.table-row th,
    .responsive-table.table-row td {
        width: auto !important; /* Override if cell width set */
    }
    
    .responsive-table.table-row td:last-of-type { border-bottom: none; }
    
    .cell-content { 
        display: block; 
        flex: 1 1 50%;
        padding: 0.5rem 0.75rem;
    }
    
    .row-header {
        display: block;
        flex: 0 1 45%;
        padding: 0.5rem 0.75rem;
        font-weight: 500;
        background: #eee;
    }
    
    .table-row tr { border-bottom: 3px solid #bbb; }

/* -------------------- */
/* Headers in first column */
    
    .responsive-table.table-col { 
        display: table; 
        width: 100% !important; /* Override if table width is set */
        min-width: 75%; 
    }
    
    .responsive-table.table-col th,
    .responsive-table.table-col td { display: block; }
    
    .responsive-table.table-col th { border-bottom: 1px solid #bbb; }

    .responsive-table.table-col tr {
        display: block;
        border-bottom: 1px solid #ddd;
    }
    
    .responsive-table.table-col td { 
        display: block;
        border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
    }

    .responsive-table.table-col th,
    .responsive-table.table-col td {
        width: auto !important; /* Override if cell width set */
    }
    
    .responsive-table.table-col td:last-of-type { border-bottom: none; }

/* -------------------- */
/* Headers in both first row and first column */
    
    .responsive-table.table-both { 
        display: table; 
        width: 100% !important; /* Override if table width is set */
        min-width: 75%; 
    }
    
    .responsive-table.table-both th,
    .responsive-table.table-both td { display: block; }
    
    .responsive-table.table-both th { border-bottom: 1px solid #bbb; }
    
    .responsive-table.table-both tr {
        display: block;
        border-bottom: 3px solid #bbb;
    }
    
    .responsive-table.table-both tr:first-of-type { display: none; }
    
    .responsive-table.table-both tr:first-of-type th:first-of-type { display: none; }
    
    .responsive-table.table-both tr:nth-of-type(2) { border-top: 1px solid #ddd; }
    
    .responsive-table.table-both td { 
        display: flex; 
        padding: 0;
        border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
    }

    .responsive-table.table-both th,
    .responsive-table.table-both td {
        width: auto !important; /* Override if cell width set */
    }
    
    .responsive-table.table-both td:last-of-type { border-bottom: none; }

    .both-cell-content { 
        display: block; 
        flex: 1 1 50%;
        padding: 0.5rem 0.75rem;
    }
    
    .both-row-header {
        display: block;
        flex: 0 1 45%;
        padding: 0.5rem 0.75rem;
        font-weight: 500;
        background: #eee;
    }

    /* --- Word Breaks --- */

    .responsive-table {
        word-break: break-word;
    }
}

/* --- Views Tables - Overflow --- */
/* Add this class to table Views */

.views-table-overflow .view-content {
    overflow-x: auto;
}

/* ---------------------------------------- */
/* ## SEARCH 
/* ---------------------------------------- */

.search-form .form-wrapper {
    display: flex;
    align-items: center;
}

.search-form .form-wrapper .form-type-textfield {
    flex: 1 1 100%;
    margin-right: 1rem;
}

.search-form .form-wrapper .form-type-textfield .form-text {
    height: 2.25rem;
    width: 100%;
    margin-right: 0.5rem;
    padding: 0.5rem;
    font-size: 1rem; 
}

.search-form .form-wrapper .form-submit {
    height: 2.25rem;
}

/* --- Did you mean --- */

.spelling-suggestions dt {
    display: inline-block;
    font-size: 1rem;
}

.spelling-suggestions dd {
    display: inline-block;
    padding-left: 0.25em;
    font-size: 1rem;
    font-style: normal;
}

.spelling-suggestions dd:after {
    content: '?';
}

.page-search article header {
    margin-right: 0;
    margin-top: 1.5rem;
}

.page-search article.node {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
}

h2.node-title {
    margin-top: 0;
    /* To steer clear of content type indicators */
    padding-top: 1.5rem;
}

.node .field-name-field-category {
    margin-bottom: 0.5rem;
}

/* ---------------------------------------- */
/* ## CONTENT TYPES
/* ---------------------------------------- */

/* -------------------- */
/* ## NEWS 
/* -------------------- */

.submitted > span,
.view-id-news.view-display-id-page .views-field-created {
    display: inline-block;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #dddddd;
}

.submitted > span > em,
.view-id-news.view-display-id-page .views-field-created > em {
    font-style: normal;
}

/* -------------------- */
/* ## EVENTS 
/* -------------------- */

.field.field-name-field-event-when {
    float: none;
}

.field.field-name-field-event-when span {
    font-size: 1rem;
    font-style: normal;
    color: #616161;
}

.calendar-calendar td .inner div.day a {
    color: #467CA0;
}

.calendar-calendar td {
    color: #676767;
}

.calendar-calendar td.empty {
    /* Overrides green from module */
    color: #444444;
}

.calendar-calendar th.days,
.calendar-calendar div.date-nav a, .calendar-calendar div.date-nav h3 {
    color: #000000;
}

table td.mini.today a {
    font-weight: bold;
}

.calendar-calendar tr td.today, 
.calendar-calendar tr.odd td.today, 
.calendar-calendar tr.even td.today {
    background-color: #d8e7ee;
}

/* --- Month View --- */

/* The td is required to override the powerful module selector */
.calendar-calendar .month-view .full td.single-day div.monthview, 
.calendar-calendar .week-view .full td.single-day div.weekview, 
.calendar-calendar .day-view .full td.single-day div.dayview {
    background: #efefef;
    border: 1px solid #ddd;
}

/* The div is required to override the powerful module selector */
.calendar-calendar .month-view .full div.single-day div.monthview, 
.calendar-calendar .week-view .full div.single-day div.weekview, 
.calendar-calendar .day-view .full div.single-day div.dayview {
    background: #efefef;
    border: 1px solid #ddd;
}

.calendar-calendar .month-view .full td.multi-day div.monthview, 
.calendar-calendar .week-view .full td.multi-day div.weekview, 
.calendar-calendar .day-view .full td.multi-day div.dayview {
    background: #006ba6;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continues, 
.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues, 
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
    background: #006ba6;
}

td.multi-day .calendar.monthview a,
td.multi-day .calendar.weekview a,
td.multi-day .calendar.dayview a {
    color: #fff;
}

/* --- Events Pagination --- */

/* Override of module */
.view .date-nav-wrapper .date-prev,
.view .date-nav-wrapper .date-next {
    position: static;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 0;
}

.view .date-nav-wrapper .date-prev a {
    border-left: 1px solid #ddd;
    border-radius: 5px 0 0 5px;
}

.view .date-nav-wrapper .date-next a {
    border-radius: 0 5px 5px 0;
}

/* -------------------- */
/* ## PEOPLE 
/* -------------------- */

.people-category {
    display: block;
    clear: both;
}

.profile-title {
    font-size: 1.35rem;
    font-weight: inherit;
}

.view-display-id-people_grid .views-field-title span a {
    font-size: inherit;
}

.views-field.views-field-field-people-position {
    margin-bottom: 1rem;
    color: #616161;
    font-style: normal;
}

.field-name-field-people-title-category {
    margin-left: 0;
    margin-bottom: 1rem;
    float: none;
}

.field-name-field-people-title-category a {
    display: inline-block;
    font-size: 1.25rem;
    line-height: 1;
    color: #616161;
    font-style: normal;
    text-decoration: none;
}

.field-name-field-people-position {
    margin-top: 0.5rem;
}

.node-people .field-label-inline .field-label,
.node-people .field-label-above .field-label,
.node-people fieldset.group-contact {
    clear: both;
}

/* -------------------- */
/* ## RESOURCES 
/* -------------------- */

/* --- URL --- */

.views-field-field-uri-1 {
    margin-bottom: 1rem;
}

.views-field-field-uri-1:before {
    content: '\f0c1';
    font-family: 'FontAwesome';
    margin-right: 0.5rem;
    color: #616161;
    float: left;
}

.views-field-field-uri-1 a {
    color: #616161;
    word-wrap: break-word;
}

.views-field-field-uri-1 a:hover {
    color: #006ba6;
}

/* --- Screenshot Preview --- */

.views-field-field-resource-screenshot img {
    border: 1px solid #ddd;
}

/* Screenshot Preview - Table View --- */

th.views-field-field-resource-screenshot,
td.views-field-field-resource-screenshot {
    margin-right: 0;
    margin-bottom: 0;
    float: none;
}

td.views-field-field-resource-screenshot img {
    border: 1px solid #ddd;
}

/* -------------------- */
/* ## BOOK 
/* -------------------- */

/* --- Book Pagination --- */
/* Overrides module styles */

.book-navigation {
    padding: 1rem 0;
}

.book-navigation .menu {
    margin: 0 0 1rem;
    padding: 0;
    border: 0;
}

.book-navigation .page-links {
    border-top: 0;
    border-bottom: 0;
    padding: 0;
}

.book-navigation .page-next, 
.book-navigation .page-previous, 
.book-navigation .page-up {
    display: inline-block;
    width: auto;
    margin-top: 1rem;
    padding: 10px 16px;
    color: #333;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.book-navigation .page-up {
    margin-right: auto;
    margin-left: auto;
    float: none;
}

.book-navigation .page-next:hover, 
.book-navigation .page-previous:hover, 
.book-navigation .page-up:hover {
    background: #ddd;
}

/* --- Book Navigation --- */

/* Bottom */

.book-navigation .menu li a {
    display: block;
    margin-bottom: 0.5rem;
    padding: 10px 16px;
    text-decoration: none;
    border: 1px solid #ddd;
}

/* Sidebar */

.block-book ul ul {
    margin-left: 1rem;
}

.node-book li.collapsed,
.block-book li.collapsed {
    list-style-type: none;
    list-style-image: none;
}

.node-book .menu li a,
.block-book .menu li a {
    display: block;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.95rem;
    text-decoration: none;
    border-bottom: 1px solid #ddd
}

    .node-book .menu li a.active
    .block-book .menu li a.active {
        color: #333;
    }

.node-book ul li.collapsed a:after,
.block-book ul li.collapsed a:after {
    content: '›';
    float: right;
    margin-top: -8px;
    font-size: 1.5em;
}

/* -------------------- */
/* ## BIBLIO 
/* -------------------- */

.biblio-category-section {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
}

.biblio-separator-bar {
    margin: -1rem -1rem 0 -1rem;
    border: none;
    border-bottom: 1px solid #ddd;
    padding: 0.5rem 1rem;
}

.node-biblio .content h3 {
    margin-top: 2rem;
    margin-bottom: 0;
}

/* -------------------- */
/* ## BLOG 
/* -------------------- */

/* Blog items are not marked up as articles
   So we need to apply the border/padding/margin here
*/

.view-id-blog.view-display-id-page .views-row,
.view-id-blog.view-display-id-person_blog_page .views-row {
    padding: 1rem;
    border: 1px solid #ddd;
}

.views-field-field-lug-blog-author .field-content {
    display: flex;
    flex-wrap: wrap;
}

/* In lieu of a better selectors for RSS feeds... */
.view-id-blog .view-header a[href$=".xml"],
.view-id-blog .view-footer a[href$=".xml"] {
    display: flex;
    align-items: center;
    max-width: 215px;
}

.view-id-blog .view-header a[href$=".xml"] img,
.view-id-blog .view-footer a[href$=".xml"] img {
    margin-right: 5px;
}

.view-display-id-person_blog_page_hero_attachment .views-field-field-people-image {
    margin-right: 0;
}

.view-display-id-person_blog_page_hero_attachment .views-field-field-people-image img {
    height: auto;
    max-height: 170px;
}

/* -------------------- */
/* ## VIDEOS 
/* -------------------- */

.views-table .views-field-field-video-video img {
    min-width: 100px;
}

.player {
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.player iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
}

/* Strong override for luggage_video.css */

.field-item .embedded-video {
    position: static !important;
    padding-bottom: 0;
    padding-top: 0;
    height: auto;
    overflow: visible;
}

/* ---------------------------------------- */
/* ## CONTENT EDITING
/* ---------------------------------------- */

.tips,
.description {
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
    font-size: 0.85rem;
}

.node-form input[type=text],
.node-form select {
    height: auto !important;
    margin-top: 0.5rem !important;
    padding: 0.5rem;
    font-size: 1rem;
}

.node-form select {
    padding-right: 1.5rem;
}

/* -------------------- */
/* Form Element Tables */

.node-form .field-multiple-table th.field-label {
    padding: 0.5rem 0.75rem;
}

.node-form .field-multiple-table tr {
    border-right: 1px solid #ccc;
}

.node-form .field-multiple-table td.field-multiple-drag {
    padding-right: 0.75rem;
}

.draggable a.tabledrag-handle {
    float: none;
    margin: 0;
}

a.tabledrag-handle .handle {
    height: 15px;
    width: 15px;
    margin: 0;
    padding: 0;
    background-position: 0 0;
}

.field-multiple-table td .form-required {
    float: left;
    margin-right: 0.25rem;
}

/* -------------------- */
/* Images/Files */

.file .file-icon {
    position: relative;
    top: -7px;
}

.field-type-image a.tabledrag-handle .handle,
.field-type-file a.tabledrag-handle .handle {
    float: left;
    margin-right: 0.25rem;
}

/* -------------------- */
/* Text Format */

.filter-help {
    float: none;
    padding: 0;
}

.filter-help a {
    padding: 0;
    padding-right: 1.5rem;
}

.filter-wrapper .form-item {
    display: flex;
    align-items: center;
    float: none;
    padding: 0;
    margin-bottom: 0.5rem;
}

.filter-wrapper .form-item label {
    margin-right: 0.5rem;
}

.filter-guidelines {
    padding: 0;
}

/* -------------------- */
/* Vertical Tabs */

.vertical-tabs ul.vertical-tabs-list .summary {
    color: #333;
}

.vertical-tabs fieldset.vertical-tabs-pane {
    padding: 1rem;
}

