:root {
    --base-width: 1024px;
    --base-font-size: 1.1em;
    --darkest: #000;
    --medium: #999;
    --light-text: #999;
    --dark-green: #009900;
    --light-green: #9c3;
    --lighter-green: #ce6;
    --light-background: #f6f6ee;
    --lighter-background: #fcfcfe;
    --medium-background: #e6e6de;
    --trans-background: rgba(0, 0, 0, 0.5);
    --dark-trans-background: rgba(0, 0, 0, 0.75);
    --normal-border: 1px solid var(--light-green);
    --dark-border: 2px solid var(--dark-green);
    --rounded: 0.5rem;
    --small-gap: 0.5rem;
    --medium-gap: 1rem;
    --large-gap: 2rem;
    --front-page-image-width: 664px;
    --body-font: Georgia;
    --menu-font: 'Open Sans', sans-serif;
    --heading-font: 'Open Sans', sans-serif;
    --menu-font-weight: 200;
    --menu-font-size: 90%;
}

html {
    scroll-behavior: smooth;
}

/* TYPOGRAPHY */
body {
    font-family: var(--body-font);
    font-size: var(--base-font-size) !important;
    line-height: calc(1.4 * var(--base-font-size));
}

span.chapter,
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-family: var(--heading-font);
}

h1 {
    margin-bottom: var(--medium-gap);
    font-size: 3em;
    line-height: 1em;
}

h2 {
    font-size: 1.25em;
    transition: all ease-in-out 0.3s;
}

span.chapter {
    font-size: 1.3rem;
    font-weight: bold;
}

span.chapter,
h3 {
    margin-top: var(--large-gap);
}

h3+p {
    margin-top: var(--small-gap);
}

article span.chapter,
article h3 {
    margin: 0;
}

.search-icon,
.sneak-preview .field--title h2 {
    display: none;
}

span.chapter.inline,
h3.inline {
    float: left;
    margin-top: -2px;
    margin-right: var(--small-gap);
}

h3.inline+p {
    margin-top: 0;
}

/* UNCIALS */
ol.uncial {
    list-style: none;
}

ol.uncial li {
    margin: 0 0 0.5rem 0;
    counter-increment: uncial-counter;
    position: relative;
}

ol.uncial li::before,
span.uncial {
    /* float: left; font-family: Georgia; font-size: 60px; line-height: 48px; margin-top: 0; width: 44px; */
    float: left;
    font-family: 'Open Sans', sans-serif;
    font-size: 60px;
    line-height: 48px;
    margin-top: 0;
    width: 44px;
    font-weight: bold;
    color: #004400;
}

span.uncial.sans {
    font-family: Arial, Helvetica, sans-serif;
    color: #004400;
    margin-top: 2px;
}

.uncial.xnarrow,
.uncial.i {
    width: 1.5rem;
}

.uncial,
.uncial.narrow,
.uncial.a,
.uncial.d,
.uncial.b,
.uncial.n,
.uncial.s {
    width: 3.2rem;
}

.uncial.e {
    width: 2.5rem;
}

.uncial.o,
.uncial.medium {
    width: 3rem;
}

.uncial.wide,
.uncial.w {
    width: 3.5rem;
}

.uncial.xwide,
.uncial.m {
    width: 4rem;
}

ol.uncial li::before {
    content: counter(uncial-counter);
    margin-top: -10px;
}

hr {
    border-top: var(--normal-border);
}

/* PICTURE BLOCKS - GFF SPECIAL FILTER */
.picture-table h2 {
    font-size: 1rem;
    font-weight: normal;
    font-family: var(--body-font);
}

.pic-block {
    width: fit-content;
    text-align: center;
}

.magazine-wrapper.center,
.pic-block.center {
    margin: var(--large-gap) auto;
    clear: both;
}

fieldset,
.pic-block,
.magazine-wrapper {
    border: var(--normal-border);
    padding: var(--small-gap);
    padding-bottom: 0;
}

fieldset legend {
    font-weight: bold;
    padding: 0 var(--small-gap);
}

.pic-block td {
    padding: var(--medium-gap);
}

.credit a,
.credit {
    color: var(--light-text);
    font-size: 0.8rem;
    margin: var(--small-gap) 0;
}

.magazine-wrapper .caption {
    margin: 0;
}

.picture-cell h4 {
    margin: 0 auto;
    max-width: 200px;
    font-size: 1rem;
    font-family: var(--body-font);
    font-weight: normal;
}

.picture-cell a {
    height: 1rem;
    display: inline-block;
}

/* STRUCTURE */
#page-wrapper {
    width: var(--base-width);
    margin: 0 auto;
    background-color: white;
}

#block-gff-theme-element .views-element-container {
    background-color: yellow;
}

article.single-comment::after,
.view-mode-full .field--field_articles::after,
.front-page-top-story::after,
.front-page-story-2-5::after,
#footer::after,
#content-before-comments::after,
article .new_box::after,
block-gff-theme-content .views-element-container::after,
#block-gff-theme-content::after {
    content: '';
    display: block;
    clear: both;
}

#main-wrapper.has-sidebar form,
#main-wrapper.has-sidebar #main-content article.view-mode-full .field--body {
    width: 42rem;
}

#block-gff-theme-relatedcontent {
    margin-top: var(--large-gap);
    background-color: var(--medium-background);
    padding: var(--medium-gap);
}

/*
#content-before-comments > div > div,
#main-content > div > div {
    border-top: var(--small-gap) solid var(--dark-green);
    padding-top: var(--medium-gap);
}

#main-content div#block-front-page-article-2-5,
#main-content div#block-gff-theme-content,
#main-content div#block-gff-theme-page-title {
    border: 0;
}
    */

/* LINKS */
a {
    color: var(--darkest);
    text-decoration: none;
    transition: all ease-in-out 0.3s;
    cursor: pointer;
}

