/*
Theme Name:     Apostle
Description:    Child theme for the twentysixteen theme
Author:         Birdhive Development & Design
Author URI:     https://birdhive.com
Template:       twentysixteen
Version:        2.050224.2216
*/

/*
COLORS
---------------
#7e9ebf -- background blue (lighter than 6785ac -- not currenly in use(?) )
#007acc -- medium blue (old site? -- not currently in use)
#7E98B9 -- medium/light blue (from old site -- not currently in use);
#374b66 -- dark blue (extracted from old site header graphic -- not currently in use)

twentysixteen (parent) colors:
#d1d1d1 -- light grey
#21759b -- teal
*/

:root {

    /* Font Family */
    --global--font-primary: var(--font-headings, -apple-system, "Open Sans", Helvetica, Arial, sans-serif);
    --global--font-secondary: var(--font-base, -apple-system, Merriweather, Georgia, 'EB Garamond', serif);
    --global--font-tertiary: var(--font-base, -apple-system, Montserrat, "Helvetica Neue", sans-serif);

    /* Colors */
    --white:    #ffffff;
    --grey:        #736F69; /* very close to #ccc */
    --ltgrey:    #E3E2E1; /* replaces eeeeee, efefef, f0f0f0, &c. */
    --mdltgrey:    #aba9a5;
    --mdgrey:    #96918d;
    --mddkgrey:    #66625f; /* replaces 515151, 555(555) (which are somewhat darker), &c. -- cooler version: #686868 -- medium grey */
    --charcoal:    #333333; /* replaces ??, &c. */

    --red:        #990000;
    --mdred:    #E71105; /* bright and ugly! */
    --dkred:    #760000; /* underutilized, very similar to red */
    --orange:    orange;

    --yellow:    #FFFF33;
    --lemon:    #FFFF66;
    --green:    #42A406;
    --dkgreen:    #4d6600; /* olive-ish? army green? */

    /* Pastels -- for CP labels */
    --minty:    #d9f2d9;
    --glacier:    #ccf5ff;

    /* rgb(72, 98, 132) Hex: #486284 */
    --dustyblue: #6785ac; /* medium blue (extracted from old site header graphic) */
    --paledustyblue: #9DB1CA; /* rgb(157, 177, 202) */

    --wcpurple: #a46497; /* WooCommerce purple */

}

/* Begin general site styles */

html, body {
    margin: 0;
    padding: 0;
    border: 0;
    overflow-x: hidden; /* important to stop bounce effect on tablets */
    overflow-y: auto;
}

html {
    font-size: 85%; /* In most browsers, 100% defaults to 16 pixels > 85% = 13.6px ~ more or less match old site with fixed default font-size: 13px; */
}

body {
    /*background: var(--mddkgrey);*/
    background: var(--white);
    color: var(--charcoal);
    font-size: 1rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
}

/*** Scrollbar ***/

/* width */
::-webkit-scrollbar {
    width: 0.5rem;
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--ltgrey);
    opacity: 0.5;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--mdgrey);
    border-radius: 0.9rem;
    opacity: 0.5;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--grey);
    border-radius: 0.9rem;
    opacity: 0.5;
}

/* Deal w/ overlap issues between stick header & jump links */

/* Ultimately, this is the correct place for scroll-padding */
html {
    scroll-padding-top: 300px; /* height of sticky header */
}
/* This works in Chrome 73, but NOT FOR LONG. */
body {
    scroll-padding-top: 300px; /* height of sticky header */
}

.sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
}

.sticky + .site-inner {
    padding-top: 104px;
}

/*** MISC ***/

p {
    margin: 0 0 1rem 0;
}

p:empty {
    display: none;
}

p.spacer {
    display: block;
    padding:0;
    margin:0;
    line-height:0.7rem;
}

.grouping p.spacer {
    line-height: 0.5rem;
}

ul, ol {
    margin: 0.5rem 0 1.5rem 1.25rem;
    padding: 0;
}

ol li {
    list-style-position: inside;
}

.entry-content ol li {
    line-height: 1.5;
}

div.cta {
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 2rem 1rem 2rem;
    background-color: var(--ltgrey);
    margin: 0 0 1.5rem 0rem;
    border-radius: 9px;
}

.narrow,
.special-notice p {
    width: 75%;
    margin: 0 auto 1rem auto;
}

.indent {
    padding-left: 40px;
}

.cta h2,
.has-post-thumbnail .entry-content .cta h2:first-child {
    margin-top: 0;
}

/* Troubleshooting styles moved to plugin */
/* TODO: move merge styles also? */

.nb,
.merged_val {
    font-weight: 800;
}

.merged_val {
    color: var(--green);
}

.tbx {
    font-style: italic;
    font-weight: 300;
    color: var(--orange);
}

.green {
    color: var(--green);
}

.orange {
    color: var(--orange);
}

pre {
    text-align: left;
}

/*.warning {
    color:#720378;
}*/

.inline {
    display: inline-block;
}

::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.entry-summary,
body:not(.search-results) .entry-summary {
    font-size: 1rem;
}

/*--------------------------------------------------------------
# Titles and Subtitles
--------------------------------------------------------------*/

.with-subtitle,
.banner-header h1.entry-title.with-subtitle,
.flex-box h3.with-subtitle {
    margin-bottom: 0.3rem;
}

.subtitle {
    margin: 0.3rem 0 0.7rem 0;
    font-style: italic;
}

.with-series-title .subtitle {
    background-color: var(--ltgrey);
    padding: 0.5rem;
    font-size: 1.2rem;
    border: 1px solid var(--ltgrey);
    border-radius: 5px;
}

/* for archive listings */
h4.subtitle,
.entry-content h4.subtitle {
    font-weight: normal;
    margin-top: 0;
}

.stc_em_events .series-title.subtitle {
    display: block;
}

/*--------------------------------------------------------------
# People
--------------------------------------------------------------*/
.person-title {
    font-style: italic;
}

/*--------------------------------------------------------------
# Sermons
--------------------------------------------------------------*/
.sermon-title {
    font-style: italic;
    margin-top: 1rem;
}

.entry-title.sermon-title {
    font-size: 2rem;
}
.entry-title.sermon-title.with-subtitle {
    margin-bottom: 0.5rem;
}

.subtitle.sermon-title {
    margin-bottom: 1.5rem;
    margin-top: 0;
}

/*--------------------------------------------------------------
# Things Biblical
--------------------------------------------------------------*/

.citations {
    width: fit-content;
    margin-top: 0.7rem;
    font-style: italic;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 0.5rem;
}

/*--------------------------------------------------------------
# Hyperlinks
--------------------------------------------------------------*/

a, a:link, a:visited {
    /*color: var(--mdred);*/
    text-decoration: none;
}

/** Undo the blue (from parent theme: twentysixteen) **/

a {
    border-bottom: 1px solid var(--mdred);
    transition: color .3s ease-in-out;
    color: inherit;
}

a:hover:not(.button),
a:focus,
a:active,
a.subtle:hover
/*****/
.social-navigation a:hover:before,
.social-navigation a:focus:before,
.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title,
.widget_calendar tbody a,
.tagcloud a:hover,
.tagcloud a:focus,
.site-branding .site-title a:hover,
.site-branding .site-title a:focus,
.entry-title a:hover,
.entry-title a:focus,
.entry-footer a:hover,
.entry-footer a:focus,
.required,
.conflict {
    color: var(--mdred);
}

.site-info a:hover,
.site-info a:focus {
    color: var(--white);
}

.pagination .prev:hover,
.pagination .prev:focus,
.pagination .next:hover,
.pagination .next:focus,
.page-links a:hover,
.page-links a:focus {
    background-color: purple;
}

.site-main a {
    width: fit-content;
}

body:not(.search-results):not(.post-type-archive-sermon) header a,
.site-header a,
footer a,
#affiliations a,
a.button,
a.page-numbers,
a.calendar-day,
a.em-calnav,
a.subtle,
a.symbol,
a.post-thumbnail,
ul.event-categories li a,
#secondary li a,
.dashicons-before a,
.nav-links a,
.flex-img a {
    border: none;
}

a.subtle, a.subtle:link, a.subtle:visited {
    color: inherit;
}

.admin-view a.subtle, .admin-view a.subtle:link, .admin-view a.subtle:visited {
    color: var(--dkred);
}

.entry-content a,
.entry-summary a,
.taxonomy-description a,
.comment-content a,
.pingback .comment-body > a,
.textwidget a,
.entry-footer a:hover,
.site-info a:hover {
    box-shadow: none;
}


.media_list a,
.entry-content .media_list a {
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: normal;
}

/** Headers **/

h1 {
    font-family: var(--global--font-primary);
    font-weight: 300;
    font-size: 2.5rem;
}

h2,
.entry-content h2 {
    margin-top: 2rem;
    margin-bottom: 0.7rem;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--charcoal);
    line-height: 1.1;
    font-family: inherit;
}

/* todo: standardize size/weight/family? */
.fullwidth.centered .entry-content h2 {
    font-family: 'EB Garamond', serif;
    font-size: 2.3rem;
    line-height: normal;
}

.has-post-thumbnail .entry-content h2:first-child {
    margin-top: 1.5rem;
}

h3,
.entry-content h3,
.entry-summary h3 {
    font-size: 1.2rem;
    font-weight: 500;
    margin: 1rem 0;
}

.entry-content h3 {
    font-weight: 600;
}

.fullwidth.centered .entry-content h3,
.flex-box h3 {
    font-style: italic;
    font-weight: 500;
}

/* TODO: move this to a more appropriate place near other misc generic styles? */
.no-bottom-margin,
h3.no-bottom-margin {
    margin-bottom: 0;
}

.entry-content h3:first-child {
    margin-top: 1rem;
}

