:root {
    --primarycolor: #799B00;
    --linkcolor: #516800;
    --linkhovercolor: #799B00;
}

/* Redefine Theme Styles */

.bg-info { background-color: #516800!important; }

.alert-info { --bs-alert-bg: #ABff68!important; }

.bg-warning { background-color: #CE8300!important; }

.alert-warning { --bs-alert-bg: #FFC868!important; --bs-alert-color: #222; }

.bg-secondary, .btn-secondary { background-color: #F7F7F7!important; }

.btn-secondary { border-color: #F7F7F7!important; }

.btn-secondary:hover { background-color: #E7E7E7!important; }

.text-secondary { color: #F7F7F7!important; }

/* General Styles */

a, .btn-link { text-decoration: none; }

a { color: var(--linkcolor); font-weight: 600; }

a:hover { color: var(--linkhovercolor); }

body { font-family: 'Open Sans', sans-serif; font-weight: 400; }

h1, .h1 { font-size: 1.6rem; font-weight: 700; font-family: 'Open Sans', sans-serif;}

h2, .h2 { font-size: 1.3rem; font-weight: 600; font-family: 'Open Sans', sans-serif;}

h3, .h3 { font-size: 1.2rem; font-weight: 600;font-family: 'Open Sans', sans-serif; }

h4, .h4 { font-size: 1.1rem; font-weight: 600;font-family: 'Open Sans', sans-serif; }

h5, .h5 { font-size: 1.0rem; font-weight: 600;font-family: 'Open Sans', sans-serif; }

p, ol, ul { font-size: 1rem; }

@media screen and (min-width: 992px) /* LG */ {
    h1, .h1 { font-size: 1.8rem; }

    h2, .h2 { font-size: 1.5rem; }

    h3, .h3 { font-size: 1.25rem; }

    h4, .h4 { font-size: 1.2rem; }

    h5, .h5 { font-size: 1.1rem; }
    
    p, ol, ul { font-size: 1.09375rem; }
    
    p.lead { font-size: 1.2rem; }
}

/* Main Navigation Menu */

.btn-toggle-search { font-size: 1rem; font-weight: bold; padding: 0.25rem 0.5rem; min-height: 30px; min-width: 30px; }

.navbar-light .navbar-toggler { color: black; font-size: 1rem; font-weight: bold; padding: 0.4rem 0.5rem; min-height: 35px; min-width: 35px;  }

nav#mainmenu .navbar-brand img { height: 50px; }

@media screen and (min-width: 768px) /* MD */ {
}

@media screen and (min-width: 992px) /* LG */ {
    nav#mainmenu .navbar-brand img { height: 70px; padding-top: 0; }
}

nav#mainmenu { border-style: none; padding: 0; }

nav#mainmenu ul { width: 100%; }

nav#mainmenu ul.nav-main {
    font-size: 1.3rem;
    margin-top: 0.5rem;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) /* MD */ {
    nav#mainmenu ul.nav-main { font-size: 1.15rem; }
}

@media screen and (min-width: 992px) /* LG */ {
    nav#mainmenu ul.nav-main { font-size: 1.3rem; margin-top: 1.4rem; }
}

nav#mainmenu ul.nav-main .nav-item { margin-right: 0.5rem; }

nav#mainmenu ul.nav-main a.nav-link {
    color: var(--linkcolor);
    font-weight: bold;
    padding: 0 0.4rem;
}

nav#mainmenu ul.nav-main li:last-child .nav-link { padding-right: 0; }

nav#mainmenu ul.nav-main .active .nav-link, nav#mainmenu ul.nav-main .nav-link:hover {
    color: var(--linkhovercolor);
}

nav#mainmenu ul.nav-utility { text-transform: none; }

nav#mainmenu ul.nav-utility a.nav-link {
    color: var(--linkcolor);
    font-size: 1.25rem;
    font-weight: bold;
    padding: 0 0.4rem;
}

@media screen and (min-width: 768px) /* MD */ {
    nav#mainmenu ul.nav-utility a.nav-link { font-size: 0.85rem; }
}

@media screen and (min-width: 992px) /* LG */ {
    nav#mainmenu ul.nav-utility a.nav-link { font-size: 1rem; }
    nav#mainmenu ul.nav-main { font-size: 1.2rem; margin-top: 1.4rem; }
}

@media screen and (min-width: 1200px) /* XL */ {
    nav#mainmenu ul.nav-main { font-size: 1.3rem; margin-top: 1.5rem; }
    .btn-toggle-search { font-size: 1.1rem; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    nav#mainmenu ul.nav-main { font-size: 1.4rem; }
    .btn-toggle-search { font-size: 1.2rem; }
}

nav#mainmenu ul.nav-utility .nav-link:hover { color: var(--linkhovercolor); }

nav#mainmenu ul.nav-utility .btn-sm { margin-left: 0.5rem; }

@media (max-width: 767px) {
    
    nav#mainmenu ul.nav-main { text-transform: none; }
    nav#mainmenu ul.nav-main .nav-item, nav#mainmenu ul.nav-main .nav-item i.fas { margin-right: 0; }
    .navbar-nav.nav-utility a.nav-link { padding: 0 0.4rem; }
    .navbar-collapse {
        position: absolute;
        top: 68.375px;
        right: 100%;
        padding: 0 0.75rem 1rem 0.75rem;
        width: 100%;
        transition: all 0.3s ease;
        display: block;
        background-color: #FFF1CE;
        text-align: left;
        z-index: 100;
    }
    .navbar-collapse.collapsing {
        height: auto !important;
        margin-right: 50%;
        transition: all 0.3s ease;
        display: block;
    }
    .navbar-collapse.show { right: 0; }
}

/* Home Page Panels */

.homepage-panel { padding: 1.5rem 1rem; }

.homepage-panel .card-link { font-size: 1.1rem; }

@media screen and (min-width: 576px) /* SM */ {
    .homepage-panel .card-link { font-size: 1rem; }
}

@media screen and (min-width: 992px) /* LG */ {
    .homepage-panel .card-link { font-size: 1.2rem; }
}

@media screen and (min-width: 1200px) /* XL */ {
     .homepage-panel .card-link { font-size: 1.4rem; }
}

.homepage-panel .card:hover img { opacity: 0.7; }

.homepage-panel .card { border: none; }

.homepage-panel .card img { border: #EEE solid thin; border-radius: 1rem; }

.homepage-panel .card .card-footer {
    border: none;
    padding-left: 0;
    padding-right: 0;
}

/* Home Page Welcome Panel */

#welcome-wrapper:has(+ .promotions) { background-color: white; }

#welcome-wrapper:has(+ .churches) { background-color: #F4F4F4; }

#welcome { background-color: var(--primarycolor); padding: 2.5rem 1rem; }

#welcome .card-photo {
    clip-path: circle(50% at 50% 50%);
    max-height: 100px;
    max-width: 100px;
}

#welcome h1, #welcome .h1 {
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 1.6rem;
    text-transform: none;
}

#welcome .photo { clip-path: circle(50% at 50% 50%); width: 300px; }

#welcome .btn-primary {
    --bs-btn-color:#444;
    --bs-btn-bg:#FFF1CE;
    --bs-btn-border-color:#DDD;
    --bs-btn-hover-color:#222;
    --bs-btn-hover-bg:#FFFECE;
    --bs-btn-hover-border-color:#CCC;
    --bs-btn-active-color:#222;
    --bs-btn-active-bg:#FFFECE;
    font-weight: 600;
}

@media screen and (min-width: 576px) /* SM */ {
    #welcome h1, #welcome .h1 { font-size: 1.1rem; line-height: 1.6rem; }
    #welcome .card-photo { max-height: 75px; max-width: 75px; }
}

@media screen and (min-width: 768px) /* MD */ {
    #welcome { clip-path: ellipse(90% 100% at center top); }
    #welcome h1, #welcome .h1 { font-size: 1.3rem; line-height: 1.85rem; }
}

@media screen and (min-width: 992px) /* LG */ {
    #welcome { clip-path: ellipse(85% 100% at center top); }
    #welcome h1, #welcome .h1 { font-size: 1.5rem; line-height: 2.1rem; }
    #welcome .photo { width: 240px; }
    #welcome .card-photo { max-height: 100px; max-width: 100px; }
    #welcome .btn, .homepage-panel .btn { font-size: 1rem; width: 9rem; }
}

@media screen and (min-width: 1200px) /* XL */ {
    #welcome { clip-path: ellipse(80% 100% at center top); }
    #welcome h1, #welcome .h1 { font-size: 1.7rem; line-height: 2.3rem; }
    #welcome .photo { width: 300px; }
    #welcome .card-photo { max-height: 125px; max-width: 125px; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    #welcome { clip-path: ellipse(75% 100% at center top); }
}

/* Home Page Headline */

.widget-headline { padding: 1.5rem 0; }

.widget-headline .container { --bs-gutter-x: 0; }

@media screen and (min-width: 576px) /* SM */ {
    .widget-headline { padding: 1.5rem 1rem; }
    .widget-headline .container { --bs-gutter-x: 1.5rem; }
}

.widget-headline img:hover { opacity: 0.9; }

/* Home Page Promotions Panel */

.homepage-panel .container { --bs-gutter-x: 0; }

.homepage-panel.promotions { padding: 1.5rem 0 0.5rem 0; }

.promotions .card {
    background-color: #FFF;
    border-radius: 0;
    overflow: hidden;
    padding: 0 0 0.25rem 0;
}

.promotions .card-body { line-height: 1.2; padding-top: 0.5rem; }

.promotions .card img { border: none; border-radius: 0; object-fit: contain; }

@media screen and (min-width: 576px) /* SM */ {
    .homepage-panel .container { --bs-gutter-x: 1.5rem; }
    .homepage-panel.promotions { padding: 1.5rem 0 0.5rem 0; }
    .promotions .card { padding: 0.25rem 1rem; width: 255px; }
    .promotions .card img { aspect-ratio: 3/2; }
}

@media screen and (min-width: 768px) /* MD */ {
    .promotions .card { width: 345px; }
}

@media screen and (min-width: 992px) /* LG */ {
    .promotions .card { width: 310px; }
}

@media screen and (min-width: 1200px) /* XL */ {
    .promotions .card { width: 360px; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    .promotions .card { width: 320px; }
}

/* Home Page Churches Panel */

.church .card .card-link { font-size: 1.1rem; }

.church .card img { clip-path: circle(50% at 50% 50%); }

@media screen and (min-width: 576px) /* SM */ {
    .church .card { width: 150px; }
}

@media screen and (min-width: 768px) /* MD */ {
    .church .card { width: 190px; }
}

@media screen and (min-width: 992px) /* LG */ {
    .church .card { width: 130px; }
}

@media screen and (min-width: 1200px) /* XL */ {
    .church .card { width: 160px; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    .church .card { width: 190px; }
}

/* Home Page Feature Panel */

.feature .card img { border-radius: 5rem; }

.feature .card-img-top { max-width: 600px; }

@media screen and (min-width: 576px) /* SM */ {
    .feature .card { width: 600px; }
}

@media screen and (min-width: 768px) /* MD */ {
    .feature .card { width: 320px; }
}

@media screen and (min-width: 992px) /* LG */ {
    .feature .card { width: 430px; }
}

@media screen and (min-width: 1200px) /* XL */ {
    .feature .card { width: 510px; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    .feature .card { width: 450px; }
}

/* Home Page Latest Panel */

.latest .date {
    color: #888;
    font-size: 90%;
    font-weight: bold;
    text-transform: uppercase;
}

.latest .title {
    color: var(--bs-link-color);
    font-size: 1.2rem;
}

.latest .location, .latest .author {
    color: #444;
}

.latest .prefix { color: #888; font-size: 90%; }

#latest-pew-sheet .widget:hover { opacity: 0.7; }

#latest-pew-sheet img { max-width: 150px; max-height: 150px; }

#next-service, #latest-post { width: 100%; }

@media screen and (min-width: 768px) {
    #next-service, #latest-post { max-width: 500px; }
    #latest-pew-sheet { max-width: 220px; }
}

@media screen and (min-width: 992px) {
    #next-service, #latest-post { width: 47%; max-width: 500px; max-width: 100%; }
    #latest-pew-sheet { width: 25%;  max-width: 100%;}
    .latest .title { font-size: 1.25rem; }
    .homepage-panel .latest .btn {
        font-size: 1rem;
    }
}

@media screen and (min-width: 1200px) {
    #next-service, #latest-post { width: 37%; }
    #latest-pew-sheet { width: 21%; }
}

@media screen and (min-width: 1400px) {
    #next-service, #latest-post { width: 38%; }
    #latest-pew-sheet { width: 19%; }
}

/* Home Page Life Events Panel */

.life-event .card { width: 300px; }

.life-event .card .card-link { font-size: 1.1rem; }

.life-event .card img { clip-path: circle(50% at 50% 50%); }

.life-event .card-footer { background-color: #FFF; }

@media screen and (min-width: 576px) /* SM */ {
    .life-event .card { width: 150px; }
}

@media screen and (min-width: 768px) /* MD */ {
    .life-event .card { width: 190px; }
}

@media screen and (min-width: 992px) /* LG */ {
    .life-event .card { width: 260px; }
}

@media screen and (min-width: 1200px) /* XL */ {
    .life-event .card { width: 300px; }
}

@media screen and (min-width: 1400px) /* XXL */ {
    .life-event .card { width: 300px; }
}

/* Main Header */

#main-header {
    background-color: var(--primarycolor);
    padding: 2.5rem 0;
}

@media screen and (min-width: 768px) /* MD */ {
    #main-header { clip-path: ellipse(90% 100% at center top); }
}

@media screen and (min-width: 992px) /* LG */ {
    #main-header { clip-path: ellipse(85% 100% at center top); }
}

@media screen and (min-width: 1200px) /* XL */ {
    #main-header { clip-path: ellipse(80% 100% at center top); }
}

@media screen and (min-width: 1400px) /* XXL */ {
    #main-header { clip-path: ellipse(75% 100% at center top); }
}

#main-header p { font-size: 1.1rem; }

#main-header img { width: 335px; }

.critical-error #main-header {
    background-color: inherit;
    min-height: 0;
}

#main-header h1 { color: white; }

h1 { margin-bottom: 1.5rem; }

h1 .page-subtitle {
    color: #CCC;
    display: inline-block;
    font-size: 50%;
    margin-top: 0.5rem;
}

@media screen and (min-width: 768px) /* LG */ {
    #main-body { min-height: 300px; }
}

/* Lists */

.list-noindent { list-style-position: inside; padding-left: 0; }

.list-standard { list-style: square; padding-left: 1.2rem; }

.list-standard.row { padding-left: 2.2rem; }

.list-standard > li { padding: 0.15rem 0; }

.list-numbered { padding-left: 1.2rem; }

.list-packed > li { padding: 0.05rem 0; }

.list-secondary { list-style: lower-roman; padding-top: 0.25rem; }

.list-contact { margin-bottom: 0.5rem; padding: 0; }

.list-contact:last-of-type { margin-bottom: 0; }

/* Miscellaneous */

.card-id-card {
    background-color: inherit;
    border: none;
    min-width: 0;
}

@media screen and (min-width: 310px) /* CUSTOM */ {
    .card-id-card { min-width: 200px; }
}

@media screen and (min-width: 576px) /* SM */ {
    .card-id-card { width: 200px; }
}

@media screen and (min-width: 768px) /* MD */ {
    .card-id-card { margin: 0 1rem; }
}

.ministry-team .list-contact {
    margin-left: 0;
    text-align: center;
}

.ministry-team .photo-id { width: 100%; }

@media screen and (min-width: 576px) /* SM */ {
    .ministry-team .photo-id { width: 48%; }
}

@media screen and (min-width: 992px) /* LG */ {
    .ministry-team .photo-id { width: 32%; }
}

@media screen and (min-width: 1200px) /* XL */ {
    .ministry-team .photo-id { width: 23%; }
}

.ministry-team .photo-id img {
    display: block;
    margin: 0 auto 0.5rem auto;
}

.card-photo, .photo-id img {
    border-radius: 50%;
    height: 150px;
    width: 150px;
    object-fit: cover;
}

.group-heading { text-transform: uppercase; }

#page-size { width: 5rem; }

.bg-home, .church .card, .church .card-footer {
    background-color: #F4F4F4;
}

.text-standout { font-weight: 600; }

@media screen and (min-width:768px) /* MD */ {
    .w-md-25 {
        float: right;
        height: auto;
        margin: 0 0 1rem;
        width: 25%;
    }
}

/* Footnote */

.footnote ul.list-links li { padding: 0.25rem 0; }

.footnote .h4 { text-transform: none; }

p.footnote { font-size: 0.875rem; }

@media screen and (min-width: 1200px) /* XL */ {
    p.footnote { font-size: 1rem; }
}

/* Accordion */

.accordion {
    --bs-accordion-border-radius: 0rem !important;
    --bs-accordion-inner-border-radius: 0rem !important;
}

.accordion-item {
    border-bottom: 1px dotted var(--bs-secondary) !important;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid var(--bs-secondary) !important;
    border-radius: 0rem;
    margin-bottom: 0.5rem;
}

.accordion-header:hover img { opacity: 0.7; }

.accordion-button {
    border-top-left-radius: 0rem;
    border-top-right-radius: 0rem;
}

.accordion-button, .accordion-button:not(.collapsed) {
    background-color: #FFF1CE;
    padding: 0.75rem 0.5rem;
}

.accordion-button h2 { font-size: 1.3rem; }

.accordion-button h3 { font-size: 1rem; }

.accordion-button .title { color: var(--linkcolor); font-weight: 700; margin-bottom: 0; }

@media screen and (min-width: 576px) /* SM */ {
    .accordion-button, .accordion-button:not(.collapsed) {
        padding: 0.75rem 1.25rem;
    }
}

@media screen and (min-width: 992px) /* LG */ {
    .accordion-button h2, .accordion-button:not(.collapsed) { font-size: 1.5rem; }
    .accordion-button h3 { font-size: 1.1rem; }
}

.accordion-button:focus { box-shadow: none; }

.accordion-button:hover { background-color: #FFFECE; color: var(--linkhovercolor); }

.accordion-body  { padding: 0.75rem 0.5rem; }

.accordion-body *:last-child { margin-bottom: 0; }

@media screen and (min-width: 576px) /* SM */ {
    .accordion-body { padding: 0.75rem 1.25rem; }
}

.accordion-footer { background-color: #F7F7F7; padding: 1.25rem; }

/* Font Awesome */

.fa-ul { margin-left: 1.75rem; }

i.fab, i.fas { margin-right: 0.15rem; }

i.fas.fa-external-link-square-alt { margin-left: 0.25rem; margin-right: 0; }

/* Calendar Bar */

#calendar-control { margin-bottom: 1.5rem; }

#calendar-control .btn { border-radius: 0.375rem!important; padding: 0.25rem 0.5rem; }

#calendar-control .period {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
}

@media screen and (min-width: 576px) /* SM */ {
    #calendar-control .btn { padding: 0.5rem 1rem; }
    #calendar-control .period { font-size: 1.2rem; }
}
@media screen and (min-width: 768px) /* MD */ {
    #calendar-control .period { font-size: 1.4rem; }
}
@media screen and (min-width: 992px) /* LG */ {
    #calendar-control .period { font-size: 1.6rem; }
}
.super .btn { margin-bottom: 0.6rem; }

.calendar-control { margin-bottom: 0.5rem; }

.calendar-bar { margin-top: 5px; }

.calendar-bar .bg-dark, .calendar-bar .btn-dark {
    background-color: #00799B!important;
}

.calendar-bar .btn-dark { border: none; }

.calendar-bar .btn-dark:hover { opacity: 70%; }

.calendar-bar div {
    font-size: 90%;
    margin-bottom: 5px;
    padding: 0.1em 0.25em;
}

.calendar-bar .period {
    display: inline-block;
    font-size: 1rem;
    min-width: 10rem;
    text-transform: uppercase;
}

@media screen and (min-width: 576px) /* SM */ {
    .calendar-bar .period { font-size: 1.2rem; min-width: 16.5rem; }
}

@media screen and (min-width: 768px) /* MD */ {
    .calendar-bar div { font-size: 150%; }
}

.options-bar .nav>li>a { background-color: white; padding: 0px 10px; }

.options-bar .nav>li>a:hover:not(.active) { background-color: #F7F7F9; }

/* Calendar Event Panel */

.calendar-day + .calendar-day { margin-top: 2rem; }

.calendar-day .event section, .calendar-day .event figure { overflow: hidden; }

@media screen and (max-width: 767px) /* MD */ {
    .calendar-day .event section img { float: none!important; }
}

.calendar-day .event section img { margin: 0.5rem 0.5rem 0 0.5rem; }

.event .accordion-header .time, .event .accordion-header .location {
    flex: 0 0 50px;
    font-size: 1rem;
    font-weight: normal;
}

.event .accordion-header h2 {
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.event-section + .event-section { margin-top: 1rem; }

.event-section .h3 {
    color: #666;
    font-size: 90%;
    font-weight: bold;
    text-transform: uppercase;
}

.event .mce-content ul, .event .mce-content ol { padding-left: 1.25rem; }

/* Blog Panel */

.blog .flex-fixed-width { flex: 0 0 3rem; }

.blog .btn { margin-bottom: 0.35rem; text-transform: none; }

.blog .btn-sm { margin-bottom: 0.1rem; }

.blog .accordion-header h2, .blog .accordion-header ul { margin-bottom: 0; }

.blog .accordion-body ul, .blog .accordion-body ol {
    overflow: hidden;
    padding-left: 1.2em;
}

.blog .card-photo { border-radius: 50%; width: 3rem; height: 3rem; object-fit: cover; }

#main-body .blog .blog-info { font-size: 0.875rem; }

.accordion-footer ul { font-size: 0.875rem; }

@media screen and  (min-width: 1200px) /* XL */ {
    #main-body .blog .blog-info { font-size: 1rem; }
    .accordion-footer ul { font-size: 1rem; }
}

.blog+footer { font-size: 100%; margin-left: 0.5rem ; margin-right: 0.5rem; }

@media screen and (min-width: 576px) /* SM */ {
    .blog+footer { margin-left: 0 ; margin-right: 0; }
}

/* Figure support in TinyMCE Editor */

.mce-content-body, .mce-content-body figure { overflow: hidden; }

figure.image { display: inline-block; margin: 0.5rem; }

@media screen and (max-width: 767px) /* MD */ {
    figure.image, .blog img { float: none!important; }
}

figure.align-left { float: left; }

figure.align-right { float: right; }

figure.image.align-center {
    display: table;
    margin-left: auto;
    margin-right: auto;
}

figure.image img { margin: 8px 8px 0 8px; }

figure.image figcaption { margin: 6px 8px 6px 8px; text-align: center; }

/* Alerts */

.alert { margin-bottom: 1rem; padding: 0; }

.alert a.btn { text-decoration: none; }

.alert p { margin-bottom: 5px; margin-left: 50px; margin-top: 5px; }

.alert.alert-dismissible { padding-right: 4em; }

.alert > div { padding: 1rem; }

.alert .alert-icon .fas { font-size: 200%; }

.alert .alert-description p { margin-left: 0; margin-top: 0; }

.alert .alert-description p:last-child { margin-bottom: 0; }

/* Forms */

.form-regular {
    background-color: #FDFFEE;
    margin-bottom: 1rem;
    padding: 1.5rem;
    width: 100%;
}

.form-regular .form-group:last-child {
    margin-bottom: 0;
    margin-top: 0.5rem;
}

.form-label { font-weight: 700; margin-bottom: 0.25rem; }

.hint { color: #666; }

.required { color: red; padding-right: 0.25em; }

input.fullname, input[type=email], input[type=tel] { width: 100%; }

@media screen and (min-width: 768px) /* MD */ {
    input[type=date], input[type=time], input[type=tel] { width: 12rem; }
    
    input[type=file], textarea.form-control { width: 100%; }
    
    input.fullname, textarea.address, input[type=email], input[type=password],
    input[type=tel], select.form-control {
        width: 24rem;
    }

    .form-regular { display: inline-block; }
}

/* About Us Page */

.church-group .card { border: none; }

.church-group .card-header { background-color: #F0F0F0; border: none; }

.church-group .card-body { background-color: var(--bs-card-cap-bg); }

.church-group .church .list-contact { margin-bottom: 1rem; }

.church figure { max-width: 100%; }

@media screen and (min-width: 768px) /* MD */ {
    .church figure { max-width: 50%; }
}

.church .map { height: 300px; width: 100%; max-width: 650px; }

@media screen and (min-width: 576px) /* SM */ {
    .church .map { height: 400px; }
}

@media screen and (min-width: 768px) /* MD */ {
    .church .map { height: 500px; }
}

@media screen and (min-width: 992px) {
    .church-group .card { width: 48.5%; }
}

.gallery-item { cursor: pointer; }

/* Safeguarding Page */

.safeguarding-group .list-contact { width: 100%; }

@media screen and (min-width: 768px) /* MD */ {
    .safeguarding-group .list-contact { width: 45%; }
}

/* Useful Links Page */

@media screen and  (min-width: 768px) /* MD */ {
    .card-columns.useful-links {
        column-count: 2!important;
    }
}

.useful-links li { padding: 0.5rem 0; }

@media screen and  (min-width: 576px) /* SM */ {
    .card-columns.useful-links {
        column-count: 1!important;
    }
}

/* Sheets */

.sheet-editions h2 { margin-bottom: 15px; }

.sheet-edition { padding-bottom: 15px; }

.sheet-edition .figure { border: 4px #D6D6D6 solid; margin-bottom: 5px; }

.sheet-edition .figure:hover { border: 4px #A6A6A6 solid; }

.sheet-edition .figure { margin-bottom: 0; }

.top-75 { top: 75%!important; }

/* Site Footer */

.bg-footer { background-color: #E4E4E4; }

footer #subscribe { padding: 1.5rem 0; }

footer #subscribe .h4 { font-size: 115%; font-weight: bold; }

@media screen and (min-width: 768px) /* MD */ {
    footer #subscribe .h4 { font-size: 130%; }
}

footer #subscribe form { width: 25rem; }

body > footer .site-footer { background-color: #516800; padding: 2rem 0; }

body > footer .h5 { color: #FFF; font-size: 0.9rem; text-transform: uppercase; }

body > footer small, body > footer .small { color: #DDD; }

body > footer ul li { padding-bottom: 0.25rem; }

body > footer a { color: #A1CE00; font-size: 0.9rem; }

body > footer a:hover { color: var(--linkhovercolor); }

body > footer .fa-btn:hover .fa-circle { color: var(--linkhovercolor); }

body > footer #cross { padding: 30px; }

body > footer #copyright { font-size: 1rem; }

@media screen and (min-width: 768px) /* LG */ {
    body > footer .site-footer { clip-path: ellipse(90% 100% at center bottom); }
}

@media screen and (min-width: 992px) /* LG */ {
    body > footer .site-footer { clip-path: ellipse(85% 100% at center bottom); }
    body > footer #contact { padding-top: 28px; }
}

@media screen and (min-width: 1200px) /* XL */ {
    body > footer .site-footer { clip-path: ellipse(80% 100% at center bottom); }
}

@media screen and (min-width: 1400px) /* XXL */ {
    body > footer .site-footer { clip-path: ellipse(75% 100% at center bottom); }
}

@media screen and  (min-width: 576px) /* SM */ {
    .w-sm-auto {
        width: auto!important;
    }
}

/* Search Results */

#search-results .card {
    background-color: #FFF1CE;
    border-bottom: 1px dotted var(--bs-secondary) !important;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid var(--bs-secondary) !important;
    border-radius: 0rem;
}

#search-results .card-title { color: var(--linkcolor); font-weight: 700; }

#search-results .card:hover { background-color: #FFFECE; }

#search-results .card:hover .card-title { color: var(--linkhovercolor); }

#wrapper { padding-top: 3rem; padding-bottom: 1.5rem; }

@media screen and (min-width: 576px) /* SM */ {
    #wrapper.bg-content { padding-top: 0; padding-bottom: 0; }
}