a,
li a,
p a {
    box-shadow: inset 0 -2px 0 var(--light-green);
}

.alert a {
    box-shadow: inset 0 -2px 0 orange;
}

.front-page-top-story .views-field-body a,
a.teaser-body-link,
a[name],
h1 a,
h2 a,
h3 a,
h4 a,
a:has(img) {
    text-decoration: none;
    box-shadow: none;
}

a:hover {
    text-decoration: underline !important;
    box-shadow: none;
}

.pager .is-active a,
a.is-active {
    font-weight: 600;
}

/* HEADER */
#block-gff-theme-site-branding .slogan {
    float: right;
    font-size: 130%;
    margin-right: 10px;
    margin-top: 10px;
    letter-spacing: -0.05rem;
    font-weight: bold;
    text-shadow: 0px 0px 4px #000000;
    color: #ffffff;
}

#block-gff-theme-site-branding {
    /*
    background-image: url(../images/01.webp);
    background-size: cover;
    background-position: center center;
    */
}

/* ASSORTED */
.feed-icon {
    display: none;
}

/* MESSAGES, SYSTEM AND TABS */
#content-system .messages__wrapper {
    border: 2px solid var(--dark-green);
    padding: var(--medium-gap);
    /* margin: var(--large-gap) 0; */
}

.primary-tabs ul li {
    display: inline;
    list-style: none;
}

.primary-tabs ul li a.is-active {
    border-bottom: 0;
    background-color: white;
    z-index: -10;
}

.primary-tabs ul li a {
    padding: var(--small-gap) var(--medium-gap);
    border: var(--dark-border);
    border-bottom: 0;
    border-radius: var(--rounded) var(--rounded) 0 0;
    box-shadow: none;
}

.primary-tabs ul li a.is-active {
    font-weight: bold;
    color: var(--dark-green);
}

.primary-tabs ul li a:hover {
    background-color: var(--dark-green);
    color: #fff;
}

.primary-tabs ul {
    border-bottom: var(--dark-border);
    padding: 0;
    padding-bottom: 2px;
    margin: var(--large-gap) 0;
}

div[data-drupal-messages] {
    border: var(--dark-border);
    background-color: var(--light-background);
    padding: 0.5rem;
    margin: 1rem 0;
}

div[data-drupal-messages]:has([aria-label="Warning message"]) {
    background-color: yellow;
}

div[data-drupal-messages]:has([aria-label="Error message"]) {
    /* background-color: peachpuff; */
    border: 2px solid red;
}

.error {
    border: 2px solid red;
}

/* COMMENTS */
section.field--comment,
section#comment-wrapper {
    clear: both;
    text-align: left;
}

.comment-link {
    float: right;
    margin: 0 0 1rem 1rem;
}

.comments-region {
    clear: both;
    margin-top: var(--large-gap) !important;
}

.comments-region h3 br {
    display: none;
}

section.comments-section {
    clear: both;
    margin: var(--large-gap) 0;
}

.links.inline,
form.simplenews-subscriber-validate,
form.simplenews-subscriber-account-form,
form.comment-form,
article.single-comment {
    background-color: var(--light-background);
    margin-bottom: var(--medium-gap);
    padding: var(--small-gap);
}


.links.inline li {
    list-style: none;
}

article.single-comment ul.links.inline li {
    display: inline;
    margin-left: var(--medium-gap);
}

article.single-comment ul.links.inline {
    float: right;
    margin: 0;
    padding: 0;
}

/* Targets the Permalink link */
article.single-comment footer>a:last-child {
    float: right;
    margin-top: -3rem;
}

/* # ids from the url */
:target {
  outline: none;
}

/* FORMS */
form label {
    display: block;
    font-weight: bold;
}

.js-form-required::after {
    content: ' *';
    color: red;
}

textarea,
select,
input[type=email],
input[type=url],
input[type=search],
input[type=password],
input[type=text],
input[type=submit] {
    font-size: 1rem;
    padding: var(--small-gap);
    font-family: var(--body-font);
}

input#edit-submit {
    margin-top: var(--medium-gap);
}

.js-form-type-radio label,
.js-form-type-radio input {
    display: inline;
}

/* TABLES */
table tr td,
table tr th {
    vertical-align: top;
}

table tr td h3:first-child,
table tr th h3:first-child,
table tr td p:first-child,
table tr th p:first-child {
    margin: 0;
    padding: 0;
}

table[border="1"],
table[border="2"] {
    border-collapse: collapse !important;
    margin: 2rem auto 0.5rem auto !important;
    border: var(--normal-border) !important;
}

table[border="1"] tr th,
table[border="1"] tr td,
table[border="2"] tr th,
table[border="2"] tr td {
    padding: var(--small-gap);
}

.gff-standard-table table,
table.gff-standard-table {
    margin-bottom: var(--large-gap);
    width: 100%;
}

.gff-standard-table table tr td,
table.gff-standard-table tr td {
    background-color: var(--light-background);
    padding: var(--small-gap);
}

.gff-standard-table table tr:hover td,
table.gff-standard-table tr:hover td {
    background-color: var(--medium-background);
}

.gff-standard-table table tr td.views-field-created,
table.gff-standard-table tr td.views-field-created {
    width: 120px;
}

.gff-standard-table table tr td.views-field-uid,
table.gff-standard-table tr td.views-field-uid,
.gff-standard-table table tr td.views-field-field-forums,
table.gff-standard-table tr td.views-field-field-forums {
    width: 180px;
}

.gff-standard-table table caption,
table.gff-standard-table caption,
.gff-standard-table table tr th,
table.gff-standard-table tr th {
    text-align: left;
    background-color: var(--medium-background);
    padding: 0 var(--small-gap);
}

.gff-standard-table table caption,
table.gff-standard-table caption {
    font-family: var(--heading-font);
    font-size: 120%;
    font-weight: bold;
}

