  /* Template N */

:root
{
    --Color_Primary:            hsl(0deg 0% 31%); /* 8.19 */
    --Color_PrimaryDk:          hsl(0deg 0% 23%); /* 11.2 */
    --Color_Secondary:          hsl(0deg 0% 41%); /* 5.48 */

    --Color_Accent:             hsl(0deg 0% 70%); /* 3.15 */

    --Color_BackgroundLt:        hsl(0deg 0% 95%); /* 1.11 */
    --Color_BackgroundDk:        hsl(0deg 0% 20%); /* 1.11 */
    --Color_BackgroundNotice:    var(--Color_Secondary);

    --Color_White:               hsl(0deg 0% 100%); /* 1.11 */
    --Color_WhiteTrans:          hsl(0deg 0% 100% / 80%); /* 1 */

    --Color_Text:               hsl(0deg 0% 15%); /* 15.13 */
    --Color_Link:               var(--Color_Secondary);
    --Font_Base:                Arial,Helvetica,sans-serif;
    --Font_Heading:             Arial,Helvetica,sans-serif;

    --Site_BoxShadow:           1px 2px 4px rgba(0,0,0,.16);
    --Site_DropShadow:          1px 2px 4px rgba(0,0,0,.16);
    --Site_BorderRadius:        0;

    --Site_ButtonBG:            var(--Color_BackgroundLt);
    --Site_ButtonColor:         var(--Color_Primary);
    --Site_ButtonBGHover:       var(--Color_Primary);
    --Site_ButtonColorHover:    var(--Color_White);
    --Site_ButtonBGAlt:         var(--Color_White);
    --Site_ButtonBorder:        none;
    --Site_ButtonBorderHover:   none;
    --Site_ButtonBorderAlt:     none;

    --Site_HeaderMainMinHeight: 120px;
    --Site_ComponentMargin:     3rem;
    --Site_ComponentWidth:      calc(100% - (var(--Site_ComponentMargin) * 2));
    --Site_HeadEleMarginTop:    10px;
}

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

/* Body */
.page_body,
.fbd_content,
.fbcms_htmleditor
{
    color: var(--Color_Text);
    font: 400 1rem/1.5 var(--Font_Base);
}
.page_body
{
	background: var(--Color_White);
	margin: 0;
	min-width: 320px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: none;
    height: 100vh;
}
.fbd_content,
.fbcms_htmleditor
{
    background-color: var(--Color_White);
}
/* END Body */

/* General Styling */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
	display: block;
}

img {
	border-style: none;
	max-width: 100%;
	height: auto;
}
.fbcms_content img:not(.email_icon)
{
    max-width: 100%;
    height: auto !important;
}

a,
.fbcms_spotlight_text .more_link,
.fbcms_cards .fbcms_card_link {
	color: var(--Color_Link);
}
@media only screen and (min-width: 768px)
{
    :target::before { /*adds padding to anchor links to accomodate sticky header*/
        content: "";
        display: block;
        height: 150px;
        margin: -150px 0 0;
    }
}

input,
textarea,
select {
	font: 100% var(--Font_Base);
	color: #666;
	vertical-align: middle;
}

form,
fieldset {
	margin: 0;
	padding: 0;
	border-style: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

button,
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="submit"] {
	cursor: pointer;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	margin: 0;
	padding: 4px 7px;
}

textarea {
	overflow: auto;
	resize: vertical;
	vertical-align: top;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
}
/* END General Styling */

/* wrapper & overall structure */
.fbcms_wrapper
{
    overflow: hidden;
}
.fbcms_component
{
    max-width: 100%;
    display: block;
    width: 100%;
}
.fbcms_component::after
{
    content: "";
    display: table;
    clear: both;
}
.component_liner
{
    width: 100%;
}
@media only screen and (min-width: 768px)
{
    .component_liner,
    .navigation_slider,
    .fbcms_ppz_widget_liner
    {
        width: 96%;
        height: 100%;
        position: relative;
        max-width: var(--Site_ComponentWidth);
        margin: 0 auto;
    }
}
@media print {
}
.nav-slider-deactivated .navigation_slider
{
	width: 96%;
	height: 100%;
	position: relative;
	max-width: var(--Site_ComponentWidth);
	margin: 0 auto;
}

/*
===========================================================
 HEADER
===========================================================
*/
.fbcms_header
{
    background: var(--Color_White);
    z-index: 3;
}
.site_notice_wrapper
{
    background-color: var(--Color_BackgroundNotice);
    color: var(--Color_White);
}
.site_notice_wrapper .site_notice
{
    padding: 12px 12px 1px;
    text-align: center;
}
.site_notice_wrapper a,
.site_notice_wrapper .content_intro
{
    color: var(--Color_White);
}
.fbcms_header .header_main
{
    position: relative;
}
@media only screen and (min-width: 768px) 
{
    .fbcms_header
    {
        display: flex;
        flex-direction: column;
    }
    .fbcms_header:not(.shrink) .header_main
    {
        min-height: var(--Site_HeaderMainMinHeight);
    }
    .fbcms_header.shrink
    {
        box-shadow: var(--Site_DropShadow);
    }
    .fbcms_header.shrink .header_main
    {
        height: auto;
    }
    .fbcms_header div.fbcms_ppz_widget
    {
        order: 1;
    }
    .fbcms_header div.site_notice_wrapper
    {
        order: 2;
    }
    .fbcms_header div.navigation_wrapper
    {
        order: 3;
        background: var(--Color_Primary);
    }
    .fbcms_header > div
    {
        order: 4;
    }
    .site_notice_wrapper .site_notice
    {
        padding: 12px 0 1px;
    }
    .fbcms_header .header_main
    {
        position: relative;
    }
}

/* Logo */
.logo {
    display: block;
    width: fit-content;
    margin-top: 40px;
    padding: 12px;
    text-decoration: none;
}
.site_logo,
.site_logo_text
{
    display: inline-block;
    vertical-align: middle;
    line-height: 0;
}
.site_logo img,
.site_logo_text img {
    max-width: 100%;
    height: auto;
}
@media only screen and (min-width: 768px)
{
    .logo {
        display: flex;
        justify-content: center;
        padding: 10px 0;
        margin: 0 auto;
        max-width: 50%;
    }
    .fbcms_header.shrink .logo
    {
        width: 350px;
        transition: all .2s;
    }
    .site_logo {
        margin: 0 0 0 0;
    }

    .site_logo_text {
        margin: 0 0 0 0;
    }
}
@media print {
}

/* Search */
.search-form
{
    position: absolute;
    top: 0;
    right: 51px;
    width: auto;
    z-index: 102; 
    color: var(--Color_White);
    overflow: hidden;
}

.search-form .search-input,
.search-form .submit
{
    display: inline-block;
    height: 40px;
    vertical-align: middle;
    border: none;
}

.search-form .search-input
{
    width: 152px;
    background-color: var(--Color_BackgroundLt);
    color: var(--Color_Primary);
    padding: 0;
    width: 0;
    transition: all .2s linear;
}
.search-form.opened .search-input 
{
    padding-left: 10px;
    width: 160px;
}
.search-form .submit
{
    color: var(--Color_White);
    background: var(--Color_Primary);
    float: right;
    text-indent: -9999px;
    width: 40px;
    position: relative;
    transition: all .2s;
}
.search-form .submit:after
{
    content: "\f002";
    font: 1.25rem/2.5rem 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    text-indent: 0;
}
.search-form .submit:hover,
.search-form .submit:focus
{
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
}