h4,
.entry-content h4 {
    font-size: 1.1rem;
    font-weight: 500;
    text-transform: none;
    font-style: italic;
}

h4.inline {
    margin: 0.3rem 0;
}

h5,
.entry-content h5 {
    font-size: 1rem;
    font-weight: normal;
    text-decoration: underline;
}

h6,
.entry-content h6 {
    font-size: 1rem;
    font-style: italic;
}

.entry-header {
    margin: 0;
    padding-top: 1rem;
}

.archive .entry-header,
.archive .entry-footer,
.blog .entry-header {
    display: flow-root;
    width: fit-content;
}

/* TODO: SASS > simply inherit from main h1 */
.page-title,
h1.entry-title {
    font-family: var(--global--font-primary);
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.banner-header h1.entry-title {
    margin: 2rem 0 3.75rem 0;
}

.fullwidth.centered h1.entry-title {
    font-family: 'EB Garamond', serif;
    font-weight: 300;
    font-size: 2.8rem;
    line-height: normal;
}

h1.entry-title,
h2.entry-title,
h3.entry-title {
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
}

.jumplink,
.jumplink:active,
.jumplink:focus {
    /*padding-top: 2rem;*/
    border: none;
    outline: none;
}

.pagenav {
    font-weight: bold;
}

/*** POST IMAGES ***/

.site-inner img,
.site-inner .featured_image_caption,
.site-inner .wp-caption-text {
    opacity: 0; /* to enable zoom-fade without hiccup on first load */
}

.post-thumbnail {
    margin: 0;
}

.post-thumbnail.float-left {
    margin-right: 1.5rem;
    max-height: 250px;
}

.entry-content img,
.post-thumbnail img,
.gallery-icon img,
.em_event_single img,
.archive-image img {
    border-radius: 9px;
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
}

figure.has-caption img,
.post-thumbnail.has-caption img,
.em_event_single .has-caption img,
.archive-image.has-caption img {
    border-radius: 9px 9px 0 0;
    -moz-border-radius: 9px 9px 0 0;
    -webkit-border-radius: 9px 9px 0 0;
}

img.box-shadow {
    box-shadow: 0 0 5px 1px rgba(0,0,0,.5);
    -webkit-box-shadow: 0 0 5px 1px rgba(0,0,0,.5);
    -moz-box-shadow: 0 0 5px 1px rgba(0,0,0,.5);
    max-width: 98%;
    margin: auto;
}

.archive-image {
    margin-bottom: 1.5rem;
}

/*** THICKBOX ***/

#TB_window {
    width: 90%;
    padding: 1rem;
}

.pop-up-contents h2 {
    margin: 1rem 0 1.5rem 0;
}

/*** LAYOUT ***/

#wrapper,
.site {
    height: inherit;
    width: inherit;
    margin: 0;
    padding: 0;
    background-color: var(--white);;
    background-image: none;
}

.site-content {
    margin: 0 auto;
    padding-top: 1.5rem;
    background-color: var(--white);
    overflow: hidden;
}

/** Content area and sidebar padding match when sidebar appears below content (mobile/tablet) **/
.content-area {
    padding: 0 1rem;
}

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

.custom-page-background .content-area {
    background-image: linear-gradient(to top right,
        rgba(255,255,255,1),
        rgba(255,255,255,0.9) 70%,
        rgba(255,255,255,0.8) 80%,
        rgba(255,255,255,0.7) 85%,
        rgba(255,255,255,0.6) 88%,
        rgba(255,255,255,0.5) 90%,
        rgba(255,255,255,0.4) 92%,
        rgba(255,255,255,0.3) 95%,
        rgba(255,255,255,0.2) 97%,
        rgba(255,255,255,0.1) 98%);
}

.site-inner,
.site-content {
    max-width: 1350px;
    border: none;
}

.devmode .site-inner,
.devmode .site-content {
    max-width: 2500px;
}

.devsite .site-inner {
    border: 0 5px 5px 5px solid red;
}

.site-main {
    margin-bottom: 1.5rem;
}
/* The following appears to apply to WooCommerce product pages only. Not sure why it comes into play at all */
.twentysixteen .site-main {
    margin-right: 0;
    margin-left: 0;
}

.entry-content,
.entry-footer,
.entry-summary {
    float: none;
    margin: 0;
    width: 100%;
}

/* Parent Theme Overrides */

body:not(.search-results) article:not(.type-page) .entry-content,
body:not(.search-results) article:not(.type-page) .entry-footer,
body.no-sidebar .entry-content,
body.no-sidebar .entry-summary,
body.no-sidebar .entry-footer,
body.no-sidebar article:not(.type-page) .entry-content,
body.no-sidebar article:not(.type-page) .entry-summary,
body.no-sidebar article:not(.type-page) .entry-footer,
body.no-sidebar:not(.search-results) article:not(.type-page) .entry-content,
body.no-sidebar:not(.search-results) article:not(.type-page) .entry-summary,
body.no-sidebar:not(.search-results) article:not(.type-page) .entry-footer {
    float: none;
    margin: 0;
    width: 100%;
}

/** Replace twentysixteen Genericons with Font Awesome ***/
/*
.menu-item-has-children a:after,
.social-navigation a:before,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.comment-reply-title small a:before,
.pagination .prev:before,
.pagination .next:before,
.pagination .nav-links:before,
.pagination .nav-links:after,
.search-submit:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-size: 1.5rem;
    font-weight: bold;
}

.pagination .next:before {
    content: "\f061";
}

.pagination .nav-links:after {
    content: "\f060";
}
*/

/*.archive .entry-content,*/
.devsite.archive .entry-content,
.devsite.blog .entry-content,
body.devsite.archive article .entry-content,
body.devsite.archive article:not(.type-page) .entry-content {
    display: flow-root;
    width: auto;
}

.devsite.archive article {
    clear: both;
}

.wide-margins .entry-content {
    padding: 0 1rem 1rem 1rem;
}

.page-header {
    margin: 0;
    border-top: none;
}

body.error404 .page-header, body.search-no-results .page-header {
    padding-top: 1.75em;
}

.banner-header {
    text-align: center;
    padding: 1rem 0;
}

.entry-summary {
    margin-bottom: 0;
}

/**
No Sidebar/Full Width page
**/

/*** HEADER ***/

#masthead {
    z-index: 10;
    width: 100%;
    position: relative;
    margin: 0;
    background-color: transparent;
    background-image: none;
    padding: 0;
    box-shadow: 0 13px 20px 3px rgba(0,0,0,.4);
}

.site-header-main {
    background-color: var(--mddkgrey);
    background-image: linear-gradient(var(--mddkgrey), #938f8b);
    box-shadow: none;
}

#site-header-menu {
    width: 100%;
    margin: 0 0 1.5rem 0;
    text-align: left;
    display: block;
    box-shadow: 0 7px 10px rgba(0,0,0,.4);
}

.site-header-main,
.wp-custom-logo .site-header-main {
    max-width: none;
    margin: 0 auto;
    -webkit-align-items: normal;
    align-items: normal;
}

#letterhead-logo {
    width: 75%;
    margin: 0 auto;
    max-width: 300px;
}

.header-call-to-action {
    margin: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: rgba(0,0,0,.1);
    border: 1px solid var(--ltgrey);
    border-radius: 2rem;
    -moz-border-radius: 2rem;
    -webkit-border-radius: 2rem;
    font-family: var(--global--font-tertiary);
    font-weight: 400;
    font-size: 1rem;
    text-align: center;
}

.header-call-to-action a {
    color: var(--white);
}

.header-call-to-action a:hover {
    color: var(--ltgrey);
}

.header-call-to-action a span.button-text {
    display: none;
}

.header-call-to-action a:after {
    content: "Give to Saint Thomas";
}

.desktop, .tablet {
    display: none; /* This hides the content on mobile devices -- see media queries below which restore it for larger screens */
}

.mobile .mega-hide-on-mobile {
    display: none;
}

.not-mobile .mega-hide-on-desktop {
    display: none;
}

.site-branding {
    display: none; /* This hides the logo on mobile devices -- see media queries below which restore it for all larger screens */
}

.scroll {
    max-height: 12rem;
    overflow: auto;
}

.search-form {
    padding-left: 40px;
}

/*** FOOTER ***/

.site-footer,
.site-info {
    font-size: 0.75rem;
}

.site-footer .site-title,
.site-title,
.copyright,
.site-info .copyright a {
    font-size: 0.65rem;
}

.site-footer,
.site-info {
    width: 100%;
    margin: 0 auto;
    height: auto;
    display: block;
    background-color: var(--mddkgrey);
    text-align: center;
    color: var(--ltgrey);
    font-family: var(--global--font-primary);
}

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

.site-info {
    padding: 0;
    display: grid;
    grid-gap: 0;
    grid-template-columns: 1fr;
    justify-content: space-between;
    align-content: start;
}

.site-info a {
    color: var(--ltgrey);
}

.site-info a:hover {
    color: var(--white);
}

nav .site-footer .main-navigation,
.site-footer .main-navigation {
    margin: 0 auto;
    text-align: center;
    height: inherit;
}

#footer-nav-container {
    text-align: center;
}

.site-footer .site-title,
.site-title,
.copyright,
.copyright a {
    var(--ltgrey)var(--mdltgrey);
}

.copyright a:hover {
    color: var(--mdltgrey);
    text-decoration: underline;
}

.site-footer .main-navigation {
    text-align: center;
}

.footer-navigation ul li:before,
.footer-navigation ul li:before {
    content: '\00007C\0000A0';
    padding: 0.5rem;
    color: var(--ltgrey);
    font-size: 0.8rem;
}
.footer-navigation ul li:first-child:before,
.footer-navigation .children li:before {
    content: "";
    display: none;
    padding: 0.5rem;
}

