:root
{
    /* Regular Time */
    /* --background: rgba(20, 100, 250, .87); */
    /* --text: white;
    --link: gold; */
    /* Lent */
    /* --background: rgba(102, 51, 153, .87); */
    /* Easter */
    --background: rgba(255, 255, 255, .87);
    --text: black;
    --link: rgba(212, 175, 55, .87);
    --link-highlight: red;
    --border: white;

}
#info div
{
    color: var(--text) !important;
}

*
{
    margin: 0;
    padding: 0;
}

p, a, i, u, b, li, span, label, footer, div
{
    font-family: Garamond, Times !important;
}

#info a, #service_bulletin a
{
    color: var(--link);
}
    main a:hover, #info a:hover, #service_bulletin a:hover
    {
        color: var(--link-highlight);
    }

.break-text
{
    display: inline-block;
}

.header
{
    font-size: 3em;
    margin: 25px 0 25px 0;
}

.letter
{
    width: calc(100% - 400px);
    padding: 0 200px 0 200px;
}

.clear
{
    clear: both;
}

.image-padding-right
{
    display: block;
    position: relative;
    float: left;
    padding: 25px 25px 25px 0;
}

.image-padding-left
{
    display: block;
    position: relative;
    float: right;
    padding: 25px 0 25px 25px;
}

a
{
    text-decoration: none;
    z-index: 1000;
    color: inherit;
    cursor: pointer;
}
    p > a
    {
        text-decoration: underline;
    }
    a:hover
    {
        text-shadow: 0px 0px 0px black;
    }

p
{
    font-size: 14pt;
    line-height: 2;
    margin: 7px 0;
}
    p > b:first-letter
    {
        font-size: 1.5em;
    }

li
{
    list-style: square;
}


body
{
    font-size: 14pt;
    color: black;
    overflow-x: hidden;
}

#in_mass
{
    display: none;
}

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

    header
    {
        height: 210px !important;
    }
        #masthead
        {
            width: 250px !important;
            height: 120px !important;
            margin: 25px auto 0 auto !important;
            display: block;
        }
            #in_the_commonwealth
            {
                display: none;
            }
            #in_mass
            {
                display: inline-block;
            }
        nav
        {
            width: calc(100% - 100px) !important;
            height: auto !important;
            position: absolute;
            top: -100px;
            display: block;
        }
            .nav_category
            {
                width: 100% !important;
                display: block !important;
                font-size: 1.2em !important;
                line-height: 2 !important;
            }

        #compact_nav
        {
            display: block !important;
            z-index: 1000 !important;
        }
            .expand_compact_nav
            {
                height: 100% !important;
                overflow-y: scroll !important;
            }

    #engagement
    {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}


header
{
    width: 100%;
    height: 135px;
    background: #EAEAEA;
    opacity: .95;
    position: absolute;
    top: 0;
    z-index: 100000;
    overflow: hidden;
}
    #masthead
    {
        width: 100%;
        height: 75px;
        font-size: 15px;
        text-align: center;
        z-index: 10;
        margin: 25px 0 10px 0;
    }
        #masthead_title, #masthead_title span
        {
            font-family: Amador, Old English, Olde English, Garamond, Times !important;
            font-size: 30px;
            font-weight: bold;
        }
        #masthead_description
        {
            font-style: italic;
            font-family: garamond;
        }


    .expand_header
    {
        height: 275px;
        transition: height 1s;
    }
    .contract_header
    {
        height: 135px;
        transition: height 1s;
    }

    /*
    #newsletter, #service_times
    {
        position: absolute;
        line-height: 1.2;
    }
    */

    #compact_nav
    {
        width: 100%;
        height: 200px;
        position: relative;
        display: none;
    }
        #compact_nav_button
        {
            width: 50px;
            height: 50px;
            position: relative;
            margin: 0 auto;
            border-radius: 3px;
        }

    nav
    {
        width: 600px;
        height: 200px;
        margin: 0 auto 0 auto;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        clear: both;
    }
        .nav_category
        {
            width: calc(100% / 7);
            min-width: 80px;
            height: auto;
            display: inline-block;
            text-align: center;
        }
            .nav_link, #links
            {
                display: inline-block;
                margin-bottom: 5px;
            }


    main
    {
        width: 100%;
        height: auto;
    }

    .section
    {
        width: 100vw;
        height: 100vh;
        display: block;
        position: relative;
        overflow: hidden;
        z-index: 0;
    }
        .flex_section, .flex_section_textured
        {
            width: 100vw;
            min-height: 100vh;
            display: block;
            position: relative;
            overflow: hidden;
            padding: 25px 0 25px 0;
            z-index: 0;
        }
            .flex_section b, .flex_section_textured b
            {
                font-size: 1.25em;
            }
            .flex_section p, .flex_section_textured p,
            .flex_section h1, .flex_section_textured h1
            {
                width: calc(100% - 100px);
                padding: 0 50px 0 50px;
            }
            .flex_section_textured
            {
                background: url("../images/textures/linen.jpg");
            }
        .section_background
        {
            width: auto;
            height: auto;
            min-height: 100%;
            min-width: 100%;
            position: inherit;
            left: 50%;
            transform: translateX(-50%);
            z-index: -1;
            user-select: none;
            -webkit-user-select: none; /* Safari */
            -moz-user-select: none;
        }
        .section_content
        {
            width: 100%;
            height: auto;
            display: block;
            position: relative;
            top: 0;
            z-index: 1;
        }

    #back_to_top_button
    {
        width: 100px;
        height: 80px;
        background: #EAEAEA;
        position: fixed;
        top: 0;
        right: 0;
        cursor: pointer;
        z-index: 1000;
        border: none;
        border-radius: 3px;
        box-shadow: -1px 1px 5px rgba(0, 0, 0, .25);
        display: none;
        justify-content: center;
        align-items: center;
        font-size: 35px;
        color: #454545;
    }
        #back_to_top_button:hover
        {
            text-shadow: 1px 0 0 black;
        }

    .quote
    {
        width: calc(100% - 100px);
        height: 100px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 50px;
    }
        .quote img
        {
            max-width: 500px;
            min-width: 350px;
            height: auto;
        }

    footer
    {
        width: 100%;
        display: block;
        position: relative;
        float: left;
    }
        #legal_notice
        {
            max-width: 66%;
            color: white;
            position: absolute;
            bottom: 10px;
            left: 10px;
        }

        #design_mark
        {
            width: 50px;
            height: 50px;
            position: absolute;
            bottom: 10px;
            right: 10px;
            border-radius: 3px;
            cursor: pointer;
            opacity: .8;
        }
            #design_mark:hover
            {
                opacity: 1;
            }
