/* ---------------------------------------- */
/* ## 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. COMPONENTS
        a. Pagination
        b. Media Card
        c. Icon Menus
        d. Social Menus
    03. UTILITY
    04. GRID
    05. HEADER
        a. ISU Menu Bar
        b. Site Name
        c. Header Search
        d. Header Search Menu
    06. MENU
        a. Sticky Menu
    07. SECONDARY MENU
    08. BREADCRUMBS
    09. ALERTS
    10. TABS
        a. Secondary Tabs
    11. 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;
}

/* --- 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 {
    content: '';
}

/* -------------------- */
/* 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;
}

.node ul > li,
.node ol > li {
    margin-bottom: 0.5rem;
}

/* -------------------- */
/* 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=text] {
    height: auto;
    max-width: 100%;
    padding: 0.5rem;
    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;
}

/* Views Forms */
/* Overrides styles from views.css */

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

.views-exposed-widgets .form-submit {
    height: 2.25rem; 
    margin-top: 0;
}

.form-required {
    color: #cc0000;
}


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

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

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

.pager li {
    border: 0;
}

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

.pager li.pager-next {
    border-left: 0;
}

.pager li.first {
    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 {
    width: auto;
    margin-bottom: 0.5rem;
    color: #333;
    font-size: 0.95rem;
    padding: 10px 16px;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

.pager li.pager-current,
.pager 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;
}

/* -------------------- */
/* 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;
    padding: 0 1rem 1rem 0;
}

.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 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: #777;
    transition: all 0.25s ease;
}

#isu-menu-nav .sm ul a:focus,
#isu-menu-nav .sm ul a:active,
#isu-menu-nav .sm ul a.highlighted {
    border: 2px #F1BE48;
}

#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 {
    text-decoration: none;
}

.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;
}

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

.pane-title {
    margin-top: 0;
}

.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-panel iframe {
    max-width: 100%;
    padding: 0 1rem;
}

/* .panel-pane-overflow must be applied
in the panel settings */ 

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

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

.suitcase_megapanels > .front-panel-row {
    margin-top: 1rem;
}

.suitcase_megapanels > .front-panel-row ~ .front-panel-row {
    margin-top: 0;
}

/* --- IE 9 --- */

    .front-panel-row .panel-panel.grid-3 {
        display: inline-block;
        width: calc(25% - 1.25rem);
        margin: 0 0.5rem;
        margin-bottom: 1rem;
        padding: 1rem;
        border: 1px solid #ddd;
    }

    .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(1) { 
        width: 100%; 
    }

    .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2),
    .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2) ~ .grid-3 { 
        width: calc(50% - 1.25rem); 
    }

    .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3),
    .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3) ~ .grid-3 { 
        width: calc(33.33% - 1.25rem); 
    }

    @media (max-width: 900px) {
        .front-panel-row .panel-panel.grid-3  { 
            width: calc(50% - 1.25rem); 
        }
        
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(1) { 
            width: 100%; 
        }

        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2),
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2) ~ .grid-3 {
            width: calc(50% - 1.25rem); 
        }

        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3),
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3) ~ .grid-3 {
            width: calc(33.33% - 1.25rem); 
        }
    }

    @media (max-width: 700px) {
        .front-panel-row .panel-panel.grid-3  { 
            width: 100%; 
        }
        
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(1) { 
            width: 100%; 
        }

        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2),
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(2) ~ .grid-3 {
            width: 100%; 
        }

        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3),
        .front-panel-row .panel-panel.grid-3:first-child:nth-last-child(3) ~ .grid-3 {
            width: 100%; 
        }
    }


/* --- Browsers that support flex --- */

.front-panel-full  p{ 
    margin-right: 1rem;
    margin-left: 1rem;
    margin-bottom: 1rem; 
}

.front-panel-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
}

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

.front-panel-row .panel-panel.grid-3 {
    flex: 1 1 250px;
    min-width: 250px;
    float: none;
    margin: 0 0.5rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
}

.front-panel-row .panel-panel.grid-grow {
    flex-grow: 5;
}

/* ---------------------------------------- */
/* ## 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; 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:last-of-type { border-bottom: none; }

/* -------------------- */
/* Headers in first row */
    
    .responsive-table.table-row { display: table; 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 tr:first-of-type { border-bottom: 0; }
    
    .responsive-table.table-row td { 
        display: flex; 
        padding: 0;
            border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
    }
    
    .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; 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 { 
        border-bottom: 1px solid #ddd; 
        border-right: 1px solid #ddd;
        display: block; 
    }
    
    .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; 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 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;
    }
}

/* --- 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.empty {
    /* Overrides green from module */
    color: #616161;
}

/* --- 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;
}

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 {
    margin-right: 1rem;
    margin-bottom: 0.25rem;
    float: left;
    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;
}

/* ---------------------------------------- */
/* ## 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;
}