.site-footer .site-title:after {
    content: none;
}

#menu-footer-nav {
    margin: 0 auto;
    text-align: center;
}

#affiliations {
    margin: 0 0.5rem 0 0.5rem;
    padding: 0.5rem 0 0.5rem 0;
    text-align: center;
    background-color: var(--ltgrey);
    border: 1px solid transparent;
    display: block;
    border-radius: 9px 9px 0 0;
    -moz-border-radius: 9px 9px 0 0;
    -webkit-border-radius: 9px 9px 0 0;
}

.affiliation {
    display: none;
    position: relative;
    height: 60px;
    padding: 20px 10px 20px 5px;
    font-family: var(--global--font-primary);
    font-size: 0.9rem; /* 14px */
    line-height: 1.1rem; /* 20px */
    color: var(--grey);
}

a.affiliation {
    color: var(--grey);
}

a.affiliation:hover {
    color: var(--charcoal);
}

.site-title {
    display: block;
    padding: 0.3rem;
}

/*** NAVIGATION ***/

/* Menu icons */
/*.my-account:before {
    font-family: "dashicons";
    content: "\f110";
    font-size: 1.8rem;
    vertical-align: middle;
}*/

/* General Menu styles */


/* MTRH */
.main-navigation {
    margin: 0 auto;
    max-width: none;
    padding: 0;
}

#site-navigation {
    position: relative;
    z-index: 10;
}

#site-navigation.sticky {
    position: fixed;
}

.main-navigation a {
    line-height: normal;
    padding: 0.85rem 0;
}

.main-navigation ul li.widget_media_image a {
    width: inherit;
    padding: 0;
}

/*** MEGA MENUS ***/
/* see css/stc-megamenus.css */

#secondary-header-nav {
    position: relative;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    text-align: right;
    font-family: var(--global--font-tertiary);
    font-weight: semibold;
    font-size: 0.8rem;
}

.social-navigation ul {
    margin: 0.5rem;
}

.secondary-navigation > li,
.secondary-header-menu > li,
.site-footer .main-navigation > li
.footer-navigation > li,
.footer-menu > li,
.social-navigation li {
    display: inline;
    list-style: none;
    float: none;
    white-space: nowrap;
}

.secondary-navigation > li,
.secondary-header-menu > li {
    padding: 0.5rem;
}

.social-navigation a {
    display: inline;
    padding: 7px;
    border: none;
    color: var(--dustyblue);
}

.social-navigation a:before {
    font-family: "dashicons";
    /*font-family: "Font Awesome 5 Free";*/
    font-size: 2rem;
    color: var(--dustyblue);
    background-color: rgba(255,255,255,.5);
    border-radius: 50%;
    height: 2.5rem;
    width: 2.5rem;
    vertical-align: middle;
    text-align: center;
    padding: 0.1rem;
}

.social-navigation a[href*="facebook.com"]:before {
    font-family: "dashicons";
    content: "\f304";
    /*content: "\f09a";*/
    color: #3b5998;
}

.social-navigation a[href*="twitter.com"]:before {
    font-family: "dashicons";
    content: "\f301";
    /*content: "\f099";*/
    font-size: 2rem;
    color: #55acee;
}

.social-navigation a[href*="youtube.com"]:before {
    font-family: "dashicons";
    content: "\f19b";
    /*content: "\f167";*/
    font-size: 2rem;
    color: rgb(255, 0, 0);
}

/*** WIDGETS ***/

.widget {
    background: #E5E2E2;
    border-radius: 9px;
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
    padding: 1rem;
    border-top: 0;
    margin: 0 0 1.2rem 0;
    font-size: 0.85rem;
}

.sidebar .widget {
    padding: 0;
    border: 1px solid var(--ltgrey);
}

.sidebar .widget_media_image {
    border: none;
}

.widget .widget-title {
    margin: 0 0 0.7rem 0;
    text-transform: capitalize;
}

.widget-title,
.widget h2 {
    margin: 0;
    padding: 0.5rem;
    background: #D3CFCE;
    color: #524B48;
    text-align: center;
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-size: 1.1rem;
    line-height: 2rem;
       -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    border-radius: 10px 10px 0 0;
    -moz-border-radius: 10px 10px 0 0;
    -webkit-border-radius: 10px 10px 0 0;
}

.widget h3 {
    padding-left: 0.5rem;
    font-weight: normal;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.widget .textwidget h3,
.widget .custom-html-widget h3 {
    padding-left: 1rem;
    font-weight: normal;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.widget p,
.widget form {
    padding: 0 1rem 0 1rem;
    margin: 0;
}

.widget p {
    margin-bottom: 1rem;
}

.menu_label {
    padding-right: 0.5rem;
    width: 25%;
    display: inline-block;
}

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

.widget .sermon_filters select {
    width: 75%;
}

.widget ul:not(.quicklinks):not(.em_events) {
    padding: 0 .4rem .4rem .4rem;
    margin: 0;
}

.sidebar .widget ul:not(.quicklinks):not(.em_events) li ,
.sidebar .textwidget ul:not(.quicklinks):not(.em_events) li,
.widget-area .widget ul:not(.quicklinks):not(.em_events) li,
li.quicklink {
    list-style: none;
}

.sidebar .widget ul:not(.quicklinks):not(.em_events) li a,
.widget-area .widget ul:not(.quicklinks):not(.em_events) li a {
    display: block;
    padding: 0.5rem 0.5rem 0.5rem 25px;
    background: #F2F2F2 url('graphics/list-arrow.gif') 0 1px no-repeat;
    margin-bottom: 0.2rem;
}

.widget ul li:first-child a {
    border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0;
    -webkit-border-radius: 4px 4px 0 0;
}

.widget ul li:last-child a {
    border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    -webkit-border-radius: 0 0 4px 4px;
}

select {
    margin-bottom: 0.3rem;
}

/*** MISC ***/

blockquote {
    border-left: 4px solid #1a1a1a;
    color: #686868;
    font-size: 1rem;
    font-style: italic;
    margin-bottom: 28px;
    overflow: hidden;
    padding: 0 0 0 24px;
}

blockquote img {
    margin-bottom: 1rem;
}

.entry-content blockquote:not(.alignleft):not(.alignright),
.entry-summary blockquote,
.comment-content blockquote {
    margin-left: 0;
}

.testimonial,
div.testimonial {
    background-color: #f1e9de;
    text-align: center;
    padding: 1.5rem;
    color: #435f63;
    border-radius: 9px;
    margin-bottom: 1rem;
}

div.testimonial blockquote {
    background-color: inherit;
    font-style: normal;
    color: #435f63;
}

div.testimonial blockquote:before,
div.testimonial blockquote:after {
    display: block;
    font-size: 60px;
    position: relative;
    color: var(--white);
    height: 0;
}

div.testimonial blockquote:before {
    padding-left: 10px;
    content: "\201C";
    left: -130px;
    top: -20px;
}

div.testimonial blockquote:after {
    content: "\201D";
    right: -110px;
    bottom: 20px;
}

div.testimonial span.attribution {
    text-transform: uppercase;
    font-size: 0.7rem;
    color: #435f63;
}

br.clear {
    clear: both;
    height: 0px;
}

.zeromargin {
    margin: 0;
}

.clear {
    clear: both;
    min-height: 1px;
}

.widget .clear {
    padding: 0 1rem;
    margin-bottom: 0.5rem;
}

.widget .clear img.alignleft {
    margin-bottom: 0.2rem;
}

.notice {
    font-weight: bold;
    color: var(--dustyblue);
}

/*** Video Embed ***/

div.hero {
    margin: -22px auto 0;
}

div.hero.youtube-responsive-container {
    margin-top: -1px;
}

.video-container {
    display: block;
    width: 100%;
    height: calc(var(--vh,1vh) * 100);
    min-height: 400px;
    overflow: hidden;
    position: relative;
}

.hero.video-container {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
}

/* hide "hero" vids for queenbee to prevent seasickness */
.stcdev .hero.vidfile.video-container {
    display: none;
}

video.hero-video {
    width: 100%;
    height: inherit;
    max-width: none;
    max-height: none;
    object-fit: cover;
    margin-top: -10px;
    margin-bottom: -32px;
}

/*** YouTube ***/
.youtube-responsive-container {
    height: auto;
}

.youtube-responsive-container::after {
    display: block;
    content: "";
    padding-top: 56.25%;
}

.youtube-responsive-container iframe,
.youtube-responsive-container object,
.youtube-responsive-container embed {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:94%;
    max-width: none;
}

/*****/

.scalloped,
.mission {
    text-align: center;
    font-style: italic;
}

.scalloped:before,
.scalloped:after {
    display: block;
    text-align: center;
    margin: 1rem;
}

.scalloped:before {
    content: url('graphics/scallop-up.png');
}
.scalloped:after {
    content: url('graphics/scallop-down.png');
}

.clearFix:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
}

.content-area .fullwidth,
.fullwidth {
    float: none;
    margin: 0;
    width: 100%;
}

.centered {
    text-align: center;
}

.centered p.centered {
    max-width: 900px;
    margin: 1rem auto;
}

.centered .widget {
    text-align: left;
}

.entry-content ul {
    margin-left: 1.25rem;
    list-style-type: square;
    color: var(--mdgrey);
}

.entry-content ul li,
.entry-content ol li{
    color: var(--charcoal);
    padding-bottom: 0.5rem;
}

.archive .entry-footer .tags-links,
.archive .entry-footer .cat-links {
    display: none;
}

.moretag {
    display: block;
    font-style: italic;
}

/* Override the parent theme styles -- match the EM "Find Events" button */
/* Styles copied from WooCommerce button styling, to match */
button,
input[type="button"],
input[type="submit"],
.button,
.woocommerce a.button,
.woocommerce button.button.alt {
    display: inline-block;
    padding: 8px 10px;
    margin: 0;
    left: 0;
    -moz-box-shadow: 0px 0px 0px 0px var(--white);
    -webkit-box-shadow: 0px 0px 0px 0px var(--white);
    box-shadow: 0px 0px 0px 0px var(--white);
    background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, var(--paledustyblue)), color-stop(1, var(--dustyblue)) );
    background: -moz-linear-gradient( center top, var(--paledustyblue) 5%, var(--dustyblue) 100% );
    background-color: var(--dustyblue);
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #dcdcdc;
    color: var(--white);
    font-family: var(--global--font-tertiary);
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    line-height: normal;
    text-transform: uppercase;
    cursor: pointer;
}