/* NODES IN GENERAL */
body.node-unpublished #block-gff-theme-page-title h1 {
    background-color: rgb(255, 229, 233);
}

/* PAGES */
body.node-40191 #block-gff-theme-supportblock,
body.node-40191 .field--created, 
body.node-40191 .field--uid, 
body.node-40191 .field--field_author {
    display: none;
}

/* ARTICLES */
.field--field_author {
    margin-bottom: var(--medium-gap);
    display: inline;
}

.field--field_coauthors,
.field--field_coauthors div,
.field--field_author div { 
    display: inline; 
}

.field--field_coauthors {
    margin-left: 1rem;
}

.field--field_forums.node-type--forum,
.field--field_sections,
.field--field_tags {
    border: var(--normal-border);
    padding: var(--small-gap);
    margin: var(--medium-gap) 0;
    height: 2.5rem;
}

.view-mode-full .field--field_sections {
    clear: both;
}

.field--field_sections div,
.field--field_tags div {
    display: inline-block;
    margin-right: var(--medium-gap);
}

.field--created.node-type--article div {
    display: inline;
}

.field--created.created-full.node-type--picture > div:nth-child(2),
.field--created.created-full {
    background-color: var(--light-background);
    float: right;
    text-align: right;
    padding: 0 var(--medium-gap);
    border: var(--normal-border);
    height: 3.5rem;
}

.field--created.created-full .updated {
    color: var(--medium);
}

body.node-type-page .field--created.created-full,
body.node-type-blog .field--created.created-full,
body.node-type-review .field--created.created-full,
body.node-type-article .field--created.created-full {
    margin-top: 16px;
}


body.showing-node .node-type--forum.field--created.created-full {
    margin-top: 0;
}

body.showing-node .node-type--review.field--created.created-full {
    margin-top: 1rem;
}

/* TEASERS */
.view-mode-teaser {
    width: calc((var(--base-width) / 3) - calc(var(--medium-gap) * 2));
    /* text-align: center; */
    background-color: var(--light-background);
    padding: var(--small-gap);
    /* float: left; */
    height: 440px;
    /* margin: 0 var(--small-gap) var(--small-gap) var(--small-gap); */
    overflow: hidden;
}

.view-mode-medium_teaser .field--body,
.view-mode-teaser .teaser-body-link {
    mask-image: linear-gradient(to bottom,
            rgba(0, 0, 0, 1) 50px,
            rgba(0, 0, 0, 0.8) 70px,
            rgba(0, 0, 0, 0.5) 120px,
            rgba(0, 0, 0, 0) 160px);
}

.view-mode-teaser .teaser-body-link {
    text-align: left;
    display: block;
    margin-top: var(--medium-gap);
}

.view-mode-teaser .field--field_cover,
.view-mode-teaser .field--field_cover.node-type--wallpaper,
.view-mode-teaser .no-image,
.view-mode-teaser .field--field_video_url.node-type--video,
.view-mode-teaser .field--field_image {
    background-color: var(--medium-background);
    padding: var(--small-gap);
    width: fit-content;
    margin: 0 auto;
    height: 150px;
    overflow: hidden;
    min-width: 220px;
    text-align: center;
}

.view-mode-teaser .no-image {
    width: 220px;
}

.replacement-image img {
    filter: grayscale();
}

.view-mode-teaser h2 {
    background-color: var(--trans-background);
    padding: var(--small-gap);
    height: 3.5em;
    overflow: hidden;
    text-align: left;
}

.view-mode-teaser h2 a {
    color: white;
    box-shadow: none;
}

.view-mode-teaser .field--body,
.view-mode-teaser .field--field_teaser_intro,
.view-mode-teaser .field--field_teaser_link {
    text-align: left;
}

.view-mode-teaser .field--field_teaser_intro {
    float: left;
    font-weight: bold;
    margin-right: 0.5rem;
    margin-top: 1.1rem;
}

.view-mode-teaser .alert {
    position: absolute;
    width: fit-content;
    margin-top: -10rem;
    rotate: -15deg;
}

/* 3 column teaser pages - used all over the place */
.field--field_articles.node-type--search_result,
.front-page-blog-posts,
.field--field_articles.node-type--article_collection,
.teaser-page,
article.view-mode-full .field--field_articles>div:nth-child(2) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: var(--large-gap);
}

.field--field_articles.node-type--search_result div:nth-child(2) {
    display: block !important;
}


.mini-teaser-page {
    text-align: center;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
    margin-bottom: var(--large-gap);
}

.mini-teaser-page.gallery article, 
.mini-teaser-page .views-row {
    background-color: var(--light-background);
    padding: var(--small-gap);
}

#block-gff-theme-relatedcontent.teaser-page {
    gap: 0.5rem;
}

.teaser-page.top-two {
    gap: 1rem 4rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.teaser-page.top-two p {
    padding: 0;
    margin: 0;
}

.teaser-page.top-two .view-mode-medium_teaser .field--created {
    margin-top: -17.4rem;
    margin-right: 0;
}

/* Don't do this on 2nd div in collections */
article.view-mode-full.content-type-article_collection .field--field_articles>div:nth-child(2) {
    display: block;
}

.two-col.teaser-page {
    width: var(--front-page-image-width);
    grid-template-columns: repeat(2, 1fr);
}

.all-periods-link,
#section-page header,
.themes-page header,
.related-terms,
.views-element-container footer,
nav.pager,
.teaser-page h2,
.teaser-page nav,
.teaser-page header {
    grid-column: 1 / -1;
    /* Spans from the first to the last column */
}

.all-periods-link {
    display: inline-block;
    width: fit-content;
}

.fishing-locations ul,
#block-all-articles-from-section ul {
    columns: 3;
}

/* 2-column medium teaser block (attachment) */
.todays-fly-page,
.medium-teasers {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--medium-gap);
    width: calc(var(--base-width) - var(--medium-gap));
}

.medium-teasers h2 {
    display: none;
}