.search-form legend,
.search-form label
{
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
@media only screen and (min-width: 768px)
{
    .search-form
    {
        right: 0;
        top: var(--Site_HeadEleMarginTop);
        border-radius: var(--Site_BorderRadius);
    }
    .search-form .submit
    {
        color: var(--Color_Primary);
        background: var(--Color_BackgroundLt);
    }
    .search-form .submit:hover,
    .search-form .submit:focus
    {
        background-color: var(--Color_Primary);
    }
}
@media print {
    .search-form
    {
        display: none;
    }
}
/* END Search */

/* Translate */
.fbcms_header .fbcms_translate
{
    position: absolute;
    top: 0;
    right: 100px;
}
.fbcms_header .fbcms_translate.fbcms_drop .drop_container
{
    right: 0;
}
.translatedrop_title 
{
    color: var(--Color_White);
}
.translatedrop_title:after,
.translatedrop_title:before
{
    content: "\f107";
    display: inline-block;
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    vertical-align: bottom;
}
.translatedrop_title:before
{
    content: "\f1ab";
    margin-right: 8px;
}
.translatedrop_title:after
{
    margin-left: 8px;
    transition: transform .3s;
    transform-origin: center;
}
.fbcms_translate.fbcms_drop.dropopen .translatedrop_title:after
{
    transform: rotate(180deg);
}
@media only screen and (min-width: 768px)
{
    .fbcms_header .fbcms_translate
    {
        top: var(--Site_HeadEleMarginTop);
        right: 50px;
    }
    .translatedrop_title 
    {
        color: var(--Color_Secondary);
    }
    .translatedrop_title:hover,
    .translatedrop_title:focus
    {
        color: var(--Color_Primary);
    }
}

/* Site Scripts */
.fbcms_content.site_script_head
{
    display: block;
    text-align: right;
}
.fbcms_content.site_script_foot
{
    display: block;
    position: relative;
    margin-bottom: 1rem;
}
.vpadm_editable_section.site_script_head
{
    height: 0;
    min-height: 0;
}
@media only screen and (min-width: 768px)
{
    .fbcms_content.site_script_head {
        position: absolute;
        top: calc(40px + (var(--Site_HeadEleMarginTop) * 2));
        right: 0;
        z-index: 4;
    }

    .fbcms_header.shrink .site_script_head
    {
        display: none;
    }
}
@media only screen and (max-width: 767px)
{
    .header_main_wrapper
    {
        border-top: 2.5rem solid var(--Color_Primary);
    }
    .header_main
    {
        padding-top: 1px;
        margin-top: -2.5rem;
    }
    .fbcms_content.site_script_head {
        margin: 0 12px 12px;
    }
}
@media print
{
}

/* Social Media Script */
.fbcms_content ul.social_media_list {
    margin: 0;
}
.social_media_list:after
{
    content: "";
    display: table;
    clear: both;
}
.fbcms_content ul.social_media_list > li {
    display: inline-block;
    margin: 0 .5em .5em 0;
    list-style: none;
}

.fbcms_content ul.social_media_list > li:first-child {
    margin-left: 0;
}
.fbcms_content ul.social_media_list > li:last-child {
    margin-right: 0;
}

.fbcms_content .social_media_list a {
    color: var(--Color_Secondary);
    text-align: center;
}
.social_media_list a:hover,
.social_media_list a:focus
{
    color: var(--Color_Primary);
    text-decoration: none;
}
.social_media_list a.social-media-circle
{
    display: grid;
    align-content: center;
    height: 2.5em;
    width: 2.5em;
    line-height: 1;
    padding: .5em .25em;
    color: var(--Brand_Color);
    background-color: var(--Brand_ColorContrast);
    border: solid 2px var(--Brand_Color);

    color: var(--Color_Link);
    background-color: var(--Color_White);
    border: solid 2px var(--Color_Link);

    border-radius: 50%;
    text-decoration: none;
    --Brand_Color: var(--Color_Link);
    --Brand_ColorContrast: var(--Color_White);
}
.social_media_list a.social-media-circle:hover,
.social_media_list a.social-media-circle:focus
{
    color: var(--Brand_ColorContrast);
    background-color: var(--Brand_Color);
    border-color: var(--Brand_Color);
}
.social_media_list a.facebook
{
    --Brand_Color: #1877f2;
}
.social_media_list a.twitter
{
    --Brand_Color: #1da1f2;
    --Brand_ColorContrast: #14171a;
}
.social_media_list a.vimeo
{
    --Brand_Color: #162221;
    --Brand_ColorContrast: #1ab7ea;
}
.social_media_list a.instagram
{
    --Brand_Color: #c13584;
}
.social_media_list a.linkedin
{
    --Brand_Color: #0a66c2;
}
.social_media_list a.youtube
{
    --Brand_Color: #ff0000;
}
.social_media_list a.script_button 
{
    padding: .25em .5em;
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
    text-decoration: none;
}
.social_media_list a.script_button:hover,
.social_media_list a.script_button:focus
{
    background-color: var(--Color_Primary);
    color: var(--Color_White);
}
@media print
{
    .fbcms_content ul.social_media_list {
        display: none;
    }
}
/*
===========================================================
 END HEADER
===========================================================
*/

/*
===========================================================
 MENUS
===========================================================
*/

/* Head Menu */
@media only screen and (min-width: 768px)
{   
	.menu_head
	{
        position: absolute;
        left: 0;
        top: calc(100% + var(--Site_HeadEleMarginTop));
        z-index: 101;
	}

	.menu_head li
	{
		padding: 0 2px;
		position: relative;
	}
	.menu_head li:first-child
	{
		padding-left: 0;
	}
	.menu_head li:last-child
	{
		padding-right: 0;
	}

	.menu_head a
    {
        display: inline-block;
        padding: .5em;
        background-color: var(--Color_BackgroundLt);
        color: var(--Color_Primary);
        transition: all .2s;
        font-weight: bold;
        border-radius: var(--Site_BorderRadius);
	}
    .menu_head ul li a:hover,
    .menu_head ul li a:focus
    {
        text-decoration: none;
        background-color: var(--Color_Primary);
        color: var(--Color_White);
    }
}
@media only screen and (min-width: 1200px)
{   
    .menu_head
    {
        top: calc(100% + var(--Site_HeadEleMarginTop));
    }
}

/* Foot Menu */
.menu_foot {
    display: block;
    margin-bottom: 1.5rem;
}
.menu_foot:before
{
    content: "Quick Links";
    display: block;
    font-size: 1.2em;
    color: var(--Color_Primary);
    font-weight: bold;
}
.menu_foot .simplemenu_container
{
    display: block;
}
.menu_foot.list-nav ul li {
    display: block;
    font-size: 1rem;
    margin-bottom: 10px;
}
.menu_foot ul li a 
{
    display: block;
    background-color: var(--Color_BackgroundLt);
    color: var(--Color_Link);
    padding: .5em;
}
.menu_foot ul li a:hover,
.menu_foot ul li a:focus
{
    background-color: var(--Color_Primary);
    color: var(--Color_White);
    text-decoration: none;
}

/* Quicklinks Menu */
@media only screen and (max-width: 767px)
{
    .drop-nav.menu_quicklinks .menu_title
    {
        display: none;
    }
    .drop-nav.menu_quicklinks .simplemenu_container {
        display: block;
    }
}
@media only screen and (min-width: 768px)
{
    .fbcms_header .menu_quicklinks {
        display: block;
        position: absolute;
        left: 0;
        top: calc(100% + (30px + (var(--Site_HeadEleMarginTop) * 2)));
        z-index: 997;
    }

    .fbcms_header .menu_quicklinks .menu_title
    {
        display: block;
        position: relative;
        font-size: inherit;
        padding: .5em .75em;
        font-weight: bold;
        color: var(--Color_Primary);
        background-color: var(--Color_BackgroundLt);
        text-decoration: none;
        transition: all .2s;
        border-radius: var(--Site_BorderRadius);
    }
    .fbcms_header .menu_quicklinks.menuopen .menu_title
    {
        border-radius: var(--Site_BorderRadius) var(--Site_BorderRadius) 0 0;
    }
    .fbcms_header .menu_quicklinks .menu_title:hover,
    .fbcms_header .menu_quicklinks .menu_title:focus
    {
        background-color: var(--Color_Primary);
        color: var(--Color_White);
    }
    .fbcms_header .menu_quicklinks .menu_title:after
    {
        display: inline-block;
        content: "\f107";
        font-weight: 900;
        font-family: 'Font Awesome 5 Free';
        vertical-align: bottom;
        margin-left: 8px;
        transition: transform .3s;
        transform-origin: center;
    }
    .fbcms_header .menu_quicklinks.menuopen .menu_title:after
    {
        transform: rotate(180deg);
    }

    .fbcms_header .menu_quicklinks .simplemenu_container
    {
        background-color: var(--Color_BackgroundLt);
        min-width: 200px;
        width: max-content;
        max-width: 250px;
        box-shadow: var(--Site_BoxShadow);
        border-radius: 0 var(--Site_BorderRadius) var(--Site_BorderRadius) var(--Site_BorderRadius);
    }
    .fbcms_header .menu_quicklinks .simplemenu_container a
    {
        display: block;
        line-height: 1.4;
        padding: .5em 1em;
        text-decoration: none;
        color: var(--Color_PrimaryDk);
        transition: all .2s;
    }
    .fbcms_header .menu_quicklinks .simplemenu_container a:hover,
    .fbcms_header .menu_quicklinks .simplemenu_container a:focus
    {
        background-color: var(--Color_Primary);
        color: var(--Color_White);
    }
}
@media only screen and (min-width: 1200px)
{
    .fbcms_header .menu_quicklinks {
        left: 130px;
        top: calc(100% + var(--Site_HeadEleMarginTop));
    }
}


/* Subpages Menu */
.fbcms_rdropmenu.menu_subpages {
    z-index: 997;
}
.menu_subpages .menu_title,
.menu_subpages .menu_opener
{
    background-color: var(--Color_Primary);
}
.fbcms_rdropmenu.menu_subpages .menu_title:hover,
.fbcms_rdropmenu.menu_subpages .menu_title:focus,
.fbcms_rdropmenu.menu_subpages.menuopenu .menu_title,
.fbcms_rdropmenu.menu_subpages .menu_title:hover .menu_opener,
.fbcms_rdropmenu.menu_subpages .menu_title:focus .menu_opener
{
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
}
.menu_subpages .simplemenu_container
{
    background-color: var(--Color_Secondary);
}
@media print, screen and (min-width: 768px)
{
    .menu_subpages.drop-nav
    {
        display: none;
    }
}

/* Breadcrumb Nav */
.breadcrumb-nav
{
    padding: 6px 0;
    margin-bottom: 10px;
}
.breadcrumb-nav li
{
    font-size: .9rem;
    line-height: 1.3;
}
.breadcrumb-nav li:after {
    color: #D1D1D1;
    content: "/ ";
    padding: 0 6px;
}
.breadcrumb-nav li:last-child:after {
    display: none;
}
@media only screen and (min-width: 768px)
{
    .breadcrumb-nav
    {
        display: none;
    }
}

/* ==== Main Menu =============================================== */
/* Old Styling */
@media only screen and (min-width: 768px)
{
    .menu_title.menusection_title
    {
        display: none;
    }
    .main-nav 
    {
        position: relative;
        z-index: 998;
    }
    .main-nav .top_level
    {
        float: none;
        display: flex;
        justify-content: space-evenly;
    }
    .main-nav .top_level_item
    {
        margin-left: 1px;
        flex: 0 2 fit-content;
    }
    .main-nav .top_level_item > .link_pair,
    .main-nav .top_level_item .top_level_link
    {
        height: 100%;
    }
    .main-nav .top_level_link
    {
        color: var(--Color_White);
        font-size: 1rem;
        padding: 8px 12px;
        text-decoration: none;
        text-align: center;
        display: grid;
        align-content: center;
        transition: background .2s;
    }
    .shrink .main-nav .top_level_link
    {
        font-size: 1rem;
        transition: background .2s, font-size .2s;
    }
    .main-nav .top_level_item.active .top_level_link,
	.main-nav .top_level_item:hover .top_level_link,
    .main-nav .top_level_item.hoverfocus .top_level_link
    {
        background-color: var(--Color_PrimaryDk);
    }
    
    /* drop-down */
    .main-nav .top_level_item > .drop
    {
        top: 100%;
        background-color: var(--Color_PrimaryDk);
        width: 260px;
        min-width: 100%;
        -webkit-box-shadow: 0px 1px 2px -1px rgba(0,0,0,0.7);
        -moz-box-shadow: 0px 1px 2px -1px rgba(0,0,0,0.7);
        box-shadow: var(--Site_BoxShadow);
        overflow: auto;
        border-radius: 0 var(--Site_BorderRadius) var(--Site_BorderRadius) var(--Site_BorderRadius);
    }
    .main-nav .top_level_item > .drop a.item_link
    {
        position: relative;
        color: var(--Color_White);
        font-weight: bold;
        text-decoration: none;
        padding: .5em 1em;
        transition: all .2s;
    }
    .main-nav .top_level_item > .drop li a:hover,
    .main-nav .top_level_item > .drop li a:focus
    {
        background-color: var(--Color_Primary);
        color: var(--Color_White);
    }
}
@media only screen and (min-width: 994px)
{    
    .main-nav .top_level_item
    {
        margin-left: 1px;
    }
    .main-nav .top_level_link
    {
        font-size: 1.2rem;
        padding: 12px 20px;
    }
}
@media print {
    .navigation_wrapper
    {
        display: none !important;
    }
}

/* New Styling */
.nav-slider-deactivated .menu_title.menusection_title
{
	display: none;
}
.nav-slider-deactivated .nav-main
{
	position: relative;
    z-index: 998;
}
.nav-slider-deactivated .nav-main .top_level
{
    float: none;
    display: flex;
    justify-content: space-evenly;
}
.nav-slider-deactivated .nav-main .top_level_item
{
	margin-left: 1px;
    flex: 0 2 fit-content;
}
.nav-slider-deactivated .nav-main .top_level_item > .link_pair,
.nav-slider-deactivated .nav-main .top_level_item .top_level_link
{
    height: 100%;
}
.nav-slider-deactivated .nav-main .top_level_link
{
	color: var(--Color_White);
	font-size: 1rem;
	padding: 8px 12px;
	text-decoration: none;
    text-align: center;
    display: grid;
    align-content: center;
    transition: background .2s;
}
.nav-slider-deactivated .shrink .nav-main .top_level_link
{
    font-size: 1rem;
    transition: background .2s, font-size .2s;
}
.nav-slider-deactivated .nav-main .top_level_item.active .top_level_link,
.nav-slider-deactivated .nav-main .top_level_item:hover .top_level_link,
.nav-slider-deactivated .nav-main .top_level_item.hoverfocus .top_level_link
{
	background-color: var(--Color_PrimaryDk);
}

/* drop-down */
.nav-slider-deactivated .nav-main .top_level_item > .drop
{
	top: 100%;
	background-color: var(--Color_PrimaryDk);
    width: 240px;
    min-width: 100%;
	-webkit-box-shadow: 0px 1px 2px -1px rgba(0,0,0,0.7);
	-moz-box-shadow: 0px 1px 2px -1px rgba(0,0,0,0.7);
	box-shadow: var(--Site_BoxShadow);
	overflow: auto;
    border-radius: 0 0 var(--Site_BorderRadius) var(--Site_BorderRadius);
}
.nav-slider-deactivated .nav-main .top_level_item > .drop li.sublist_item 
{
}
.nav-slider-deactivated .nav-main .top_level_item > .drop a.item_link
{
    position: relative;
	color: var(--Color_White);
    font-weight: bold;
	text-decoration: none;
    padding: .5em 1em;
    transition: all .2s;
}
.nav-slider-deactivated .nav-main .top_level_item > .drop li a:hover,
.nav-slider-deactivated .nav-main .top_level_item > .drop li a:focus
{
    background-color: var(--Color_Primary);
	color: var(--Color_White);
}

@media only screen and (min-width: 994px)
{    
    .nav-slider-deactivated .nav-main .top_level_item
    {
    	margin-left: 1px;
    }
    .nav-slider-deactivated .nav-main .top_level_link
    {
    	font-size: 1.2rem;
        padding: 12px 20px;
    }
}
.nav-slider-active .nav-slider-button.slider-button {
    top: 4px;
    right: 12px;
}

/* nav slider */
@media only screen and (max-width: 767px) {
    .nav-slider-button.secondary-opener
    {
        top: 4px;
        right: 12px;
        position: absolute;
        display: block;
    }

    .header_liner > .nav-slider-button.slider-button:before, 
    .header_liner > .nav-slider-button.slider-button:after, 
    .header_liner > .nav-slider-button.slider-button span {
        background-color: #fff;
    }
    
    .header_liner > .nav-slider-button.slider-button:hover:before, 
    .header_liner > .nav-slider-button.slider-button:hover:after, 
    .header_liner > .nav-slider-button.slider-button:hover span {
        box-shadow: var(--Site_BoxShadow);
        background-color: var(--Color_BackgroundLt);
    }
}

/* nav slider */
.nav-slider-active .nav-slider-button.slider-button:before, 
.nav-slider-active .nav-slider-button.slider-button:after, 
.nav-slider-active .nav-slider-button.slider-button span {
    background-color: var(--Color_Secondary);
    height: 4px;
}
.nav-slider-active .header_liner > .nav-slider-button.slider-button:before, 
.nav-slider-active .header_liner > .nav-slider-button.slider-button:after, 
.nav-slider-active .header_liner > .nav-slider-button.slider-button span {
    background-color: #fff;
}

.nav-slider-active .header_liner > .nav-slider-button.slider-button:hover:before, 
.nav-slider-active .header_liner > .nav-slider-button.slider-button:hover:after, 
.nav-slider-active .header_liner > .nav-slider-button.slider-button:hover span {
    box-shadow: 0 0 5px var(--Color_White);
}

/* Slider Colors */
.nav-slider-active .nav-slider .slide-liner
{
    padding: 2.5rem 1rem;
}
.navslideout .nav-slider .nav-main .menu_title, 
.navslideout .nav-slider .nav-main .top_level_link
{
    font-size: 1rem;
}
.navslideout .nav-slider .nav-main .drop .item_link
{
    line-height: 1.4;
}
.nav-slider-active.navslideout .nav-slider
{
    background-color: var(--Color_White);
    box-shadow: var(--Site_BoxShadow);
}
.nav-slider-active .nav-slider a
{
    color: var(--Color_Link);
}
.navslideout .nav-slider .nav-main .top_level_item:not(:last-child)
{
    border-bottom: solid 1px var(--Color_Accent);
}
.navslideout .nav-slider .nav-main .menu_title,
.navslideout .nav-slider .simple-nav .menu_title,
.navslideout .nav-slider .menu_title.menusection_title
{
    border-radius: var(--Site_BorderRadius) var(--Site_BorderRadius) 0 0;
    border-top: none;
    background-color: var(--Color_BackgroundLt);
    color: var(--Color_PrimaryDk);
    font-weight: bold;
}
.navslideout .nav-slider .nav-main .main-drop-opener
{
    background-color: var(--Color_BackgroundLt);
    color: var(--Color_Link);
}
.navslideout .nav-main .link_pair .main-drop-opener:hover, 
.navslideout .nav-main .link_pair .main-drop-opener:focus
{
    background-color: var(--Color_Link) !important;
    color: var(--Color_White);
    text-shadow: none;
}
.navslideout .nav-slider .nav-main .top_level_link,
.navslideout .nav-slider .nav-main .top_level_item > .link_pair > .main-drop-opener,
.navslideout .nav-slider .nav-main .top_level_item > .drop,
.navslideout .nav-slider .nav-main .sublist_item > .link_pair > .main-drop-opener, 
.navslideout .nav-slider .nav-main .sublist_item > .drop,
.navslideout .nav-slider .nav-main .sublist_item > .link_pair > .main-drop-opener,
.navslideout .nav-slider .nav-main .sublist_0 .item_link {
    background-color: var(--Color_White);
    border-top: none;
    border-bottom: none;
}
.navslideout .nav-slider .simple-nav .menu_title
{
    cursor: unset;
}
/*
===========================================================
 END MENUS
===========================================================
*/

/*
===========================================================
 MAIN CONTENT FRAMEWORK
===========================================================
*/
.fbcms_main
{
    flex: 1;
}
@media only screen and (min-width: 768px)
{
    .fbcms_main
    {
        overflow: hidden;
        position: relative;
        z-index: 2;
    }
    .fbcms_main
    {
        position: relative;
    }
    .columns
    {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .left_col
    {
        order: 1;
    }
    .center_col
    {
        order: 2;
    }    
    .right_col
    {
        order: 3;
    }
}

/* Flexi Content */
.section_title1,
.section_title2,
.section_title3,
.section_title4,
.section_title5
{
    padding-top: 20px;
}
.flexi
{
    position: relative;
}
.flexi .fbcms_section
{
    width: 100%;
    position: relative;
}
.flexi .fbcms_content
{
    padding: 20px 0 1rem;
}
@media only screen and (min-width: 768px)
{
    .flexi,
    .flexi .fbcms_section
    {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .fbcms_editmode .flexi .fbcms_section
    {
        margin: 0 0 30px;
    }

    /* http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/ 
    -- editmode selectors added to accomodate add block button as an additional item */

    /* When 2 or more blocks */
    .flexi .fbcms_content,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(3), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(3) ~ .fbcms_content
    {
        width: calc(50% - (3rem / 2));
    }

    .flexi .fbcms_content:only-child,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(2), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(2) ~ .fbcms_content
    {
        width: 100%;
    }

    .flexi .fbcms_section > .addblock_buttonbar_wrapper
    {
        min-width: 100%;
    }

    /* When 3 flexi content blocks*/
    .flexi .fbcms_content:first-child:nth-last-child(3), 
    .flexi .fbcms_content:first-child:nth-last-child(3) ~ .fbcms_content,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(4), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(4) ~ .fbcms_content
    {
        width: calc(33.333% - (6rem / 3));
    }

    /* When 4 flexi content blocks */
    .flexi .fbcms_content:first-child:nth-last-child(4), 
    .flexi .fbcms_content:first-child:nth-last-child(4) ~ .fbcms_content,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(5), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(5) ~ .fbcms_content
    {
        width: calc(25% - (9rem / 4));
    }

    /* When 5 flexi content blocks */
    .flexi .fbcms_content:first-child:nth-last-child(5), 
    .flexi .fbcms_content:first-child:nth-last-child(5) ~ .fbcms_content,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(6), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(6) ~ .fbcms_content
    {
        width: calc(20% - (12rem / 5));
    }

    /* When 6 flexi content blocks - back down to thirds */
    .flexi .fbcms_content:first-child:nth-last-child(6), 
    .flexi .fbcms_content:first-child:nth-last-child(6) ~ .fbcms_content,
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(7), 
    .fbcms_editmode .flexi .fbcms_content:first-child:nth-last-child(7) ~ .fbcms_content
    {
        width: calc(33.333% - (6rem / 3));
    }
    /* Any more than 6 defaults to halves */
}

/* Focus Areas */
.main_focus,
.fbcms_content.home_welcome
{
    background: var(--Color_Primary);
}

.home_focus,
.page_interior .inside_focus,
.page_interior .lower_inside_focus
{
    width: 100%;
}
.home_focus img
{
    width: 100%;
}

.fbcms_imagerotator .cycle-slide
{
    width: 100%;
}
.fbcms_photogallery .fbcms_imagerotator .slide img {
    margin: 0 auto;
}

.fbcms_image.inside_focus,
.fbcms_image.lower_inside_focus
{
    line-height: 0;
}

.fbcms_content.home_welcome
{
    padding: 18px 12px;
    text-align: center;
    color: var(--Color_White);
}
@media only screen and (min-width: 768px)
{   
    .home_focus
    {
        position: relative;
        z-index: 1;
    }
    .fbcms_content.home_welcome
    {
        padding: 20px 0;
    }
    .home_focus.vpadm_editable,
    .home_welcome.vpadm_editable
    {
        width: 100%;
        padding: 0;
    }
    .page_interior .lower_inside_focus img
    {
        width: 100%;
        height: auto;
    }
}
@media only screen and (min-width: 994px)
{
    .fbcms_content.home_welcome
    {
        padding: 30px 0 20px;
    }
}
@media print {
}

/* Main Content Stuff */
/* Interior Specific */
.page_interior .fbcms_main .center_content {
    padding: 12px;
}
.page_interior .side_col
{
    background-color: var(--Color_BackgroundLt);
}
.page_interior .side_col .side_content
{
    padding: 0 12px;
}
.fbcms_content.firstone
{
    padding-top: 1rem;
}
.fbcms_content.lastone
{
    padding-bottom: 1rem;
}
@media only screen and (min-width: 768px)
{
    .page_interior .column.center_col
    {
        width: 70%;
    }

    .page_interior .fbcms_main .center_content
    {
        padding: 20px 0 20px 20px;
    }
    .page_interior .fbcms_main .side_col
    {
        width: 30%;
        min-width: 260px;
        position: relative;
    }
    .page_interior .side_col .side_content
    {
        padding: 20px;
    }
    .page_interior .center_content .column {
        width: calc(50% - 1.5rem);
    }
}
@media only screen and (min-width: 994px)
{
    .page_home .wide_content.fbcms_content.firstone:not(.tab_content)
    {
        padding-top: 3rem;
    }
    .page_home .wide_content.fbcms_content.lastone
    {
        padding-bottom: 3rem;
    }
    .page_interior .fbcms_main .center_content
    {
        padding: 30px 0 30px 30px;
    }
    .page_interior .side_col .side_content
    {
        padding: 20px 30px;
    }
}

/* Home Specific */
.page_home .fbcms_main .component_liner
{
    padding: 0 12px;
}
.home_component2
{
}
/* columns */
.home_component3:not(:has(.fbcms_content))
{
    display: none;
}
.home_component4
{
}
.home_component5
{
}
.home_component6
{
}
@media only screen and (min-width: 768px)
{
    .page_home .fbcms_main .component_liner
    {
        padding: 0;
    }
    .page_home .twocol .column
    {
        width: calc(50% - 1rem);
        position: relative;
    }
}
@media print {
}

/* School Home Specific */
.page_schoolhome .school_top
{
    padding: 0;
    background: var(--Color_PrimaryDk);
    color: var(--Color_White);
}
.page_schoolhome .school_top a
{
    color: var(--Color_White);
} 
.fbcms_content.school_address
{
    padding: 12px;
    font-size: 19px;
}
.school_address > span,
.school_address .building_map > span
{
    display: block;
}   
.school_address .building_name
{
    font-weight: bold;
}
@media only screen and (min-width: 768px)
{
    .page_schoolhome .fbcms_content.school_address
    {
        padding: 12px 0;
        text-align: center;
    }
    .school_address > span
    {
        display: inline-block;
    }
    .school_address .building_map > span
    {
        display: initial;
    }
    .school_address .building_map .building_citystatezip
    {
        margin-left: 6px;
    }
    .school_address .building_name
    {
        float: left;
    }
    .school_address .building_address:after 
    {
        content: ",";
    }
    .school_address .building_phone,
    .school_address .building_fax,
    .school_address .building_attendance
    {
        float: right;
        clear: right;
    }
    .school_address .building_fax:last-child,
    .school_address .building_attendance:last-child
    {
        padding-bottom: 12px;
    }
    .school_address .building_fax::after,
    .school_address .building_attendance::after
    {
        display: table-cell;
        content: "";
        clear: both;
    }
}
@media only screen and (max-width: 767px)
{

    .school_address .building_citystatezip
    {
        margin-left: 28px;
        padding-bottom: 10px;
    }
}

/* OneCol Specific */
@media only screen and (min-width: 768px)
{
    .page_interior.page_onecol .center_content
    {
        padding-right: 0;
    } 
}

/* TabSets */
.fbcms_tabset
{
    overflow: hidden;
}
.fbcms_tabset .tabset_titlecontainer
{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 2rem;
}
.page_home .home_component3 .fbcms_tabset .tabset_titlecontainer
{
    margin-top: 1rem;
}
.page_home .fbcms_content ~ .fbcms_tabset .tabset_titlecontainer
{
    margin-top: 0;
}
.fbcms_tabset .tabset_title
{
/*    flex: 1 2 fit-content;*/
    flex: 1 2 fit-content;
    vertical-align: bottom;
}
.fbcms_tabset .tabset_title {
    position: relative;
    border-right: 3px solid transparent;
}
.fbcms_tabset .tabset_title .tabset_title_header
{
    margin: 0 0 3px !important;
}
.fbcms_tabset .tabset_title:last-child:after
{
    content: "";
    position: absolute;
    top: calc(100% - 3px);
    left: -1500px;
    right: -1500px;
    border-bottom: solid 3px var(--Color_Accent);
    z-index: 1;
}
.fbcms_tabset .tabset_title a
{
    position: relative;
    vertical-align: top;
    padding: .5em .75em;
    font-size: 1.3rem;
    color: var(--Color_Primary);
    background-color: var(--Color_BackgroundLt);
    transition: all .2s;
    border-radius: var(--Site_BorderRadius) var(--Site_BorderRadius) 0 0;
}
.fbcms_tabset .tabset_title.active a,
.fbcms_tabset .tabset_title a:hover,
.fbcms_tabset .tabset_title a:focus
{    
    color: var(--Color_White);
    background-color: var(--Color_Primary);
}
.fbcms_tabset .tabset_title a:after
{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 10px solid;
    border-color: transparent;
    transition: all .2s;
    z-index: 10;
}
.fbcms_tabset .tabset_title.active a:after,
.fbcms_tabset .tabset_title a:hover:after,
.fbcms_tabset .tabset_title a:focus:after
{
    border-top-color: var(--Color_Primary);
}

.fbcms_editmode .fbcms_tabset .tabset_title .vpadm_editable_section
{
    background-color: #ddd;
    padding-bottom: 16px;
}
.fbcms_editmode .fbcms_tabset .tabset_title.active .vpadm_editable_section
{
    background-color: var(--Color_White);
}
.tabset_content 
{
    padding: .5em .75em;
}
/* END TABSETS */

/* Side Navigation Menu */
.side-nav
{
    display: none;
}
@media only screen and (min-width: 768px)
{
    .side-nav
    {
        display: block;
        margin-bottom: 30px;
        padding: 20px;
    }
    .side-nav .sidelist_0 > li > a
    {
        color: var(--Color_Primary);
        font: bold 1.5rem/1.2 var(--Font_Heading);
        margin: 0 0 5px;
    }
    .side-nav .sidelist_1 > li
    {
        background-color: var(--Color_White);
        margin-bottom: .25em;
        border-radius: 0 var(--Site_BorderRadius) var(--Site_BorderRadius) 0;
        overflow: hidden;
    }
    .side-nav .sidelist_1 a
    {
        color: var(--Color_PrimaryDk);
        padding: .5em !important;
        transition: all .2s;
        overflow: hidden;
    }
    .side-nav .side_sublist.sidelist_2
    {
        border-left: solid 4px var(--Color_Primary);
        padding-left: 1rem;
    }
    .side-nav .sidelist_2 a
    {
        font-size: .95em;
        border-bottom: solid 1px var(--Color_White);
    }
    .side-nav .sidelist_1 a:hover,
    .side-nav .sidelist_1 a:focus,
    .side-nav .sidelist_1 .current_item > a,
    .side-nav .sidelist_1 > .active > a
    {
        color: var(--Color_White);
        background-color: var(--Color_Primary);
        text-decoration: none;
    }
    .side-nav .sidelist_2 a:hover,
    .side-nav .sidelist_2 a:focus,
    .side-nav .sidelist_2 .current_item > a
    {

        background-color: var(--Color_Secondary);
    }
}
@media only screen and (min-width: 994px)
{
    .side-nav
    {
        padding: 30px 30px 20px;
    }
}
/* END Side Navigation Menu */
/*
===========================================================
 END MAIN FRAMEWORK
===========================================================
*/

/*
===========================================================
 FOOTER
===========================================================
*/
.fbcms_footer
{
    position: relative;
}
.goog-te-gadget,
.goog-te-gadget a
{
    color: var(--Color_Link) !important;
}

.fbcms_footer .footer_main
{
    background-color: var(--Color_Primary);
    position: relative;
    z-index: 2;
}
.fbcms_footer .footer_main .column
{
    padding: 1rem;
    background: var(--Color_White);
    border-radius: var(--Site_BorderRadius);
    position: relative;
    display: block;
}
.fbcms_footer .footer_bottom
{
    background-color: var(--Color_PrimaryDk);
    text-align: center;
    color: var(--Color_White);
    position: relative;
    z-index: 2;
}
.footer_bottom a {
    color: var(--Color_White)
}

.fbcms_footer .footer_liner
{
    padding: 15px 12px;
}

.footer_logo,
.fbcms_content.building_info
{
    display: block;
    margin-bottom: 20px;
}
.fbcms_content.footer_map
{
    width: calc(100% + 2rem);
    margin: 0 -1rem -1rem;
    position: relative;
    z-index: 1;
    line-height: 0;
}
.fbcms_content.footer_map:after 
{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border: solid 20px;
    border-color: var(--Color_White) transparent transparent transparent;
    z-index: 100;
}
.credits
{
    display: block;
    margin-bottom: 10px;
}
.fbcms_footer .copyright
{
    padding-right: 10px;
    border-right: solid 1px #bbb;
    margin-right: 6px;
}
.fbcms_building_info > span,
.fbcms_building_info a.building_map > span
{
    display: block;
}

.fbcms_building_info .building_name
{
    color: var(--Color_Primary);
    font-weight: bold;
}
.fbcms_footer .fbcms_building_info .building_name
{
    font-size: 1.1em;
}

.fbcms_building_info .building_citystatezip
{
    margin-bottom: .5em;
}
.fbcms_building_info .divider
{
    display: none;
}
@media only screen and (min-width: 768px)
{
    .fbcms_footer
    {
        z-index: 2;
    }
    .fbcms_footer .footer_main .footer_liner
    {
        padding: 20px 0;
    }

    .fbcms_footer .footer_main .column
    {
        padding: 2rem;
    }
    .fbcms_footer .footer_main .column.left_col
    {
        width: calc(66.666% - 1rem);
        padding-right: calc(33.333% + 2rem);
        border-radius: var(--Site_BorderRadius) 0 0 var(--Site_BorderRadius);
    }
    .footer_map_wrapper
    {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 50%;
    }
    .fbcms_content.footer_map
    {
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .fbcms_content.footer_map:after 
    {
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        border-color: transparent transparent transparent var(--Color_White);
        filter: drop-shadow(2px 0px 2px rgba(0, 0, 0, 0.1));
    }
    .fbcms_footer .footer_main .column.right_col
    {
        width: calc(33.333% - 1rem);
        border-radius: 0 var(--Site_BorderRadius) var(--Site_BorderRadius) 0;
    }
}
@media only screen and (min-width: 994px)
{
    .fbcms_footer .footer_main .footer_liner
    {
        padding: 30px 0;
    }
}
@media only screen and (max-width: 767px)
{
    .fbcms_footer .footer_main .column.right_col
    {
        margin-top: 1rem;
    }
}
@media print {
    .fbcms_translate,
    .link_pdfviewer
    {
        display: none;
    }
}
/*
===========================================================
 END FOOTER
===========================================================
*/

/*
-------------------------------------
 Rich Text Formatting
-------------------------------------
*/
h1
{
    color: var(--Color_PrimaryDk);
    font: bold 2.5rem/1.3 var(--Font_Heading);
    margin-bottom: .2em;
}
.home_welcome h1,
.home_welcome .content_intro,
.home_welcome a
{
    color: var(--Color_White);
}
h1 span
{
    font: normal .5em/1 var(--Font_Heading);
    text-transform: uppercase;
    display: block;
}

h2,
.fbcms_tabset .tabset_title_header
{
    color: var(--Color_Primary);
    font: bold 1.8rem/1.3 var(--Font_Heading);
    margin-bottom: .3em;
}
.inside_side h2:where(:not(.fbcms_ec_titletext, .visuallyhidden))
{
    border-bottom: solid 2px var(--Color_Accent);
    display: block;
}

h3
{
    color: var(--Color_Primary);
    font: bold 1.4rem/1.4 var(--Font_Heading);
    margin-bottom: .4em;
}

h4,
.fbcms_spotlight .desc_short,
.fbcms_cards .fbcms_card_name,
.fbcms_news_headlines .fbcms_article_title,
.fbcms_newscontent .newsarticle_title,
.fbcms_upcoming_events .event_title, 
.fbcms_upcoming_events .event_title a
{
    color: var(--Color_PrimaryDk);
    font: bold 1.1rem/1.4 var(--Font_Heading);
    margin-bottom: .4em;
}

h5,
.fbcms_story_search .story_title
{
    color: var(--Color_Primary);
    font: bold 1rem/1.4 var(--Font_Heading);
    margin-bottom: .5em;
}
h6
{
    color: var(--Color_PrimaryDk);
    font: bold .925rem/1.4 var(--Font_Heading);
    margin-bottom: .5em;
}

.fbcms_content h2 + ul, .fbcms_content h2 + ol,
.fbcms_content h3 + ul, .fbcms_content h3 + ol,
.fbcms_content h4 + ul, .fbcms_content h4 + ol,
.fbcms_content h5 + ul, .fbcms_content h5 + ol,
.fbcms_content h6 + ul, .fbcms_content h6 + ol
{
    margin-top: 0;
}

.content_intro
{    
    color: var(--Color_Secondary);
    font: 300 1.3rem/1.6 var(--Font_Base);
    margin-bottom: .3em;
}
.content_intro strong
{ 
    font-weight: bold;
}

.fbcms_contentfooter .contentfooter_item.jump_url,
.fbcms_contentfooter .contentfooter_item.fbcms_newsletter_viewarchives,
.fbcms_contentfooter .contentfooter_item.fbcms_news_headlines_more
{
    display: inline-block;
}

.jump_url a,
.spotlight_button.spotlight_viewall,
.fbcms_newsletters .news_archivetoggle,
.fbcms_more_link a,
.content_buttonblock a,
.home_focus a.fbpgro_link,
.building_list .building .building_button,
.fbcms_staff_search_button input,
.fbcms_search_form .search_button,
.fbcms_search .link_button,
.fbcms_custom_form_submission .submit_button,
.fbd_contactform .form_buttons button,
.jobboard_list_result.jobboard .details_button,
.search_buttons button
{
    display: inline-block;
    height: auto;
    text-decoration: none;
    color: var(--Site_ButtonColor);
    border: var(--Site_ButtonBorder);
    background-color: var(--Site_ButtonBG);
    padding: 10px 18px;
    margin: 10px 0;
    font-weight: bold;
    border-radius: var(--Site_BorderRadius);
    transition: all .3s;
}
.fbcms_search_form .search_button,
.fbcms_search .link_button,
.search_buttons button
{
    margin: 0;
}
.inside_side .jump_url a,
.inside_side .spotlight_button.spotlight_viewall,
.inside_side .fbcms_newsletters .news_archivetoggle,
.inside_side .fbcms_more_link a,
.inside_side .content_buttonblock a
{
    background-color: var(--Site_ButtonBGAlt);
}
.jump_url a:hover,
.jump_url a:focus,
.spotlight_button.spotlight_viewall:hover,
.spotlight_button.spotlight_viewall:focus,
.fbcms_newsletters .news_archivetoggle:hover,
.fbcms_newsletters .news_archivetoggle:focus,
.fbcms_more_link a:hover,
.fbcms_more_link a:focus,
.content_buttonblock a:hover,
.content_buttonblock a:focus,
.home_focus a.fbpgro_link:hover,
.home_focus a.fbpgro_link:focus,
.building_list .building .building_button:hover,
.building_list .building .building_button:focus,
.fbcms_staff_search_button input:where(:hover, :focus),
.fbcms_search_form .search_button:where(:hover, :focus),
.fbcms_search .link_button:where(:hover, :focus),
.fbcms_custom_form_submission .submit_button:where(:hover, :focus),
.fbd_contactform .form_buttons button:where(:hover, :focus),
.jobboard_list_result.jobboard .details_button:where(:hover, :focus-visible),
.search_buttons button:where(:hover, :focus-visible)
{
    background-color: var(--Site_ButtonBGHover);
    color: var(--Site_ButtonColorHover);
    text-decoration: none;
    border: var(--Site_ButtonBorderHover);
}

.home_focus .fbpgro_linkwrapper
{
    display: block;
    padding: 0;
}
.home_focus a.fbpgro_link,
.home_welcome .content_buttonblock a
{
    border: var(--Site_ButtonBorderAlt);
}

/* Button Grid */
p.content_button-grid:where(:has(.content_buttonblock a))
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    grid-gap: 1rem;
    position: relative;
}
p.content_button-grid .content_buttonblock a
{
    display: block;
    margin: 0;
    height: 100%;
    display: flex;
    gap: .25em;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: .5rem;
    min-height: 4rem;
}
/*
-------------------------------------
 END Rich Text Formatting
-------------------------------------
*/

/*
===========================================================
 Calendar Styling
===========================================================
*/
.fbcms_lunchmenu .fbcms_table_cell .lm_datetop
{
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
}

/* Upcoming Events */
.fbcms_content.fbcms_upcoming_events .fbcms_singleday_event_item,
.fbcms_content.fbcms_upcoming_events .fbcms_upcoming_event_item
{
    margin-bottom: 2em;
} 
li.fbcms_upcoming_event_item .event_date
{
    color: var(--Color_PrimaryDk);
}
li.fbcms_upcoming_event_item .event_group_data
{
    border-left: solid 2px var(--Color_Secondary);
    padding-left: 1rem;
}
.fbcms_content.fbcms_upcoming_events .fbcms_upcoming_event
{
    margin-bottom: 1em;
}
li.fbcms_upcoming_event_item .event_title,
.fbcms_upcoming_events .event_title
{
    margin-bottom: 0;
}
.fbcms_upcoming_events .time
{
    font-size: .8em;
}
li.fbcms_upcoming_event_item .event_title:hover, 
li.fbcms_upcoming_event_item .event_title:focus
{
    text-decoration: underline;
}

/* Wide Horizontal Events */
.wide_content.fbcms_upcoming_events .fbcms_upcoming_event_group,
.wide_content.fbcms_upcoming_events .fbcms_upcoming_event_item 
{
    text-align: left;
    padding: 20px 16px 10px;
    background: var(--Color_BackgroundLt);
    box-shadow: var(--Site_BoxShadow);
    margin-bottom: 1rem;
    border-radius: var(--Site_BorderRadius);
}
.wide_content li.fbcms_upcoming_event_item .event_group_date,
.wide_content li.fbcms_upcoming_event_item .event_date,
.wide_content li.fbcms_upcoming_event_item .event_group_data
{
    display: block;
    width: 100%;
    padding: 0 0 .5rem;
}
.wide_content li.fbcms_upcoming_event_item .event_date
{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    text-align: center;
    border-bottom: solid 1px var(--Color_Accent);
    margin: 0 0 .75rem;
}
.wide_content li.fbcms_upcoming_event_item .event_group_date .event_day
{
    font-size: 2.75rem;
    color: var(--Color_Primary);
}
.wide_content li.fbcms_upcoming_event_item .event_group_date .event_dayofweek
{
    text-align: right;
    padding-right: 1em;
    color: var(--Color_PrimaryDk);
}
.wide_content li.fbcms_upcoming_event_item .event_group_date .event_month
{
    text-align: left;
    padding-left: 1em;
    color: var(--Color_PrimaryDk);
}
.wide_content li.fbcms_upcoming_event_item .event_group_data
{
    border-left: none;
}
@media only screen and (min-width: 500px)
{
    .wide_content.fbcms_upcoming_events .fbcms_upcoming_event_list
    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 1rem;
    }
    .wide_content.fbcms_upcoming_events .fbcms_upcoming_event_group,
    .wide_content.fbcms_upcoming_events .fbcms_upcoming_event_item 
    {
        display: inline-block;
        margin-bottom: 0;
    }

    .page_home .wide_content.fbcms_upcoming_events .fbcms_contentheader,
    .page_home .wide_content.fbcms_upcoming_events .fbcms_contentfooter
    {
        text-align: center;
    }
}
@media only screen and (min-width: 994px)
{
    .wide_content.fbcms_upcoming_events .fbcms_upcoming_event_list
    {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }
}
@media only screen and (min-width: 1200px)
{
    .page_home .wide_content.fbcms_upcoming_events > div:not(.vpadm_buttonbar)
    {
        display: grid;
        grid-template-columns: 1fr 4fr;
        grid-gap: 0 2rem;
    }
    .page_home .wide_content.fbcms_upcoming_events .fbcms_contentheader
    {
        grid-column-start: 1;
        grid-row-start: 2;
        text-align: left;
        margin-bottom: 0;
    }
    .page_home .wide_content.fbcms_upcoming_events .fbcms_contentfooter
    {
        grid-column-start: 1;
        grid-row-start: 3;
        text-align: left;
    }
    .page_home .wide_content.fbcms_upcoming_events .fbcms_upcoming_event_list
    {
        grid-column-start: 2;
        grid-row: 1 / span 4;
    }

    .tab_content.wide_content.fbcms_upcoming_events > div:not(.vpadm_buttonbar)
    {
        grid-template-columns: 4fr 1fr;
    }
    .tab_content.wide_content.fbcms_upcoming_events .fbcms_upcoming_event_list
    {
        grid-column-start: 1;
        grid-row: 1 / span 2;
    }
    .tab_content.wide_content.fbcms_upcoming_events .fbcms_contentfooter
    {
        grid-column-start: 2;
        grid-row-start: 1;
        text-align: left;
    }
}
/* END Upcoming Events */

/* Calendar List */
.month_table .month_header
{
    background-color: var(--Color_PrimaryDk);
}
/* END Calendar List */

/* Calendar Grid */
.calendargrid .caltab .monthname
{
    color: #999999;
}
.calendargrid .caltab .dayofweek
{
    background-color: var(--Color_PrimaryDk);
    border-color: var(--Color_White);
    border-right-color: var(--Color_White);
}
.calendargrid .caltab .currentmonth .daynumber
{
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
}
/* END Calendar Grid */

/* Small Calendar Grid */
.minigrid_verB {
    background: var(--Color_White);
}
.minigrid_verB .fbcms_calendar_mini {
    border-collapse: separate;
    border-spacing: 6px;
}
.minigrid_verB tbody
{
    border: solid 7px var(--Color_White);
}
.minigrid_verB tbody,
.minigrid_verB .isDay
{
    border: none;
    font-size: 18px;
}
.fbcms_calendar_minigrid td
{
    line-height: 2;
}

.minigrid_verB .calendar_mini_controls {
    text-align: center;
}

.fbcms_calendar_mini .fbcms_calendar_mini_monthName,
.fbcms_calendar_mini .fbcms_calendar_mini_yearNumber
{
    font-weight: bold;
    color: var(--Color_PrimaryDk);
    font-size: 25px;
}

.fbcms_calendar_minigrid th {
    color: var(--Color_PrimaryDk);
}
.minigrid_verB .fbcms_calendar_mini .fbcms_calendar_mini_prevMonth,
.minigrid_verB .fbcms_calendar_mini .fbcms_calendar_mini_nextMonth
{
    background-color: var(--Color_White);
    color: var(--Color_Primary);
    width: 26px;
    font-size: 40px;
    line-height: .5;
    margin: 10px 6px;
}
.fbcms_calendar_mini .fbcms_calendar_mini_prevMonth
{
    float: left;
}
.fbcms_calendar_mini .fbcms_calendar_mini_prevMonth:hover,
.fbcms_calendar_mini .fbcms_calendar_mini_prevMonth:focus,
.fbcms_calendar_mini .fbcms_calendar_mini_nextMonth:hover,
.fbcms_calendar_mini .fbcms_calendar_mini_nextMonth:focus
{
    color: var(--Color_PrimaryDk);
    background-color: var(--Color_White);
}

.fbcms_calendar_mini .fbcms_calendar_mini_event 
{
    color: var(--Color_Primary);
    text-decoration: underline;
}

.fbcms_calendar_mini .today, 
.fbcms_calendar_mini .isDay:hover, 
.fbcms_calendar_mini .isDay:focus
{
    color: var(--Color_White);
    background-color: var(--Color_Primary);
}
/* END Small Calendar Grid */

/*
===========================================================
 END Calendar Styling
===========================================================
*/

/*
===========================================================
 News Styling
===========================================================
*/
.fbcms_newscontent .fbcms_newscontent_month 
{
    font-size: 14px;
    color: var(--Color_PrimaryDk);
}
/*
===========================================================
 END News Styling
===========================================================
*/

/*
===========================================================
 Staff Styling
===========================================================
*/
.fbcms_staff_listing .email_icon,
.fbcms_staff_search .email_icon,
.fbcms_contact_email .email_icon,
.fbcms_staff_cards .fbcms_contentbody .email_icon  {
    background-color: var(--Color_Primary);
}
.fbcms_staff_listing_header,
.fbcms_staff_search_results .header {
	color: var(--Color_PrimaryDk);
    font-weight: bold;
}

.inside_side .fbcms_staffentry .fb_tellink
{
    white-space: normal;
}

.inside_side .fbcms_staffentry
{
    container: staff-row-entry / inline-size;
}
@container (min-width: 250px)
{
    .inside_side .fbcms_staffentry .profilePhoto
    {
        float: left;
        max-width: 50%;
        margin: 0 1rem .25rem 0;
    }
}

.fbcms_staff_search .fbcms_table_cell
{
    border: none;
}
.fbcms_staff_search .fbcms_table_row.data:nth-child(odd)
{
    background-color: var(--Color_BackgroundLt);
}

/* Staff Cards */
.fbcms_staff_cards .fbcms_contentbody .fbcms_staffentry_liner
{
    border-radius: var(--Site_BorderRadius);
}
.fbcms_staff_cards .fbcms_contentbody .profile_photo
{
    border-radius: calc(var(--Site_BorderRadius) / 2);
    margin-bottom: 0.25em;
}
.fbcms_staff_cards .fbcms_contentbody .name
{
    color: var(--Color_Primary);
}
/*
===========================================================
 END Staff Styling
===========================================================
*/	

/*
===========================================================
 Building List Styling
===========================================================
*/
.building_list .building_liner {
    background-color: var(--Color_BackgroundLt);
    padding: 1rem;
    box-shadow: var(--Site_BoxShadow);
    border-radius: var(--Site_BorderRadius);
}
/*
===========================================================
 END Building List Styling
===========================================================
*/  

/*
===========================================================
 Spotlight Styling
===========================================================
*/
.fbcms_spotlights .horz_layout_0 .fbcms_spotlight_slide_liner
{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 2rem;
}
.fbcms_spotlights .horz_layout_0 .fbcms_spotlight
{
    margin: 0;
}


/* Inheriting QuickSpots */
.quickspots_wrapper
{
/*    background-color: var(--Color_BackgroundLt);*/
}
.page_interior .quickspots_wrapper
{
    border-bottom: solid 1px var(--Color_Accent);
}
.fbcms_component.quickspots_wrapper .component_liner
{
    padding: 0;
    width: 100%;
    max-width: none;
}
.site_quickspots,
.site_quickspots .fbcms_contentheader,
.site_quickspots .fbcms_contentfooter
{
    margin: 0;
}
.site_quickspots .fbcms_spotlights_list .fbcms_spotlight_slide_liner
{
    display: flex;
    flex-wrap: wrap;
}
.site_quickspots .spotlights_horizontal .fbcms_spotlight
{
    flex: 1 1 fit-content;
    margin: 0;
}
.site_quickspots .fbcms_spotlight_liner
{
    background: var(--Color_BackgroundLt);
    padding: 1em;
    display: flex;
    justify-content: center;
    transition: all .2s;
    position: relative;
    height: 100%;
}
.site_quickspots a.fbcms_spotlight_liner:hover, 
.site_quickspots a.fbcms_spotlight_liner:focus
{
    background-color: var(--Color_BackgroundLt);
}
.site_quickspots .fbcms_spotlight.wrapping .fbcms_spotlight_image
{
    max-width: none;
    display: grid;
    align-content: center;
}
.site_quickspots .fbcms_spotlight_text
{
    display: grid;
    align-content: center;
}
.site_quickspots .desc_short
{
    margin: 0;
}
.site_quickspots a.fbcms_spotlight_liner:after
{
    content: "";
    background: var(--Color_Accent);
    width: 100%;
    height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    -ms-transition: all .3s ease 0s;
    -moz-transition: all .3s ease 0s;
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}
.site_quickspots a.fbcms_spotlight_liner:hover:after,
.site_quickspots a.fbcms_spotlight_liner:focus:after
{
    height: 6px;
}
@media only screen and (max-width: 767px)
{
    .site_quickspots .spotlights_horizontal .fbcms_spotlight
    {
        width: 50%;
        flex: auto;
    }
}
@media only screen and (max-width: 499px)
{
    .site_quickspots .fbcms_spotlight.wrapping .fbcms_spotlight_image
    {
        display: none;
    }
}
/*
===========================================================
 END Spotlight Styling
===========================================================
*/

/*
===========================================================
 Expandable Content Styling
===========================================================
*/
.fbcms_ec_title
{
    background-color: var(--Color_PrimaryDk);
}
.fbcms_ec_title:hover,
.fbcms_ec_title:focus
{
    background-color: var(--Color_Primary);
}
.fbcms_ec_title h2
{
    font-size: 1.5rem;
    line-height: initial;
    border-bottom: none !important;
}
.fbcms_ec:not(.fbcms_ec_collapsed) .fbcms_ec_title
{
    margin-bottom: 0;
}
.fbcms_ec .fbcms_richtext_content 
{
    background-color: var(--Color_BackgroundLt);
    padding: 10px;
    margin-bottom: 20px;
}
/*
===========================================================
 END Expandable Content Styling
===========================================================
*/

/*
===========================================================
  Fly-Up Tab Customization
===========================================================
*/
.flyup_container 
{
    z-index: 3;
}
.flyup_tab 
{
    font-size: .9rem;
    line-height: 1.2;
    color: var(--Color_White);
    background-color: var(--Color_Secondary);
    width: auto;
    min-width: 190px;
    display: inline-block;
    padding: 9px 44px 7px 10px;
}
.flyup_slide
{
    background-color: var(--Color_Secondary);
    color: var(--Color_White);
}
.flyup_slide :where(:not(.content_buttonblock)) > a,
.flyup_slide h2,
.flyup_slide h3,
.flyup_slide h4,
.flyup_slide h5,
.flyup_slide h6,
.flyup_slide .content_intro
{
    color: var(--Color_White);
}
/*
===========================================================
  END Fly-Up Tab Customization
===========================================================
*/

.page_body #FB_budgetLinkDiv {
    top: 20px;
}