.woocommerce .woocommerce-info .showlogin.button.checkout {
    float: none;
}

.wc-before_shop_loop {
    margin-top: -3.5rem;
    float: right;
}

.nyp-product input[type="button"],
div.nyp-product .button.single_add_to_cart_button,
div.nyp-product .woocommerce button.button.alt {
    top: 1px;
    margin-bottom: 1rem;
}

.woocommerce a.added_to_cart {
    padding-top: 0.5rem;
    padding-left: 0.5rem;
}

th.woocommerce-table__product-name,
th.product-name {
    width: 60%;
}
.woocommerce-MyAccount-content th.woocommerce-table__product-name,
.woocommerce-MyAccount-content th.product-name {
    width: 80%;
}

.woocommerce td.product-name .wc-item-meta .wc-item-meta-label {
    min-width: 11rem;
}

input[type="submit"] {
    margin-right: 0.3rem;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: left;
    left: 0;
    margin-bottom: 1rem;
}

button:hover,
.button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus {
    background-color: #E81E12;
    color: var(--white);
}

a.button {
    color: var(--white);
    margin-bottom: 0.2rem;
    width: fit-content;
}

/* Style modelled after old site button links, e.g. event categories */
a.button_link,
.entry-content .timely a.button_link {
    margin: 0 0.5rem 0.5rem 0;
    padding: 3px 6px;
    background: #E5E2E2;
    color: #665F59;
    font-size: 0.8rem;
    text-transform: uppercase;
    font-family: helvetica, arial, sans-serif;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
}

/***/

/*** TABLES ***/

table tr td {
    vertical-align: top;
}

/* TODO: move program table stuff to SDG plugin */



/* TODO: move this to misc section */
.draft,
.stcdev .devinfo,
.stcdev .devview {
    opacity: 0.5;
}


/*** HOMEPAGE ***/

.home .site-content {
    padding: 1rem 0.5rem 0 0.5rem;
    margin-top: 0; /*-- for MetaSlider only */
}

.home .content-area {
    padding: 0;
    margin: 0 0 -1.5rem 0;
    min-height: 15rem;
}

.home .site-main {
    margin-bottom: 0;
}

.home .site-main > article {
    border-bottom: none;
}

.post-type-archive-sermon .site-main > article h2.em_events {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.home .entry-content {
    margin: 0 auto;
}

.home .entry-header,
.home .entry-footer {
    display: none;
}

div#homepage-carousel,
div.featured-image-banner {
    max-width: none;
    margin: -22px auto 0;
    padding: 0;
    background-color: var(--white);
}

div.featured-image-banner {
    margin-bottom: 1rem;
}

article div.featured-image-banner {
    max-width: 112%;
    margin: 0 -6% 1.5rem;
}

.featured-image-banner img {
    width: 100%;
}

.homepage-widgets,
.no-sidebar .content-bottom-widgets.homepage-widgets,
.content-bottom-widgets {
    margin: 0;
}

.home .widget-area,
.content-bottom-widgets .widget-area {
    border: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    margin: 1.5rem 0.2rem 1.2rem 0.2rem;
}

.home .widget,
.content-bottom-widgets .widget {
    padding: 0;
    margin: 0 0 1rem 0;
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.5rem;
}

.home .widget p,
.content-bottom-widgets .widget p {
    padding: 0 1.5rem 1.5rem 1.5rem;
    line-height: 1.8rem;
}

.widget > :last-child,
.textwidget > :last-child {
    margin-bottom: 0;
}

.textwidget > p:last-child {
    margin-bottom: 1rem;
}

.quicklink {
    margin: 0.75rem 1rem 1rem 1rem;
    padding-bottom: 1rem;
    background: #e2e2e1;
    border-bottom: 1px solid #d1d1d1;
}

ul.quicklinks li,
li.quicklink {
    margin: 0;
    padding: 1rem 0 1rem 0;
}

.home #affiliations {
    margin: 0 0.2rem;
}


/*** Metaslider ***/

.metaslider .slides img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    height: auto;
}

#homepage-carousel,
#homepage-carousel .metaslider,
.metaslider.ms-theme-simply-dark.has-dots-nav,
.metaslider.ms-theme-simply-dark .flexslider ol.flex-control-nav:not(.flex-control-thumbs) {
    background-color: var(--white);
}

.metaslider.ms-theme-simply-dark .flexslider ol.flex-control-nav:not(.flex-control-thumbs) {
    justify-content: center !important;
}

.metaslider.ms-theme-simply-dark.has-dots-nav {
    padding-bottom: 1rem; /* was 3rem */
    margin-bottom: 0 !important;
}

.widget > .hpcarousel,
.metaslider-60053 {
    display: none;
}

.widget > .hpcarousel-mobile,
.metaslider-121056 {
}

.widget ul.slides,
.metaslider.ms-theme-simply-dark .flexslider,
.hp-carousel .metaslider.ms-theme-simply-dark .flexslider,
.hp-carousel-mobile .metaslider.ms-theme-simply-dark .flexslider {
    /*box-shadow: 0px -4.5rem #000000 inset;*/
}

.featured_image_caption,
.wp-caption .wp-caption-text {
    line-height: normal;
    padding: 0.7rem 1rem;
    background: #F2F2F2;
    text-align: center;
    color: #665F59;
    font-size: 0.9rem;
    font-family: Helvetica, Arial, sans-serif;
    font-style: italic;
    min-height: 2rem;
}

.featured_image_caption {
    display: block;
    border-radius: 0 0 9px 9px;
    -moz-border-radius: 0 0 9px 9px;
    -webkit-border-radius: 0 0 9px 9px;
}

.no-caption .featured_image_caption {
    display: none;
}

.post-thumbnail.no-caption {
    margin-bottom: 1rem;
}

.caption_placeholder {
    min-height: 0;
    padding: 0;
}

.metaslider .caption-wrap,
.caption-wrap,
.metaslider.ms-theme-simply-dark .flexslider ul.slides .caption-wrap {
    position: static !important;
    margin: 0 !important;
    padding: 1rem 0.5rem;
    width: 100% !important;
    height: 6rem;
    overflow: hidden;
    line-height: 1.3rem;
    background: #000000 !important;
}

.caption-wrap h2 {
    font-size: 1.6rem;
    font-family: var(--global--font-primary);
    font-weight: 300;
    margin-bottom: 0;
}

.metaslider .flexslider .slides p {
    margin: .5rem 0 !important;
    font-size: 0.9rem !important;
}

.metaslider.ms-theme-simply-dark .flexslider ol.flex-control-nav li:last-child {
    padding-right: 5px !important;
}

/*** ARCHIVES ***/

/* todo: standardize size/weight/family? */
h2.entry-title,
h3.entry-title,
.archive h2.entry-title,
.blog h2.entry-title,
.search-results h2.entry-title,
.stc_em_events .event_title {
    font-family: var(--global--font-secondary);
    font-size: 1.1rem;
    font-weight: normal;
    margin: 0 0 0.2rem 0;
}

.hide-for-non-admin {

}

.message, .message-error, .message-info {
    padding: 1em 2em 1em 1.5em;
    margin: 1rem 0 2rem 0;
    position: relative;
    background-color: #f7f6f7;
    color: var(--mddkgrey);
    border-top: 3px solid #1e85be;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
}

.message-error {
    border-top-color: #E81E12;
}

.warning, .alert {
    color: #E81E12;
}

.smaller {
    font-size: 0.9rem;
}

.tip {
    font-style: italic;
}

.fyi {
    font-style: italic;
    color: var(--mdgrey);
}

.important:not(.message) {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--ltgrey);
    border-radius: 9px;
    background: rgba(248,248,248, 0.8);
    font-size: 1rem;
    line-height: 1.7rem;
    text-align: center;
    color: var(--mddkgrey);
}

.message.important {
    font-weight: bold;
    text-align: center;
}

/*** WooCommerce ***/

/* Buttons */

.woocommerce button.button.alt:hover {
    background-color: var(--dustyblue);
}
.woocommerce-message,
.woocommerce-error {
    font-size: 1.1rem;
    font-weight: 600;
}

/* The following several styles are designed to adjust the single product page layout
 * depending on whether or not there is a Product Image
 *
 */

/* Hide the Product count on the giving category page */
body.term-giving .woocommerce-result-count {
    display: none;
}

/* This makes the description runs full width if there is no product image */
/* There are different sets of classes on the main product page vs. the product page embedded via shortcode */
#content .twentysixteen div.product div.summary,
div.product div.images,
div.product div.summary,
.woocommerce div.product div.summary,
#content .twentysixteen div.product.has-post-thumbnail div.summary {
    width: auto;
    margin: 0 0 1rem 0;
    padding: 1rem 0;
}

div.product div.images {
    padding-right: 1rem;
}

.woocommerce div.product div.images img {
    max-width: 400px;
}

.woocommerce div.product div.summary {
    padding: 0;
}

.woocommerce div.product.product_cat-giving .product_title {
    text-align: center;
    margin-bottom: 1rem;
}