.medium-teasers article h2 {
    display: block;
    margin: 0.5rem 0;
}

.medium-teasers .field--field_image {
    padding: 0.5rem;
    height: 23rem;
    background-color: var(--medium-background);
}

.medium-teasers .field--field_image img {
    max-width: 472px;
    height: auto;
}

.medium-teasers article {
    background-color: var(--light-background);
    padding: var(--small-gap);
    height: 36rem;
    overflow: hidden;
}

.medium-teasers article p {
    margin: 0.5rem 0 0 0;
}

.field--field_articles .view-mode-teaser .field--created,
.view-mode-medium_teaser .field--created,
.view-mode-teaser .field--created {
    /* position: absolute; */
    float: right;
    background-color: var(--lighter-green);
    margin-top: -11rem;
    margin-right: calc(-1 * var(--small-gap));
    padding: var(--small-gap);
    opacity: 0.85;
    border: 0;
}

.view-mode-full .field--field_articles::after {
    content: '';
    clear: both;
    display: block;
}

.field--field_articles.node-type--article label {
    font-family: var(--heading-font);
    font-size: 1.4rem;
}

.field--field_articles.node-type--article label::after {
    content: '';
}

.view-mode-teaser.content-type-review .field--created {
    margin-top: -17.2rem;
}

.view-mode-medium_teaser .field--created {
    /* position: absolute; */
    margin-top: -24.5rem;
    margin-right: -0.5rem;
}

.author-bio .field--created {
    margin-top: 1rem;
}

.view-mode-teaser .field--field_video_url {
    display: flex;
    align-items: center;
    /* Vertically centers the content */
}

/* PATTERN */
.embedded-pattern {
    border: var(--normal-border);
    padding: var(--small-gap);
    margin-bottom: var(--medium-gap);
}

.field--field_articles.node-type--pattern,
article .new_box {
    border: var(--normal-border);
    padding: var(--small-gap);
}

.field--field_articles.node-type--pattern {
    float: right;
    margin-left: var(--medium-gap);
    margin-bottom: var(--large-gap);
}

label.materials-label {
    font-weight: bold;
    margin-top: var(--small-gap);
    display: block;
}

label.materials-label::after {
    content: ':';
}

table.materials {
    border-collapse: collapse;
    margin: 0 0 var(--medium-gap) 0;
}

table.materials tr td {
    border: var(--normal-border);
    padding: var(--small-gap);
}

table.materials tr td:first-child {
    font-weight: bold;
}

/* REVIEWS */
.view-mode-full.content-type-review fieldset {
    float: right;
    width: 400px;
    padding: var(--medium-gap);
    margin-left: var(--large-gap);
    margin-bottom: var(--large-gap);
}

.field--field_sections.node-type--review {
    clear: both;
}

.field--field_cover.node-type--review {
    float: right;
}

.field--field_book_subtitle {
    font-family: var(--heading-font);
    /* margin-top: calc(-1 * var(--medium-gap)); */
    margin-bottom: var(--medium-gap);
    font-size: 1.25em;
    font-weight: bold;
    font-style: italic;
}

.stars {
    color: gold;
    font-size: 150%;
}

.rest {
    color: #999;
    font-size: 150%;
}

.rating a {
    box-shadow: none;
}

.field--field_book_subtitle+.field--created {
    margin-top: 0 !important;
}

.view-mode-full.content-type-review.short-review.no-sub-title .comment-link {
    margin-top: -2.5rem;
}

.view-mode-full.content-type-review.short-review.no-sub-title .field--created {
    margin-top: 0rem;
}

/* FRONT PAGE */
.is-front-page #block-gff-theme-page-title {
    visibility: hidden;
    height: 0;
}

#content-sidebar {
    position: absolute;
    margin-left: 43rem;
    margin-top: 12.3rem;
}

#content-sidebar .sidebar-divider {
    background-color: var(--medium-background);
    padding: var(--small-gap);
    margin-bottom: var(--large-gap);
}

#content-sidebar .sidebar-divider ul {
    margin: 0;
}


#main-wrapper.has-sidebar #content-sidebar form {
    width: auto;
}

.is-front-page #content-sidebar {
    margin-top: 489px;
}

.is-front-page .more-link {
    margin-top: calc(-1 * var(--small-gap));
    padding: var(--medium-gap);
    background-color: var(--light-background);
    box-shadow: none;
}

.more-link {
    margin-right: 1rem;
}

.front-page-top-story {
    margin-bottom: var(--large-gap);
    border-bottom: 4px solid var(--light-green);
}

.front-page-story-2-5 {
    width: var(--front-page-image-width);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: var(--medium-gap);
}

.front-page-story-6-12 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: var(--medium-gap) 0;
}

.front-page-top-story h2 {
    background-color: var(--dark-trans-background);
    width: fit-content;
    max-width: 100%;
    position: absolute;
    padding: var(--medium-gap);
    margin: 0;
    font-size: 200%;
    line-height: 2.5rem;
}

.front-page-top-story h2 a {
    color: white;
}

.front-page-top-story.title-bottom h2 {
    margin-top: 300px;
}

.front-page-top-story p {
    margin: var(--small-gap) 0;
}

.front-page-top-story .views-field-field-video-url,
.front-page-top-story .views-field-field-image {
    float: left;
    margin-right: var(--medium-gap);
}

.front-page-top-story .views-field-field-article-pictures {
    margin-top: var(--large-gap);
}

.front-page-top-story .views-field-field-teaser-intro {
    float: left;
    font-weight: bold;
    margin-right: var(--small-gap);
}

.front-page-top-story .views-field-created {
    float: right;
    background-color: var(--lighter-green);
    padding: var(--small-gap);
    /* margin-top: calc(-1 * var(--small-gap)); */
    /* margin-right: calc(-1 * var(--small-gap));*/
    margin-left: var(--medium-gap);
    margin-bottom: var(--medium-gap);
}

#block-gff-theme-views-block-frontpage-block-4 {
    margin-top: var(--large-gap);
}

#main-wrapper.has-sidebar #content-sidebar,
.sidebar-block

/* #block-this-week-block,
.front-page-popular-today */
    {
    width: 304px;
    /* float: right; */
    background-color: var(--light-background);
    padding: var(--medium-gap);
    margin-bottom: var(--medium-gap);
}

.sidebar-block h3:first-child {
    margin-top: 0;
}

#block-gff-theme-wallpaperhelp,
#block-gff-theme-supportblock {
    border: var(--normal-border);
    padding: var(--small-gap);
    margin: var(--large-gap) 0;
}

/* PAGERS */
nav[role="navigation"]:has(.js-pager__items),
nav.pager {
    clear: both;
    margin: var(--large-gap) auto;
    text-align: center;
}

nav[role="navigation"]:has(.js-pager__items) ul,
nav.pager ul {
    margin-top: var(--large-gap);
    padding: 0;
}

nav[role="navigation"]:has(.js-pager__items) ul li,
nav.pager ul li {
    list-style: none;
    display: inline-block;
    margin: var(--large-gap) calc(var(--small-gap) / 2);
}

nav[role="navigation"]:has(.js-pager__items) ul li a,
nav.pager ul li a {
    background-color: var(--light-green);
    padding: var(--small-gap) var(--medium-gap);
}


/* FANCY */
/* http://keithclark.co.uk/articles/pure-css-parallax-websites/ */
.fancy-clip {
    background-size: 1200px;
    background-repeat: no-repeat;
    background-attachment: fixed;
    margin-left: -10%;
    width: 120%;
    background-position: center bottom;
    border: 0px solid #000000;
    /* border-radius: 0 10px 0 10px; */
    margin-bottom: 10px;
    padding: 5px;
}

.fancy-clip .overlay {
    color: #ffffff;
}

.overlay.fancy-large {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 120%;
}

.overlay {
    margin-top: -50px;
    margin-bottom: 20px;
    color: #ffffff;
}

.fancy-wrapper {
    text-align: center;
    margin: var(--large-gap) 0;
}


/* VIDEOS */
.view-mode-teaser.content-type-video .play-overlay {
    z-index: 10;
    background-image: url("/themes/custom/gff_theme/images/play.png");
    background-size: 50px 50px;
    background-repeat: no-repeat;
    background-position: 0 60%;
    height: 140px;
    width: 50px;
    position: absolute;
    opacity: 0.8;
    margin-left: 5rem;
}

table.video-subjects tr td:first-child {
    width: 250px;
}

ul.alpha-links {
    background-color: var(--light-green);
}

ul.alpha-links li {
    display: inline;
    list-style: none;
    font-weight: bold;
}

ul.alpha-links li a {
    padding: 0 0.5em;
}

ul.alpha-links li a:hover {
    background-color: var(--darkest);
    color: white;
}

ul.alpha-links li a.is-active {
    background-color: var(--dark-green);
    color: white;
}

#node-video-form {
    background-color: var(--light-background);
    padding: var(--small-gap);
    margin-bottom: var(--large-gap);
}

.node-video-form fieldset,
.node-video-form #edit-title-wrapper,
.node-video-form #edit-field-content--wrapper,
.node-video-form .field--type-text-with-summary,
.node-video-form .field--type-video-embed-field {
    border: var(--normal-border);
    padding: var(--small-gap);
    padding-bottom: var(--large-gap);
    margin-bottom: var(--large-gap);
}

.node-video-form .fieldset-wrapper fieldset {
    margin-top: var(--medium-gap);
    border: 0;
    padding-bottom: 0;
}

.node-video-form .fieldset-wrapper fieldset legend {
    padding: 0;
}

.node-video-form .js-filter-wrapper {
    display: none;
}

.node-video-form textarea {
    width: 95%;
    height: 15rem;
}

#content-sidebar:has(#block-gff-theme-videolanguage) {
    margin-top: 4.3rem;
}

.view-mode-teaser.content-type-video .field--body {
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.view-mode-teaser.content-type-episode .field--field_episode_number,
.view-mode-teaser.content-type-episode .field--field_year {
    float: right;
}

.view-mode-teaser.content-type-episode .field--field_year,
.view-mode-teaser.content-type-episode .field--field_episode_number {
    font-family: var(--heading-font);
    color: var(--dark-green);
}

.view-mode-teaser.content-type-episode .field--field_episode_number {
    margin: 0 var(--medium-gap);
}

.node-type-series_or_show #block-gff-theme-views-block-shows-block-1 {
    margin-top: var(--large-gap);
}

/* .view-mode-full.content-type-review .comment-link, */
body.node-type-video .comment-link {
    margin-top: -3rem;
}

/* EDITOR */
.js-text-format-wrapper a {
    display: none;
}


/* FIELD LABELS */
div:has(label.info-label) {
    margin-top: var(--small-gap);
}

label.info-label {
    font-weight: bold;
}

label.info-label::after {
    content: ': ';
}

.field--field_articles.node-type--fly_of_the_day.label-display-above label {
    font-family: var(--heading-font);
    font-weight: bold;
}

.field--field_articles.node-type--fly_of_the_day label::after {
    content: '';
}

.label-display-inline div:has(label) {
    float: left;
    margin-top: 0;
    margin-right: var(--small-gap);
}

/* TIMELINE */
table.gff-timeline {
    border: var(--normal-border);
    background-color: #fff;
    border-collapse: collapse;
}

table.gff-timeline tr td {
    vertical-align: top;
    ;
    border-top: 1px solid;
    padding: var(--small-gap);
}

table.gff-timeline tr td.timeline-year {
    background-color: var(--light-green);
    padding: var(--small-gap);
}