.woocommerce div.product.product_cat-giving .upsells,
.woocommerce div.product.product_cat-giving .related.products, /* giving products */
.woocommerce div.product .related.products /* all products */ {
    display: none;
}

.woocommerce .entry-title {
    hyphens: none;
}

/* Hide the images div (for all products) */
div.product div.images,
.woocommerce-product-gallery--without-images,
div.product.product_cat-giving div.woocommerce-product-gallery,
div.product.product_cat-giving.has-post-thumbnail div.woocommerce-product-gallery {
    display: none;
}

/* But SHOW the images div if the product has an image to display */
div.product.has-post-thumbnail div.woocommerce-product-gallery {
    display: inline;
}

.woocommerce div.product div.images {
    margin-bottom: 0;
}

/* If the product HAS an image (i.e. post thumbnail)
 * then the width is set to a percentage as per the parent theme
 */
#content .twentysixteen div.product.has-post-thumbnail div.images,
#content .twentysixteen div.product.has-post-thumbnail div.summary {
    width: auto; /*was: 46.42857%;*/
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: none;
    width: auto;
    clear: none;
}

.product .images { display: none; } /* hide images div by default */
.product.has-post-thumbnail .images { display: block; } /* show images div when thumbnail is present */

.woocommerce input.readonly,
input.readonly {
    border: 1px solid var(--ltgrey);
    background-color: var(--ltgrey);
}

.woocommerce div.product form.cart {
    margin-bottom: 1rem;
    display: inline-block;
}

.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail {
    max-width: 250px;
}

.woocommerce div.product.nyp-product form.cart,
.woocommerce div.product.product_cat-giving form.cart {
    margin: 1.5rem 0 3.5rem 0;
    display: block;
    font-size: 1rem;
    width: 100%;
}

.woocommerce div.product.nyp-product form.cart .button,
.woocommerce div.product.product_cat-giving form.cart .button {
    font-size: 1.1rem;
}

.woocommerce.product_cat-pledges div.product.nyp-product form.cart .button,
.woocommerce div.product.product_cat-giving form.cart .button {
    display: block;
    clear: both;
}

.woocommerce .nyp-product .quantity .qty,
.woocommerce div.product form.cart div.quantity,
.woocommerce div.product.nyp-product form.cart .quantity .qty,
.woocommerce div.product_cat-giving form.cart .quantity .qty {
    display: none;
}

/* Candle product on dev site: 178063 -- TODO -- generalize via tag or category */
.woocommerce div.product.nyp-product.product_tag-show_qty form.cart .quantity .qty,
.woocommerce div.product.product_tag-show_qty form.cart div.quantity,
.woocommerce div.product.post-178063 form.cart div.quantity,
.woocommerce div.product.post-178063 form.cart div.quantity .qty {
    display: inline;
}

.woocommerce div.product form.cart .reset_variations {
    display: none;
    white-space: nowrap;
    font-size: 1rem;
    line-height: normal;
}

.woocommerce div.product form.cart .input-label {
    margin-right: 0.5rem;
}

.woocommerce div.product form.cart div.pledge_payment_schedule input[type="radio"] {
    float: left;
    clear: left;
}

.woocommerce div.product form.cart div.pledge_payment_schedule .input-label {
    float: left;
    clear: right;
}

.pledge_payment_schedule {
    display: none;
}

.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-size: 1.2rem;
}

/* Hide the categories on the product page --TMP? Also SKU */
.product_meta,
.product_meta .posted_in {
    display: none;
}

/* Style the product page when embedded via shortcode */

.entry-summary h1.product_title {
    margin-bottom: 1.5rem;
}

.woocommerce .single-product {
    border: 1px solid grey;
    padding-bottom: 0;
}

.woocommerce div.product div.summary {
    margin: 1rem;
}

/* Clearfix for products when Related Products section is not displayed */
.woocommerce .single-product:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}

.woocommerce .single-product,
.woocommerce .single-product .entry-summary {
    font-size: 1rem;
}

.product .nyp,
.woocommerce .product .nyp,
.woocommerce .single-product .product .nyp {
    margin: 0 1rem 0 0;
    margin-bottom: 0.5rem;
    float: left;
}

.woocommerce div.product form.cart div.quantity {
    margin: 4px 4px 0 0;
}

.product_tag-show_price .entry-summary p.price {
    display: inline;
}

.product_cat-pledges .atc-custom-field-wrapper .woocommerce label,
.woocommerce .product_cat-pledges label {
    margin-right: 0.4rem;
    width: auto;
    display: inline-block;
    font-size: .9rem;
}

.woocommerce-product-details__short-description {
    display: table;
    margin: 1rem auto 0 auto;
}

.woocommerce div.product form.cart .variations {
    margin-bottom: 0;
}

.woocommerce div.product form.cart .variations td.label {
    padding-right: 0;
    width: 110px;
}

.woocommerce div.product form.cart .variations label {
    font-size: 0.9rem;
    padding-right: 0.5rem;
}

.woocommerce div.product form.cart .variations select {
    margin-right: 0.4rem;
}

.woocommerce input[type="text"],
.woocommerce input[type="number"] {
    padding: 0.3rem;
    margin: 0.2rem;
}

.entry-summary p.first-payment-date,
p.first-payment-date {
    display: table;
    margin: -3rem auto 1rem auto;
}

.woocommerce .sharedaddy {
    padding: 1rem 0;
}

div.sharedaddy h3.sd-title:before {
    border-top: none !important;
    margin-bottom: 0 !important;
}

.sharedaddy:before, .sharedaddy:last-child:after {
    background-color: transparent;
}

/* WooCommerce Tabs Panel */

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    margin-bottom: -1px;
    border-bottom: 2px solid var(--white);
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 1rem;
    border: 1px solid lightgrey;
    border-radius: 9px;
}

/* TODO: remove this header via a WC hook or somesuch, not via CSS. This is a hack and probably bad for SEO. */
.woocommerce div.product .woocommerce-tabs .panel h2 {
    display: none;
}

/* Related Products */

.related.products h2 {
    font-size: 1.1rem;
}
.related.products .woocommerce ul.products li.product .woocommerce-loop-product__title,
.related.products h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.9rem;
    line-height: normal;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 3rem;
}

.term-giving.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product_cat-giving .woocommerce-loop-product__title,
.term-giving.woocommerce ul.products li.product .price {
    display: none;
}

.related.products ul.products li.product a img {
    width: 220px;
}

.related.products .woocommerce ul.products li.product .price,
.related.products ul.products li.product .price {
    bottom: 3rem;
}

.related.products .woocommerce ul.products li.product .button,
.related.products ul.products li.product .button,
ul.products li.product .button {
    line-height: normal;
    left: 0;
    text-align: center;
}

.woocommerce ul.products li.product .button {
    margin-top: 0.5rem;
}

.term-giving ul.products li.product .button {
    top: 15rem;
    width: 100%;
}

.product .nyp .nyp-input,
.product form.cart .nyp .nyp-input,
.product .single_variation_wrap .nyp .nyp-input {
    margin-bottom: 0;
    min-width: 5rem;
}

.woocommerce .woocommerce-order-details h2:last-child {
    margin-bottom: 1rem;
}

/* WooCommerce Widget Styles */

/* WC Products by Category Widget (Plugin) */
ul.productsbycat_list li.wcpbc-product {
    padding: 0;
    margin: 0;
}

/* Cart */
.woocommerce-cart .no-sidebar .entry-header,
.no-sidebar .entry-header,
.no-sidebar .entry-content {
    margin-left: 0;
    margin-right: 0;
}

.woocommerce form .form-row textarea[name="order_comments"] {
    height: 5em;
}
.woocommerce form .form-row textarea[name="order_pledge_attribution"],
.woocommerce form .form-row textarea[name="order_more_information"] {
    height: 9em;
}

.woocommerce form .form-heading {
    padding: 1.5rem 3px 0.5rem;
    letter-spacing: normal;
}

.woocommerce-cart table.cart img {
    width: auto;
}

.woocommerce table.shop_table {
    font-size: 0.9rem;
}

table.cart {
    table-layout:auto;
}

th.product-remove {
    max-width: 2rem;
}

p.return-to-shop {
    display: none;
}

/* Cart/Order info tables */
table.cart th.product-name {
    width: 22rem; /* was 18rem */
    min-width: 10rem;
}

/* Checkout page */

/* At Jesse's request, get rid of two-column layout on checkout page */
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .col2-set .col-1,
.woocommerce-page.woocommerce-checkout:not(.woocommerce-order-received) .col2-set .col-1,
.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .col2-set .col-2,
.woocommerce-page.woocommerce-checkout:not(.woocommerce-order-received) .col2-set .col-2 {
    float: none;
    width: 100%;
}

.woocommerce-checkout .button.review_cart {
    display: none;
}

/* This seems to be the only way to make the Apt/Suite/Unit field label show up for the checkout fields */
.woocommerce-billing-fields .screen-reader-text {
    height: auto;
    position: inherit !important;
    width: auto;
    clip-path: none;
}

.woocommerce form .form-row .optional {
    font-style: italic;
}

/**
 * xx.x - Ninja Forms
 */

.nf-form-content .alert {
    font-style: italic;
}

.nf-before-form-content {
    padding-bottom: 0.5rem;
}

.nf-form-fields-required {
    font-size: 0.9rem;
    font-style: italic;
}

.nf-field-label {
    font-size: 0.9rem;
}

.nf-response-msg {
    padding: 1.5rem;
    margin: 1rem 1rem 1.5rem 1rem;
    background-color: var(--ltgrey);
    border: 1px solid var(--mdgrey);
}

.nf-response-msg h3 {
    font-size: 1.1rem;
    line-height: 2rem;
    font-weight: 700;
}