/* BOXES */
.new_box {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    padding: 10px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.pic-block.left,
.new_box.left {
    float: left;
    margin-right: var(--medium-gap);
    margin-bottom: var(--medium-gap);
}

.pic-block.right,
.new_box.right {
    float: right;
    margin-left: var(--medium-gap);
    margin-bottom: var(--medium-gap);
}

.pic-block.center,
.new_box.center {
    margin: 10px auto 10px auto;
}

/* ARTISTS */
.artist-list-wrapper {
    text-align: center;
    border: var(--normal-border);
}

ul.artist-list li {
    list-style: none;
    border-bottom: 2px solid #cccccc;
    text-align: center;
    border-right: 2px solid #cccccc;
    display: inline-block;
    padding: 0 8px;
    margin: 10px;
}

/* QUOTES */
blockquote {
    margin: 20px 10%;
    text-align: center;
    font-family: var(--heading-font);
    font-size: 120%;
    font-weight: bold;
    font-style: italic;
    color: #669900;
}

blockquote.left {
    text-align: left;
    margin: 20px;
}

blockquote.lefter {
    text-align: left;
    margin-left: 0px;
}

blockquote.small {
    font-size: 100%;
    text-align: left;
    max-width: 50%;
    box-shadow: 3px 2px 5px rgba(0, 0, 0, 0.2);
    padding: 10px;
    margin: 10px;
    background-color: #fff;
}

blockquote.small p {
    margin: 0;
    padding: 0;
}

blockquote.small.left {
    float: left;
}

blockquote.small.right {
    float: right;
}

.quote {
    border: var(--normal-border);
    width: 80%;
    margin: var(--large-gap) auto;
    padding: var(--medium-gap);
    background-color: var(--lighter-green);
}


/* GRAPHS */
table.graph tr td {
    border-right: var(--normal-border);
    border-bottom: var(--normal-border);
    padding: 5px;
}

table.graph tr:hover td {
    background-color: var(--light-background);
}


/* FORUM */
.field--field_attachments.node-type--forum {
    text-align: center;
}

.field--field_attachments.node-type--forum img {
    border: var(--normal-border);
    padding: var(--small-gap);
    margin-bottom: var(--large-gap);
}

.field--field_attachments.node-type--forum:has(img) label {
    display: none;
}


.field--title.node-type--forum {
    overflow: hidden;
}


/* FOOTER */
#footer a {
    text-decoration: underline;
}

#footer,
#header {
    background-color: var(--light-green);
    /* margin-bottom: 10px; */
}

#header {
    /* margin-top: 10px; */
    background-image: url(/sites/default/files/header-images/01.webp);
    background-position: center;
    background-size: cover;
}

#footer.site-footer {
    padding: 10px;
    margin-bottom: 60px;
    clear: both;
    font-family: 'Open Sans', sans-serif;
    font-weight: 200;
    margin-top: var(--large-gap);
}

#footer .footer-column {
    float: left;
    margin-right: 10px;
    border-right: 1px solid var(--dark-green);
    padding: 0 10px;
    width: 30%;
}

#footer .footer-column.last {
    border: 0;
}

#block-system-powered-by {
    clear: both;
}

#footer #block-block-17 {
    text-align: center;
}

#footer .footer-column {
    margin-bottom: 1em;
}

#footer #block-masquerade-masquerade {
    max-width: 400px;
}

/* ALERTS */
.alert {
    width: 80%;
    margin: 10px auto;
    padding: 5px;
    background-color: #ffff9d;
    text-align: center;
    /* border-radius: 0 10px 0 10px; */
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9);
}

.alert.center {
    margin: 10px auto;
    text-align: center;
    display: block;
}

.alert.left {
    text-align: left;
    padding: 10px;
}

#block-gff-theme-loginhelp {
    margin-top: var(--large-gap);
}

/* MENUS */
#superfish-main {
    /* display: none; */
}

#menu-bar {
    position: relative;
    background-color: var(--light-green);
    font-family: var(--heading-font);
    /* padding: var(--small-gap) 0; */
    /* position: sticky; */
    /* top: -1px; */
    z-index: 500;
    /* padding-top: 4px; */
    width: var(--base-width);
    height: 2.2rem;
}

/*
#menu-bar.site-menubar ul {
    padding: 0 0 0 var(--medium-gap);
    margin: 0;
}

#menu-bar.site-menubar ul li {
    display: inline;
    list-style: none;
}
*/

#menu-bar.site-menubar ul li a {
    /* padding: var(--small-gap); */
    /* padding-right: 1.2rem; */
    border: 0;
    box-shadow: none;
}

#menu-bar.site-menubar ul li a:hover {
    background-color: var(--darkest);
    color: white;
}

/* USERNAME MENU */
#menu-bar #block-gff-theme-username {
    background-color: var(--light-green);
    padding: 0 var(--small-gap);
    margin-top: -2rem;
}

#menu-bar #block-gff-theme-username #gff-username-menu {
    background-color: var(--light-green);
    padding: var(--small-gap);
}

/* SUBMENUS */
.gff-sub-menu ul {
    background-color: var(--light-green);
    padding: 0.2rem;
}

.gff-sub-menu ul li {
    display: inline;
    list-style: none;
    font-family: var(--menu-font);
    font-weight: var(--menu-font-weight);
    font-size: var(--menu-font-size);
    padding: 0 0.5rem 0 0;
}

.gff-sub-menu .is-active {
    background-color: #669900;
    color: #ffffff;
    /* padding: 0.2rem 0.5rem; */
}

.gff-sub-menu a {
    break-inside: avoid;
    display: inline-block;
    padding: 5px;
}

.form-itemgff-sub-menu a {
    display: inline;
}

.gff-sub-menu a:hover {
    background-color: var(--darkest);
    color: white;
}

/* SUPERFISH */
ul#superfish-main {
    padding-left: 1rem;
}

ul#superfish-main a:hover {
    background-color: var(--darkest);
    color: white;
}

ul#superfish-main ul {
    background-color: var(--light-green);
    padding: 0.5rem;
    margin-top: -0.5rem;
}

ul.sf-menu .sf-sub-indicator {
    right: auto;
    opacity: 0.3;
}

ul.sf-menu .sf-with-ul {
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
    /* margin-right: 0.5rem;*/
}

ul.sf-menu a {
    padding: 0.5rem;
}

ul.sf-menu ul li a {
    padding: 0.5rem !important;
}

ul.sf-menu .sf-sub-indicator:after {
    font-size: 90%;
    margin-top: 2px;
}

/* BREADCRUMB */
#block-gff-theme-breadcrumbs ol {
    padding: 0;
    margin: 0 0 var(--large-gap) 0;
}

#block-gff-theme-breadcrumbs ol li {
    display: inline;
    list-style: none;
}

#block-gff-theme-breadcrumbs ol li:after {
    content: '▸';
}

#block-gff-theme-breadcrumbs ol li:last-child::after {
    content: '';
}

/* REEL SEATS */
table.reels {
    width: 100%;
}

table.reels tr th {
    cursor: pointer;
}

table.reels tr th.right-align,
table.reels tr td.right-align {
    text-align: right;
}

table.reels tr td.long {
    background-color: #db9633;
}

table.reels tr td.short {
    background-color: #db9633;
}

table.reels tr td.right-on {
    background-color: #9da054;
}

table.reels tr td .arrow {
    color: #990000;
    margin-left: 0.5em;
}

table.reels tr td.right-on .arrow {
    color: #009900;
}

table.reels tr td.short .arrow {
    color: #000099;
}

table.reels.legend {
    width: 200px;
}

/* BLOGS */

.blog-archive table caption {
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    color: #004400;
    font-size: 120%;
    background-color: #eeeeee;
    padding: 2px;
}

.blog-archive table thead {
    background-color: #eeeeee;
}

.blog-archive table tr th.views-field-created {
    width: 100px;
}

.blog-archive table tr th.views-field-field-author,
.blog-archive table tr th.views-field-title {
    width: 200px;
}

.blog-archive table tr td {
    border-top: 1px solid #cccccc;
}

#block-frontpage-blog-posts {
    margin: var(--large-gap) 0;
    background-color: var(--medium-background);
    padding: var(--small-gap);
}

/* SECTIONS */
.themes-page,
#section-page {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.section h2.section-name, .section h3.section-subheading {
    padding: 0;
    margin: 0;
}

#section-page .section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

#by_originator .all-link,
#by_originator .more-link,
#section-page .section .more-link,
#section-page .section .section-heading {
    grid-column: 1 / -1;
}

#by_originator .all-link {
    text-align: right;
}

.all-link {
    float: right;
}

#section-page .section .more-link {
    text-align: right;
}

#section-page .section article {
    width: 93%;
    margin: 0;
}

#section-page .section article .field--field_image {
    min-width: 0;
}

#section-page .section article img {
    max-width: 194px;
    height: auto;
}

.themes-page h2,
.section h2.section-name {
    font-size: 200%;
    margin-bottom: var(--small-gap);
}

.section .section-heading {
    height: 110px;
    background-color: var(--medium-background);
    padding: var(--small-gap);
}

.section {
    background-color: #eee;
    padding: 1em;
    height: 630px;
}

.section .view-mode-teaser {
    float: none;
}

.section .more-link {
    float: right;
}

.section article {
    margin: 1rem auto;
}

.section-breaker {
    clear: both;
}

.section .field a:link {
    text-decoration: none;
    border-bottom: 0;
    box-shadow: none;
}

.section .field-name-field-image {
    float: right;
    margin: 0 0 1em 1em;
}

.section .more-link {
    clear: both;
}

.more-link {
    float: right;
}

/* THEMES */
.themes-page .views-row {
    text-align: center;
    background-color: var(--medium-background);
    padding: 10px;
    margin-bottom: 10px;
}

/* NEWSLETTERS */
.field--body.node-type--simplenews_issue {
    font-size: 120% !important;
    background-color: var(--light-background);
    border: var(--normal-border);
    padding: var(--medium-gap);
}

.field--body.node-type--simplenews_issue table {
    background-color: white;
    border: 10px solid white;
}

.field--body.node-type--simplenews_issue p:first-child {
    display: none;
}

.simplenews-subscriber-form input[type=email] {
    width: 15rem;
}

.simplenews-subscriber-form .js-form-type-checkbox label,
.simplenews-subscriber-form .js-form-type-checkbox input {
    display: inline;
}

.simplenews-subscriber-form legend {
    font-family: var(--heading-font);
    font-size: 1.25rem;
    padding: 0;
}

/* PODCASTS */
.field--field_podcast_file.node-type--podcast audio {
    width: 100%;
}

.field--field_podcast_pictures.node-type--podcast {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.field--field_podcast_pictures.node-type--podcast article {
    text-align: center;
    background-color: var(--light-background);
    padding: var(--small-gap);
}

/* KEYWORDS */
.view-keywords ul {
    column-count: 5;
}

.view-keywords ul li a {
    text-shadow: none;
    box-shadow: none;
}

table.popular-tags h2 {
    font-family: var(--body-font);
    font-size: var(--base-font-size);
    font-weight: normal;
    float: left;
    text-align: left;
    max-width: 75%;
}

table.popular-tags article {
    text-align: right;
}

table.popular-tags tr td:first-child {
    font-weight: bold;
}

/* LETTERS */
.letter {
    background-color: #fcfccc;
    font-family: courier;
    padding: 1em 3em;
    font-size: 95%;
    margin: 1em;
    line-height: 1.2em;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
}

/* FULL WIDTH */
.full-width-front {
    margin: var(--large-gap) 0;
}

fieldset.full-width-text {
    background: rgba(0, 0, 0, 0.65);
    padding: var(--medium-gap);
    color: #ffffff;
    position: absolute;
    width: calc(var(--base-width) - 2px - calc(2 * var(--medium-gap)));
    margin-left: 0;
    border-color: #666;
}

fieldset.full-width-text p {
    margin: 0;
}

fieldset.full-width-text a {
    color: white;
}

fieldset.full-width-text a:hover {
    background-color: transparent;
}

/* SEARCH FORMS AND RESULTS */
#gff-boxes-waynes-search-table strong,
.search-content strong,
.marked {
    background-color: var(--lighter-green);
}

form.search-form .form-checkboxes {
    column-count: 3;
}

form.search-form .form-checkboxes label {
    display: inline;
}

#block-gff-theme-searchform {
    float: right;
    margin-top: -4rem;
    margin-right: 0.5rem;
}