.nf-response-msg p {
    margin: 0;
    font-size: 0.9rem;
}

/*.nf-repeater fieldset legend {
    width:5%;
    float: left;
}

.nf-repeater fieldset .nf-repeater-fieldset {
    width:95%;
    float: left;
}*/

.repeater-container .nf-field-description p {
    font-size: 1rem !important;
    margin: 0;
}

/* The following three style declarations are redundant with NF styles, but seems to be necessary when displaying forms in jquery dialogs */

.nf-response-msg {
    display: none;
}

.nf-form-hp {
    visibility: hidden;
}

.nf-field {
    margin-bottom: 1rem;
}

/**
 * 11.2 - Posts and pages
 */

.site-main > article,
.featured-posts article {
    margin-bottom: 1rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1rem;
}

.posts_archive article {
    text-align: left;
}

.featured-posts article:last-of-type,
.featured-posts article:last-child {
    padding-bottom: 2rem;
    border-bottom: 3px solid #d1d1d1; /*464241*/
}

.page-template-page-sermons .site-main > article {
    margin-bottom: 0;
    border-bottom: none;
}

.archive article.sermon .entry-header {
    padding-top: 0;
}

.post-navigation {
    margin: 0;
}

.post-navigation .post-title {
    font-size: 1rem;
    font-weight: normal;
}

.post-navigation div + div {
    border-top: none;
}

.nav-previous,
.nav-next {
    width: 45%;
    display: inline-block;
    vertical-align: top;
}

.nav-next {
    text-align: right;
}

body:not(.search-results) .entry-header + .entry-summary {
    margin-top: 1rem;
}

/*** VIMEO -- WIP ***/

.embed_container.audio_only .player {
    height: 4rem;
}

.vimeo_container {
    padding: 56.25% 0 0 0;
    position: relative;
    margin: 1rem 0;
}

.audio_player {
    width: 100%;
}

.audio_player:focus,
#audio_player:focus {
    outline: 0;
}

.audio_player audio {
    width: inherit;
}

iframe.vimeo,
p > iframe.vimeo {
    margin: 0;
    width: 100%;
}

.player .vp-controls,
iframe.vimeo .player .vp-controls {
    bottom: 0;
    left: 0;
    right: 0;
}

.vp-menu-chapters {
    display: block;
}

/*** WEBCASTS ***/


.audio-player {
    border-radius: 7px;
    background-color: #E5E2E2;
    color: var(--mddkgrey);
}

.cuepoints {
    background: #E5E2E2;
    border-radius: 7px;
    padding: 0.5rem 0.2rem 0.5rem 0.5rem;
    margin: 0 0 1rem 0;
    max-height: 12rem;
    overflow: auto;
}

.cuepoint {
    height: 2rem;
    overflow: hidden;
    margin-bottom: 0.25rem;
    font-size: 0.8rem;
    cursor: default;
    background: #F3F3F3;
    border-radius: 3px;
    padding: 0.4rem 0.6rem;
}