#gff-leadercalc-search-form div,
#search-block-form div {
    display: inline;
}

#gff-leadercalc-search-form ul li {
    margin-bottom: var(--large-gap);
}

.search-help-link {
    display: none;
}

#search-form {
    margin-bottom: var(--large-gap);
}

/* TODAY'S FLY */
.todays-fly-page .views-row {
    text-align: center;
}

#edit-account,
#edit-user-picture-wrapper {
    border: var(--normal-border);
    padding: var(--medium-gap);
    margin-bottom: var(--large-gap);
}

form fieldset {
    margin: var(--large-gap) 0;
}

form fieldset fieldset {
    border: 0;
}

/* CRIBS */
#block-tying-cribs-block {
    background-color: var(--light-background);
    margin-bottom: var(--large-gap);
    padding: var(--small-gap);
}

#block-tying-cribs-block>div>div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

#block-tying-cribs-block .views-row {
    background-color: var(--light-background);
    text-align: center;
}

#block-tying-cribs-block .views-row .views-field-field-image {
    background-color: var(--medium-background);
    height: 200px;
    overflow: hidden;
    padding: var(--small-gap);
}

/* TIPS */
.tips-for-a-better-life {
    text-align: center;
}

.tips-for-a-better-life .views-row {
    background-color: var(--light-background);
    margin-bottom: var(--large-gap);
    padding: var(--small-gap);
}

/*
.tips-for-a-better-life .views-row ::after {
    content: '';
    display: block;
    clear: both;
}
*/

.tips-for-a-better-life .views-row img {
    zoom: 98%;
}

.tips-for-a-better-life h2 {
    margin-top: -6rem;
    margin-left: 6rem;
    position: absolute;
}

.tips-for-a-better-life h2 a {
    color: white;
    text-shadow: 0 0 4px #000000;
}

.view-mode-full.content-type-tip,
.field--body.node-type--tip {
    background-color: var(--light-background);
}

.field--body.node-type--tip {
    padding: var(--medium-gap);
    font-family: var(--heading-font);
    font-size: 1.5rem;
    font-weight: bold;
}

#gff-boxes-waynes-search-table tr td:nth-child(2) {
    font-family: var(--heading-font);
    font-weight: bold;
}

/* STAFF, SITEMAP */

.sitemap-item {
    background-color: var(--light-background);
    padding: var(--small-gap);
}

.early-blog,
.sitemap-item ul,
.author-list {
    columns: 3;
}

.sitemap-item--menu-main ul ul {
    columns: 1;
    width: 30rem;
    margin-bottom: 2rem;
}

.sitemap-item--menu-main div>ul>li {
    display: inline-block;
}

/* WALLPAPERS */
.mini-teasers {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--medium-gap);
}

.mini-teasers h4 {
    background-color: var(--darkest);
    padding: var(--small-gap);
    opacity: 0.8;
    height: 5rem;
    margin-top: -1rem;
    overflow: hidden;
}

.mini-teasers h4 a {
    color: white;
}

.mini-teasers .views-row {
    background-color: var(--light-background);
    text-align: center;
    padding: var(--small-gap);
}

.mini-teasers .field--field_image,
.mini-teasers .field--field_cover {
    background-color: var(--medium-background);
    padding: var(--small-gap);
    height: 80px;
}

/* PICTURE NODES */
body.node-type-picture #block-gff-theme-page-title,
.view-mode-full.content-type-picture {
    text-align: center;
}

.used-in-wrapper ul,
.view-mode-full.content-type-picture .field--body p {
    margin: 0;
}

.field--field_credit,
.view-mode-full.content-type-picture .field--field_credit {
    font-style: italic;
    color: var(--medium);
}

.field--field_credit.node-type--tip {
    text-align: center;
}

.used-in-wrapper {
    text-align: left;
    border: var(--normal-border);
    padding: var(--medium-gap);
    margin-top: var(--large-gap);
}

ul.authors-articles li {
    margin-right: var(--medium-gap);
}

ul.authors-articles {
    columns: 3;
}

.streamer365-image a {
    display: block;
}

table.streamers365-table {
    table-layout: fixed;
    width: 100%;
    text-align: center;
}

#toolbar-bar a {
    box-shadow: none;
}

/* PICTURES */
.field--created.node-type--picture {
    width: 100%;
    float: none;
    margin-bottom: var(--medium-gap);
}

.field--created.created-full.node-type--picture {
    border: 0;
    background-color: transparent;
}

.field--created.created-full.node-type--picture > div {
    margin: var(--medium-gap) var(--medium-gap) var(--medium-gap) 0;
}

.prev-next-links-wrapper {
    clear: both;
    width: 100%;
    height: 2.5rem;
    margin-bottom: 1rem;
}

#prev_link {
    float: left;
    margin: 0.5rem;
}

#next_link {
    float: right;
    margin: 0.5rem;
}

.super-promoted {
    position: absolute;
    background-color: var(--darkest);
    color: white;
    padding: var(--small-gap);
    font-family: var(--heading-font);
    font-weight: bold;
    opacity: 0.8;
    margin-top: 25rem;
}