.cue_name {
    float: left;
    max-width: 65%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cue_time {
    float: right;
    max-width: 35%;
    text-align: right;
    font-family: var(--global--font-tertiary);
}

.cue_button {
    width: auto;
    background: inherit;
    color: var(--charcoal);
    text-align: inherit;
    text-transform: capitalize;
    padding: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.6;
}

.cue_button:hover,
.cue_button:active,
.cue_button:focus {
    background: var(--mdgrey);
}

/** Audio-only Flowerplayer Styles ***/

.audio-player {
    padding: 0.6rem;
}

.audio-player .fp-ratio {
    height: 3rem;
    padding: 0 !important;
}

.audio-player video,
.audio-player .fp-header,
.audio-player .fp-middle {
    display: none;
}

.audio-player .fp-controls {
    visibility: visible !important;
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    z-index: 0;
    background-color: transparent;
}

.audio-player.is-starting .fp-btns .fp-small-play {
    display: block;
}

.video_mask {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity: 0.85;
    z-index: 1;
    background-color:aquamarine;
}

.wp-playlist-current-item img:first-child {
    display: none;
}


/********************************/

a:focus,
.dropdown-toggle,
.main-navigation ul .dropdown-toggle.toggled-on,
.dropdown-toggle:hover,
.dropdown-toggle:focus {
    outline: none;
}
.dropdown-toggle:after {
    border-left: 1px solid #d1d1d1;
}

.toggle_handle{
    cursor: pointer;
}





/*** GRID & FLEX layouts -- for events, landing pages, &c. ***/
/* See display-content.css */

/* Two options: 1) post_info, shows BELOW flex-box, 2) overlay */

.post_info {
    margin-top: 1rem;
    padding: 0.5rem;
}

.post_info .post_title {
    font-size: 1.1rem;
}

.post_info > a {
    color: inherit;
}

.post_info > a:not(.button) > .post_title,
.post_info > a:link:not(.button) > .post_title {
    border-bottom: 1px solid var(--mdred);
    transition: color .3s ease-in-out;
}

/* Override for STC following expansion of site width */
.flex-container.twocol .flex-box {
    max-width: 534px;
}

/* Corner Ribbons */

.corner-ribbon{
    width: 280px;
    background: #e43;
    position: absolute;
    top: 25px;
    left: -50px;
    text-align: center;
    line-height: 40px;
    letter-spacing: 1px;
    color: var(--ltgrey);
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    z-index: 1;
    opacity: .8;
}

/* Custom styles */

.corner-ribbon.sticky {
    position: fixed;
}

.corner-ribbon.shadow {
    box-shadow: 0 0 3px rgba(0,0,0,.3);
}

/* Different positions */

.corner-ribbon.top-left,
.corner-ribbon.bottom-right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.corner-ribbon.top-right,
.corner-ribbon.bottom-left {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.corner-ribbon.top-left {
    top: 25px;
    left: -50px;
}

.corner-ribbon.top-right {
    top: 25px;
    right: -50px;
    left: auto;
}

.corner-ribbon.bottom-right {
    top: auto;
    right: -80px;
    bottom: 25px;
    left: auto;
}

.corner-ribbon.bottom-left {
    top: auto;
    bottom: 25px;
    left: -50px;
}

/* Ribbon Colors */

.corner-ribbon.white{background: var(--ltgrey); color: var(--mddkgrey);}
.corner-ribbon.black{background: var(--charcoal);}
.corner-ribbon.grey{background: #999;}
.corner-ribbon.blue{background: #39d;}
.corner-ribbon.green{background: #2c7;}
.corner-ribbon.turquoise{background: #1b9;}
.corner-ribbon.purple{background: #95b;}
.corner-ribbon.red{background: #e43;}
.corner-ribbon.orange{background: #e82;}
.corner-ribbon.yellow{background: #ec0;}


/*** jQuery UI ***/
/** TODO: figure out how to override default styles without all these !important qualifiers... :-( **/

.ui-dialog {
    background: rgb(245,245,245) !important;
    box-shadow: 0 0 7px rgba(0,0,0,.7);
    -webkit-box-shadow: 0 0 7px rgba(0,0,0,0.7);
    -moz-box-shadow: 0 0 7px rgba(0,0,0,0.7);
    overflow: auto;
    z-index: 99;
}

.ui-widget-overlay {
    background: var(--mddkgrey); /* url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; */
    opacity: .3;
    filter: Alpha(Opacity=30);
}

.ui-dialog-titlebar,
.ui-dialog .ui-widget-header {
    border: none;
    background: rgb(235,235,235); /* was transparent, for some reason... changed 10/28/24 -- TBD if this messes something else up */
    height: fit-content;
    min-height: 2.7rem;
}

.ui-dialog-titlebar-close {
    float: right;
    margin: 0.2rem;
}

.ui-dialog .ui-dialog-content {
    padding: 1rem 3rem !important; /* TODO: figure out how to do this right -- i.e. NOT w/ !important */
    /* Fallback for web browsers that doesn't support RGBa */
    background: rgb(245,245,245);
    /* RGBa with 0.6 opacity */
    /*background-color: rgba(0, 0, 0, 0.005);*/
    font-family: 'Georgia', 'Times New Roman', serif;
    /*overflow: scroll;*/
}

.ui-dialog .ui-dialog-content h2 {
    font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
    font-size: 2rem;
    font-weight: 300;
    text-transform: uppercase;
}

.ui-widget-content h2 {
    margin: 1rem 0;
}

.ui-widget-content h3 {
    margin: 0.5rem 0;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: 1px solid #cccccc !important;
    background: #F2F2F2 !important;
    font-weight: 500 !important;
    color: inherit !important;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    border: 1px solid #bbb !important;
    background: #CFCFCF !important;
    color: #363636 !important;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover {
    border: 1px solid #bbb !important;
    background: #F6F6F6 !important;
    color: #363636 !important;
}

.ui-state-default .ui-icon.ui-icon-closethick {
    background-image: url('https://download.jqueryui.com/themeroller/images/ui-icons_ffffff_256x240.png');
    background-color: #A7B7CC; /* light blue */
}

/* General/Override styles */

.hidden,
.print-only {
    display: none;
}

.devmode table.program tr.hidden,
.devsite table.program tr.hidden,
.stcdev table.program tr.hidden {
    display: table-row;
    opacity: 0.5;
    visibility: visible;
}

.borderless,
.entry-content h2.borderless {
    border: none;
}

.float-left {
    float: left;
    margin-right: 0.5rem;
}

.float-right {
    float: right;
    margin-left: 0.5rem;
}

.clear-left {
    clear: left;
}

.clear-right {
    clear: right;
}

.rightalign {
    text-align: right;
}

.centeralign {
    text-align: center;
}

.halfwidth {
    width: 49%;
}

.minwidth {
    min-width: 400px;
}

.padded {
    padding: 1rem;
}

/******* SPECIAL EFFECTS *******/

.zoom-fade,
.zoom-fade-slow,
.flex-img.hoverZoom {
    transform: scale(1.1);
    transition: transform 0.5s ease-out;
    animation: zoomFade 2s ease-out forwards;
    animation-iteration-count: 1;
}

.zoom-fade-slow {
    transition: transform 1s ease-out;
    animation: zoomFade 2.5s ease-out forwards;
}

.flex-img.hoverZoom {
    transition: transform 0.75s ease-in-out;
}

img.hoverZoom {
    opacity: 1;
}

.hoverZoom:hover {
    transform: scale(1.1);
    transition: transform 0.75s ease-in-out;
}

@keyframes zoomFade {
    0% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/*********** RESPONSIVITY (aka MEDIA QUERIES) ***********/

/*** Hover Capability ***/
/* Primary input mechanism system can
   hover over elements with ease */
@media (hover: hover) {

    .overlay {
        display: none;
        height:100%;
        top:0;
        font-size: inherit;
    }
}

/* Primary input mechanism cannot hover
   at all or cannot conveniently hover
   (e.g., many mobile devices emulate hovering
   when the user performs an inconvenient long tap),
   or there is no primary pointing input mechanism */
@media (hover: none) {

}

/*** Pointer Quality ***/

/* The primary input mechanism of the device includes a pointing device of limited accuracy. */
@media (pointer: coarse) { /*...*/ }

/* The primary input mechanism of the device includes an accurate pointing device. */
@media (pointer: fine) { /*...*/ }

/* The primary input mechanism of the device does not include a pointing device. */
@media (pointer: none) { /*...*/ }

/*** "Rare Interaction Capabilities" to deal w/ devices with multiple input mechanisms ***/

/* One or more available input mechanism(s)
   can hover over elements with ease */
@media (any-hover: hover) { /*...*/ }

/* One or more available input mechanism(s) can hover,
   but not easily (e.g., many mobile devices emulate
   hovering when the user performs a long tap) */
@media (any-hover: on-demand) { /*...*/ }

/* One or more available input mechanism(s) cannot
   hover (or there are no pointing input mechanisms) */
@media (any-hover: none) { /*...*/ }


/* At least one input mechanism of the device
   includes a pointing device of limited accuracy. */
@media (any-pointer: coarse) { /*...*/ }

/* At least one input mechanism of the device
   includes an accurate pointing device. */
@media (any-pointer: fine) { /*...*/ }

/* The device does not include any pointing device. */
@media (any-pointer: none) { /*...*/ }

/*** Media Queries by screen size ***/

/**
 * 14.0.2 - >= 480px (?)
 */

@media screen and (min-width: 30em) {

    html {
        font-size: 100%; /* In most browsers, this defaults to 16 pixels */
    }

    .content-area {
        padding: 0 1rem;
    }

    .sidebar {
        padding: 1rem;
    }

    .main-navigation a {
        padding: 0.6rem 0;
    }

    /*.related.products ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products li.product {
        height: 24.5rem;
    }*/

    .term-giving ul.products li.product {
        height: 22rem;
    }

    .cue_name {
        max-width: 70%;
    }
    .cue_time {
        max-width: 30%;
    }

    .video-container {
        height: calc(var(--vh,1vh) * 93);
    }

}


/* *** */
@media (max-width: 600px) { /* Changed from 600px to 800px 08/23/21 */

    .archive .entry-header {
        display: inline-block;
    }

    .post-thumbnail.float-left {
        margin: 0;
        padding: 0;
        float: none;
        width: 100%;
    }

    .post-thumbnail.float-left img {
        width: 100%;
    }

    .post-thumbnail.no-caption {
        margin-bottom: 1rem;
    }

    video.hero-video {
        /*max-height: 300px;*/
    }

    div.hero.youtube-responsive-container {
        margin-top: -20px;
    }

    .youtube-responsive-container {
        /*aspect-ratio: 1/1;
        height: calc(var(--vh, 1vh) * 82);*/
    }


}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media (max-width: 800px) { /* Changed from 600px to 800px 08/23/21 */

    /* Reduce space between slider and widgets on homepage for one-col view
    .metaslider.ms-theme-simply-dark.has-dots-nav {
        padding-bottom: 1rem;
    }*/

    /*,
    .post-thumbnail img,
    .gallery-icon img,
    .em_event_single img,
    .archive-image img*/
    .entry-content img:not(.icon) {
        width: 100%;
        float: none;
    }

}

/**
 * 14.01 - >= 640px
 */
/**
 * At this size, the hamburger menu toggle is replaced by the normal menu with dropdown sub-menus
???
 */



/**
 * 14.1 - >= 710px
 */

@media screen and (min-width: 44.375em) {

    body.admin-bar .sticky {
        padding-top: 46px;
    }

    /* This is a bit of a hack to simulate a non-admin view even while logged in -- ??? It does screw things up on tablets, though. */
    body:not(.custom-background-image):before, body:not(.custom-background-image):after {
        height: 0px;
    }

    .site {
        margin: 0;
    }

    .content-area,
    .sidebar {
        padding: 1.5rem;
    }

    /** No Sidebar/Full Width page **/
    .page-header {
        margin: 0 !important;
    }

    .entry-content,
    .entry-footer,
    .entry-summary {
        float: none;
        margin: 0;
    }

    .wide-margins .entry-content {
        padding: 0 5rem 1rem 5rem;
    }

    #site-header-menu {
        max-width: none;
        margin: 0 auto;
        padding: 0px;
    }

    .entry-header,
    .page-header {
        margin: 0;
    }

    .entry-summary,
    .entry-footer,
    .comments-area,
    .image-navigation,
    .post-navigation,
    .page-content,
    .content-bottom-widgets {
        margin: 0 0.8rem;
    }

    .widget > .hpcarousel,
    .metaslider-60053 {
        display: block;
    }

    .widget > .hpcarousel-mobile,
    .metaslider-121056 {
        display: none;
    }

    .widget ul.slides,
    .metaslider.ms-theme-simply-dark .flexslider,
    .hp-carousel .metaslider.ms-theme-simply-dark .flexslider,
    .hp-carousel-mobile .metaslider.ms-theme-simply-dark .flexslider {
        box-shadow: none;
    }

    .home .entry-footer {
        display: block;
    }

    .woocommerce div.product.nyp-product form.cart,
    .woocommerce div.product.product_cat-giving form.cart,
    .woocommerce div.product.nyp-product .woocommerce-product-details__short-description,
    .woocommerce div.product.product_cat-giving .woocommerce-product-details__short-description {
        width: 60%;
        margin: 0 auto;
        clear: both;
    }

    .post-navigation {
        margin:0;
    }

    .post-navigation .post-title {
        font-size: 1rem;
        font-weight: normal;
    }

    .video-container {
        height: calc(var(--vh,1vh) * 50);
    }

    .social-navigation a:before {
        padding: 0.3rem;
    }

}



/**
 * 14.2.1 - >= 720px?
 */

@media screen and (min-width: 45em) {

}


/**
 * 14.2 - >= 783px
 */

@media screen and (min-width: 48.9375em) {

    body.admin-bar .sticky {
        padding-top: 32px;
    }

    .metaslider .caption-wrap,
    .caption-wrap,
    .metaslider.ms-theme-simply-dark .flexslider ul.slides .caption-wrap,
    .metaslider.ms-theme-simply-dark .rslides .caption-wrap {
        position: absolute !important;
        background: rgba(0,0,0,0.7) !important;
        opacity: .8 !important;
    }

    .metaslider .flexslider .slides p {
        margin: .5rem 0 !important;
        font-size: 1rem !important;
    }

    .cuepoint {
        font-size: 0.9rem;
    }
    .cue_name {
        max-width: 75%;
    }
    .cue_button {
        font-size: 1rem;
    }
    .cue_time {
        max-width: 25%;
        letter-spacing: 1px;
    }

}

/*** NOTE: MAX-width query. */
@media screen and (max-width: 56em) {

    #site-navigation.sticky {
        position: relative;
    }

    /*** Ninja Forms ***/
    .nf-multi-cell .nf-cell {
        min-width: 50%;
    }

}

/**
 * 14.2.1 - >= 800px -- Tablet: Portrait
 */

@media screen and (min-width: 56em) { /* was 50em*/

    .desktop, .tablet {
        display: inherit; /* This reveals the content hidden on mobile devices */
    }

    .mobile {
        /*display: none; This no longer works because we've added mobile/not-mobile body classes -- maybe change this to "mobile-only"? */
    }

    /* Reveal site branding (i.e. logo) */
    .site-branding {
        display: block;
        /*width: 50%;*/
        border: 1px solid transparent;
        margin: 0 !important;
        padding-left: 1rem;
    }

    .header-call-to-action a span.button-text {
        display: inline;
    }

    .header-call-to-action a:after {
        content: "";
    }

    .main-navigation {
        height: auto;
    }

    #secondary-header-nav {
        position: absolute;
        top: 0;
        right: 0;
        width: auto;
        padding: 0.5rem;
        margin: 0 0 1.5rem 0;
    }

    /*** secondary nav search field **/

    #secondary-header-nav {
        width: 377px;
    }

    .site-main {
        margin-bottom: 2.5rem;
        padding: 0;
    }

    .content-area {
        min-height: 50rem;
    }

    .content-area,
    .sidebar {
        padding: 1rem 2rem;
    }

    .sidebar {
        padding-top: 2rem;
        margin-bottom: 2.25rem;
    }

    .site-info {
        font-size: 0.9rem;
    }

    .home .widget,
    .content-bottom-widgets .widget {
        width: 32%;
        margin: 0;
    }

    .home #affiliations {
        margin: 0 0.7rem;
    }

    .entry-title {
        font-size: 2.5rem;
    }

    .corner-ribbon {
        line-height: 80px;
    }

    /*** WooCommerce ***/

    .woocommerce div.product.nyp-product form.cart,
    .woocommerce div.product.product_cat-giving form.cart {
        margin: 0 auto 3.5rem auto;
        display: table;
        font-size: 1.3rem;
        /*width: 90%;*/
    }

    .woocommerce div.product form.cart .variations {
        width: auto;
        /*display: inline-block;*/
    }

    /* Candle product on dev site: 178063 -- TODO -- generalize via tag or category */
    .woocommerce div.product.post-178063 form.cart .variations {
        width: inherit;
    }

    .woocommerce div.product form.cart .variations td.label {
        width: auto;
    }

    .woocommerce div.product form.cart .variations label {
        font-size: 1.3rem;
    }

    .product_cat-pledges .atc-custom-field-wrapper .woocommerce label,
    .woocommerce .product_cat-pledges label {
        width: 18rem;
        font-size: 1.3rem;
    }

    .product .input-text,
    .product .nyp-input,
    .custom-input {
        max-width: 8rem;
    }

    .woocommerce div.product form.cart div.pledge_payment_schedule .input-label {
        width: auto;
    }

    .woocommerce div.product form.cart div.pledge_payment_schedule input[type="radio"],
    .woocommerce div.product form.cart div.pledge_payment_schedule .input-label {
        float: none;
    }

    .product .nyp .nyp-input,
    .product form.cart .nyp .nyp-input,
    .product .single_variation_wrap .nyp .nyp-input {
        margin-bottom: 1rem;
    }

    .nyp-terms {
        float: right;
    }

}

/**
 * 14.3 - >= 910px
 */

@media screen and (min-width: 56.875em) {

    .snippets .content-area {
        float: left;
        margin-right: -100%;
        width: 70%;
    }

    .site-content {
        padding: 0 2%;
    }

    .site-header-main,
    .wp-custom-logo .site-header-main {
        -webkit-align-items: normal;
        align-items: normal;
    }

    #masthead {
        padding: 0;
        height: auto;
    }

    #site-header-menu {
        box-shadow: none;
    }

    .header-call-to-action {
        margin: 0.5rem auto;
    }

    .searchform > input[type="search"].search-field,
    input[type="search"].search-field {
        width: 100%;
        padding: 0.425rem 0.4375rem;
        border: 1px solid transparent;
        border-radius: 5px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        background-color: var(--ltgrey);
        box-shadow: 0px -2px var(--ltgrey) inset;
        font-size: 1.1rem;
    }

    .no-sidebar .page-header {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* TODO: confirm ok */
    .no-sidebar .twentysixteen .site-main {
        margin-left: 0;
        margin-right: 0;
    }

    .entry-content,
    .entry-footer,
    .entry-summary {
        float: none;
        margin: 0;
    }

    .sidebar,
    .custom-page-background .sidebar {
        margin-left: 71.5%;
        width: 29%;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 3.25rem;
    }

    /* Stupid giant margin above sidebar so that the rector's face is visible in the corner. */
    .custom-page-background .sidebar {
        margin-top: 425px; /*margin-top: 25rem;*/
    }

    /* widgets */

    .widget .widget-title {
        margin-bottom: 0.6rem;
    }

    .home .widget h2 {
        font-family: var(--global--font-primary);
        font-weight: 300;
        font-size: 1.8rem;
    }

    .no-sidebar .entry-header,
    .no-sidebar .entry-content,
    .no-sidebar .entry-summary,
    .no-sidebar .entry-footer,
    .no-sidebar .comments-area,
    .no-sidebar .image-navigation,
    .no-sidebar .post-navigation,
    .no-sidebar .pagination,
    .no-sidebar .page-header,
    .no-sidebar .page-content,
    .no-sidebar .content-bottom-widgets {
        margin-right: 0%;
        margin-left: 0%;
    }

    .content-bottom-widgets .widget h2 {
        font-family: 'EB Garamond', serif;
        font-weight: 400;
        font-size: 2rem;
    }

    .widget button, .widget input[type="button"], .widget input[type="reset"], .widget input[type="submit"] {
        line-height: 1;
        padding: 0.5rem;
    }

    /* footer */

    #affiliations {
        margin: 1rem 0.5rem 0 0.5rem;
    }

    .affiliation {
        display: inline-block;
    }

    .site-footer {
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    .copyright {
        font-family: var(--global--font-tertiary);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2173913043;
        margin: 0;
    }

    .site-footer .social-navigation {
        display: block;
    }

    .video-container {
        height: auto;
    }

    .woocommerce ul.products li.product a img {
        width: 250px;
        height: 250px;
    }

}

/**
 * 14.4 - >= 985px
 */

@media screen and (min-width: 61.5625em) {

    .entry-content h4, .entry-content h5, .entry-content h6, .entry-summary h4, .entry-summary h5, .entry-summary h6, .comment-content h4, .comment-content h5, .comment-content h6 {
        margin: 1rem 0;
        /*font-size: 19px;
        font-size: 1.1875rem;*/
        line-height: normal;
        letter-spacing: normal;
    }

    #secondary-header-nav {
        /*width: 18rem;*/
    }

    .main-navigation li a {
        padding: 0.9rem 1rem 0.7rem 1rem; /*padding: 14px 10px 10px 10px; */
        font-size: 1rem;
    }

    .nf-field-label {
        font-size: 1rem;
    }

    body:not(.search-results) .entry-header + .entry-summary {
        margin-top: 1rem;
    }

    /* The following must be repeated here in order to override the style declarations of the parent theme */
    h3,
    .entry-content h3,
    .entry-summary h3 {
        font-size: 1.1rem;
    }

    .fullwidth.centered .entry-content h3 {
        font-size: 1.3rem;
    }

    .entry-content,
    .entry-footer,
    .entry-summary {
        float: none;
        margin: 0;
    }

}

/**
 * 14.5 - >= 1200px
 */

@media screen and (min-width: 75em) {

    .main-navigation li a {
        padding: 0.9rem 1.5rem 0.7rem 1.5rem; /*padding: 14px 10px 10px 10px; */
        font-size: 1rem;
    }

    .home .widget h2 {
        font-size: 2.1rem;
    }

    body:not(.search-results) .entry-summary h1.product_title {
        margin-bottom: 1.5rem;
    }

    /* Override parent styles */
    body:not(.search-results) .entry-summary blockquote {
        font-size: 1.2rem;
        line-height: 1.6;
    }

    /* Override parent styles */
    body:not(.search-results) .entry-summary blockquote {
        padding: 1rem;
    }

}

@media screen and (min-width: 80rem) {
}

@media screen and (min-width: 1200px) {
}

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

    .site-branding {
        width: 875px;
    }

    #secondary-header-nav {
        position: absolute;
        right: 0;
        top: 0;
    }

}


/**
 * Print
 */

@media print {

    .print-only {
        display: block;
    }

    .screen-only {
        display: none;
    }

    @page {
        margin: 1in 0.5in; /* 1 inch margin for all sides */
    }

    @page :first {
        margin-top: 0.5in;
    }

    .site.has_msg_bar {
        top: 0px;
        width: 100%;
    }

    #msg_bar,
    .msg_bar,
    .msg_bar p,
    .msg_bar_close,
    #msg_bar div,
    #masthead,
    #affiliations,
    #colophon {
        display: none;
    }

    .site-inner img {
        opacity: 1;
    }

    /*** Sermons ***/

    .single-sermon .entry-header,
    .single-sermon .author_image {
        display: none;
    }

    .single-sermon .sermon-date {
        float: left;
        width: 50%;
    }

    .single-sermon .related-event-info {
        float: right;
        width: 50%;
        text-align: right;
    }

    .cpt_sermon_meta .sermon-title,
    .entry-content .cpt_sermon_meta .sermon-title,
    h1.entry-title.sermon-title,
    .entry-content .cpt_sermon_meta h1.entry-title.sermon-title {
        font-variant: normal;
        font-style: normal;
        font-size: 1.2rem;
        font-weight: 600;
        margin: 1.5rem 0;
    }

    .cpt_sermon_meta .entry-title.sermon-title.with-subtitle,
    .entry-content .cpt_sermon_meta h1.entry-title.sermon-title.with-subtitle {
        margin-bottom: 0.3rem;
    }

    .subtitle.sermon-title,
    h3.subtitle.sermon-title,
    .cpt_sermon_meta .subtitle,
    .cpt_sermon_meta h3.subtitle.sermon-title,
    .entry-content .cpt_sermon_meta h3.subtitle.sermon-title,
    .entry-content h3.subtitle {
        font-size: 1rem;
        font-weight: 400;
        font-style: italic;
        color: rgb(51, 51, 51);
        margin-top: 0;
    }

    .single-sermon {
        font-size: 0.9rem;
        max-width: 90%;
        margin: 0 auto;
    }

    .single-sermon #sermon-audio,
    .single-sermon .audio_player {
        display: none;
    }
    /*.entry-title.sermon-title {
        font-size: 2rem;
    }*/

    .footnote_plugin_tooltip_text,
    .footnote_plugin_tooltip_text a {
        color: green;
    }

    .footnote-reference-container, .footnotes_table {

    }

    a {
        color: inherit !important;
        text-decoration: none;
    }

    .entry-content a/*,
    .entry-summary a,
    .taxonomy-description a,
    .comment-content a,
    .pingback .comment-body > a*/ {
        box-shadow: none;
        border-bottom: none !important;
    }

}


/*** INTERNET FUCKING EXPLORER ***/
_:-ms-lang(x), .ie10up {
    right: 5rem;
}
