@charset "UTF-8";


*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/******************************************************************************************
CSS RESET
*******************************************************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {
    cursor:pointer !important;
}

a:hover {
	outline: none;
    cursor:pointer !important;
    -webkit-tap-highlight-color: transparent;
}



/******************************************************************************************
COLOURS
******************************************************************************************/

/******* Root *******/

:root {
    --color-white: #FFF;    
    --color-black: #000;
    --color-dark-grey: #787A88;
    --color-grey: #D5D5D5;
    --color-light-grey: #F5F5F5;

    --color-dark-blue: #17254D;
    --color-dark-blue-translucent: rgba(23, 37, 77, 0.7);

    --color-extra-light-blue: #E8EBEF;
    --color-light-blue :#9FBDE5;
    --color-beige: #EAE4DD;
    --color-gold: #F2C118;
    --color-light-green: #D0FFD2; /* for confirmation messages from forms ONLY! */
    --color-yellow: #FFF8D9;
    --color-brown: #764E1F;
    --color-red: #9A1F22;
    --color-extra-light-red: #e6d4d3;
}

/******* Colour Classes *******/

.color-white { color:var(--color-white); }
.color-black { color:var(--color-black); }
.color-dark-grey { color:var(--color-dark-grey); }

.color-dark-blue { color:var(--color-dark-blue); }
.color-light-blue { color:var(--color-light-blue); }
.color-beige { color:var(--color-beige); }
.color-gold { color:var(--color-gold); }
.color-yellow { color:var(--color-yellow); }
.color-brown { color:var(--color-brown); }
.color-red { color:var(--color-red); }


/******* Background Colour Classes *******/

.bgcolor-white { background-color:var(--color-white); }
.bgcolor-black { background-color:var(--color-black); }
.bgcolor-dark-grey { background-color:var(--color-dark-grey); }

.bgcolor-dark-blue { background-color:var(--color-dark-blue); }
.bgcolor-light-blue { background-color:var(--color-light-blue); }
.bgcolor-beige { background-color:var(--color-beige); }
.bgcolor-gold { background-color:var(--color-gold); }
.bgcolor-brown { background-color:var(--color-brown); }
.bgcolor-red { background-color:var(--color-red); }




/******************************************************************************************
CORE DIMENSIONS
******************************************************************************************/

:root {
    --site-width:1500px;
    --site-padding:50px;
    --site-padding-negative:-50px;
}






/******************************************************************************************
GENERAL
******************************************************************************************/

html {
    scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6,
p, a,
ul li, ol li,
table th,
table tr,
table td,
table caption {
    font-family: "museo-sans", sans-serif;
    font-optical-sizing: auto;
}

sup {
    vertical-align: super;
    font-size: 60%;
    line-height: 1;
}

sub {
    vertical-align: sub;
    font-size: 60%;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

body {
    background-color: var(--color-white);
}













/******************************************************************************************
HEADER + MENUS
******************************************************************************************/



/******* Alert Box *******/

#alert-box {
    display:flex;
    width:100%;
    background-color: var(--color-red);
}

    #alert-box .inner {
        width:100%;
        margin:0 auto;
        padding:30px var(--site-padding) 40px var(--site-padding);
    }

    #alert-box .inner .header-and-controls {
        width:100%;
        display:flex;
        justify-content: space-between;
    }

        #alert-box .inner .header-and-controls .left-side {
            display:flex;
            justify-content: space-between;
        }

            #alert-box .inner .header-and-controls .left-side p.alert-title {
                display:flex;
                justify-content: flex-start;
                font-size:1.5rem;
                line-height:1;
                font-weight: 900;
                margin-bottom:0;
                color:var(--color-white);
                text-transform: uppercase;
                align-items: center;
                margin-right: 100px;
                padding-left:40px;
            }

                #alert-box .inner .header-and-controls .left-side p.alert-title span {
                    flex:1;
                    margin-right: 20px;
                }

                #alert-box .inner .header-and-controls .left-side p.alert-title img {
                    display:block;
                    width:30px;
                }

            #alert-box .inner .header-and-controls .left-side a.alert-toggle {
                display:flex;
                justify-content: flex-start;
                font-size:1.125rem;
                line-height:1;
                font-weight: 500;
                margin-bottom:0;
                color:var(--color-white);
                align-items: center;
                margin-right: 100px;
                text-decoration:none;
            }

            #alert-box .inner .header-and-controls .left-side a.alert-toggle:hover {
                text-decoration:underline;
            }

                #alert-box .inner .header-and-controls .left-side a.alert-toggle span {
                    flex:1;
                    margin-right: 20px;
                }

                #alert-box .inner .header-and-controls .left-side a.alert-toggle img {
                    display:block;
                    width:15px;
					transform: rotate(45deg);
                }

                    #alert-box .inner .header-and-controls .left-side a.alert-toggle.open img {
                        display:block;
                        width:15px;
						transform: rotate(0deg);
                    }

        #alert-box .inner .header-and-controls .right-side {
            display:none;
        }

            #alert-box.active .inner .header-and-controls .right-side {
                display: flex;
                align-items: center;
            }

    #alert-box .inner .alerts-details-slides {
        margin-top: 70px;
        display:none;
    }

        #alert-box.active .inner .alerts-details-slides {
            display:block;
        }

        #alert-box .alerts-details-slides .alert-slide .alert-message p {
            font-size:1.875rem;
            line-height:2.25rem;
            font-weight: 900;
            color:var(--color-white);
        }

        #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper {
            display:flex;
            justify-content: flex-start;
            align-items: center;
        }

            #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper p.alert-date {
                font-size:1rem;
                line-height:1.25rem;
                font-weight: 500;
                color:var(--color-white);
                margin-right:130px;
                margin-bottom:0;
            }

                #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper p.alert-date strong {
                    font-weight: 900;
                }

            #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper p.alert-level {
                font-size:1rem;
                line-height:1;
                font-weight: 500;
                color:var(--color-white);
                display: flex;
                align-items: center;
                margin-bottom:0;
            }

                #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper p.alert-level span.alert-label {
                    display:inline-block;
                    margin-right:30px;
                }

                    #alert-box .alerts-details-slides .alert-slide .alert-date-level-wrapper p.alert-level span.highlighted {
                        display:block;
                        width:fit-content;
                        padding: 5px 10px;
                        color:var(--color-black);
                        background-color: var(--color-gold);
                        text-transform: uppercase;
                        font-weight:900;
                        border-radius: 5px;
                    }

        #alert-box .slider-controls a.dot.active {
            border-color:var(--color-white);
            background-color: var(--color-white);
        }

.alert-toggle.close img {
    filter:
        drop-shadow(0 0 0 currentColor)
        drop-shadow(0 0 0 currentColor);
}



#alert_form .gform-body {
    background-color: rgb(244, 244, 244) !important;
    border-radius: 5px !important;
    border: solid 0px var(--color-dark-grey) !important;
    padding: 34px !important;
}



.alert-off {
    display: none!important;
}

.alert-on {
    display: block!important;
}


.alert-message-link {
    color: white !important;
}



/******* Desktop Header *******/

#site-header-desktop {
    display: flex;
    position: relative;
    width:100%;
    height:170px;
    background-color:var(--color-white-translucent);
    align-items: flex-end;
    margin:0 auto;
}

#site-header-desktop #bluebg-windowspan {
    display: block;
    position: absolute;
    top:70px;
    width:100%;
    height:100px;
    background-color: var(--color-dark-blue);
}

    #site-header-desktop #site-header-desktop-inner {
        display:flex;
        width:100%;
        padding-left: var(--site-padding);
        padding-right: var(--site-padding);
        height:170px;
        justify-content: space-between;
        margin:0 auto;
    }

/******* Logo *******/

#site-header-desktop #site-header-desktop-inner a#site-logo {
    display: block;
    background-color: var(--color-white);
    min-width:300px;
    filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
    padding:40px 40px 30px 40px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    /* margin-right: 80px; */
    margin-bottom:-10px; /* overlap logo */
    z-index:9999;
}

    #site-header-desktop #site-header-desktop-inner a#site-logo a img {
        display: block;
        width: 100%;
    }

/******* Desktop Menu *******/

#a11y-langswitch-search-wrapper {
    display:flex;
    justify-content: flex-end;
    background-color: var(--color-white);
    height:70px;
}

    a#a11y-link {
        display:flex;
        align-items: center;
        color:var(--color-dark-blue);
        text-decoration: none;
    }

        a#a11y-link span {
            display: block;
            margin-top:3px;
            flex:1;
            font-size:1.125rem;
            line-height: 1rem;
            font-weight:500;   
        }

        a#a11y-link:hover span {
            text-decoration: underline;
        }

        a#a11y-link img {
            display:block;
            width:28px;
            margin-left:5px;
        }

    #langswitch-block {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-left:40px;
        margin-right:40px
    }

        #langswitch-block a.lang-switch-link {
            display:block;
            font-size:1.125rem;
            line-height: 1rem;
            font-weight: 500;
            text-decoration: none;
            color:var(--color-dark-blue);
        }

            #langswitch-block a.lang-switch-link:hover {
                text-decoration: underline;
            }

            a.lang-switch-link.mobile {
                text-transform:uppercase;
            }

    a#search-link {
        display:flex;
        align-items: center;
        padding:30px;
        color:var(--color-dark-blue);
        background-color: var(--color-gold);
        text-decoration: none;
    }

        a#search-link span {
            display: block;
            flex:1;
            font-size:1.375rem;
            line-height: 1rem;
            font-weight:900;
            
        }

        a#search-link:hover {
            text-decoration: underline;
        }

        a#search-link img {
            display:block;
            width:38px;
            margin-left:5px;
        }





#main-menu {
    background-color: var(--color-dark-blue);
    font-family: "museo-sans", sans-serif;
}

/******* Max Mega Menu Overrides *******/


/*** Wrapper ***/ 
#mega-menu-wrap-main {
    background-color: unset;
    margin-top: 15px;
}

/*** Menu Items - Primary Level (Top-Level Bar) ***/

    /* top-level: force border radiuses to stay as-is when you hover over them */ 
    #mega-menu-wrap-main #mega-menu-main li.mega-align-bottom-left.mega-toggle-on > a.mega-menu-link,
    #mega-menu-wrap-main #mega-menu-main li.mega-align-bottom-right.mega-toggle-on > a.mega-menu-link {
        border-radius: 10px 10px 10px 10px;
    }

    /* adjust line-height and height differently (by default max mega menu combines them to create top-level menu size) */
    #mega-menu-wrap-main #mega-menu-main > li.mega-menu-item > a.mega-menu-link {
        line-height:1;
        height: 70px;
    }

    #mega-menu-wrap-main #mega-menu-main > li.mega-menu-item > .mega-sub-menu {
        top: calc(100% + 20px);
        filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
    }

    /* Create invisible hover area */
    #mega-menu-wrap-main #mega-menu-main > li.mega-menu-item {
        position: relative;
    }

    #mega-menu-wrap-main #mega-menu-main > li.mega-menu-item::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 30px;
    }


    /*** Menu Items - Secondary and Tertiary Levels (Flyouts) ***/

    #mega-menu-wrap-main #mega-menu-main > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
        display: flex;
        align-items: center;
		padding:0;
    }
	

        /* Max Mega Menu Overrides for Flyouts */
        
            /* don't show default arrow, but keep the <span> to hold alternate image (below) */
            #mega-menu-wrap-main #mega-menu-main li.mega-menu-flyout li.mega-menu-item a.mega-menu-link > span.mega-indicator:after,
            #mega-menu-wrap-main #mega-menu-main li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link > span.mega-indicator:after {
                content:unset;
            }

            /* prevent right-aligned flyouts from right-aligning text */
            #mega-menu-wrap-main #mega-menu-main li.mega-menu-flyout.mega-align-bottom-right li.mega-menu-item a.mega-menu-link {
                text-align: left;
            }


    /*** Content beside chevron block ***/
    #mega-menu-wrap-main #mega-menu-main li.mega-menu-item > a.mega-menu-link > span.menu-content {
        display:block;
        flex:1;
        padding:10px;
        padding: 10px 15px;
    }

		#mega-menu-wrap-main #mega-menu-main li.mega-menu-item > a.mega-menu-link > span.menu-content {
		margin-right:10px;
		}

		#mega-menu-wrap-main #mega-menu-main li.mega-menu-item > a.mega-menu-link:hover > span.menu-content {
			background-color:var(--color-gold);
			border-top-right-radius:10px;
			border-bottom-right-radius:10px;
			margin-right:10px;
		}

		#mega-menu-wrap-main #mega-menu-main li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu > li a.mega-menu-link:hover > span.menu-content {
			background-color:var(--color-white);
			border-top-right-radius:10px !important;
			border-bottom-right-radius:10px !important;
		}



		

		




		

/******** MEGA MENU DEBUGGING - TEMP ***/

/*
#mega-menu-wrap-main #mega-menu-main[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-main #mega-menu-main[data-effect="fade_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
	opacity: 1 !important;
}

#mega-menu-wrap-main #mega-menu-main li.mega-menu-item > ul.mega-sub-menu {
	visibility: visible !important;
}
	*/


/******** MEGA MENU DEBUGGING - TEMP ENDS ***/











    
    /*** Chevron block ***/
    #mega-menu-wrap-main #mega-menu-main li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
        display:block;
        float:none;
        margin-left:unset;
        margin-right:0; /* margin-right:-10px; */
        width:40px;
        height:40px;
        background-color: var(--color-white);
        border-top-left-radius:10px;
        border-bottom-left-radius:10px;
	}


        /*** Chevron SVG ***/
        #mega-menu-wrap-main #mega-menu-main li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator svg.main-menu-chevron {
            width:100%;
            height:auto;
            transition: transform 0.3s ease;
            padding:10px;
            fill:var(--color-dark-blue);
        }


#mega-menu-wrap-main #mega-menu-main > li.mega-align-bottom-right > .mega-sub-menu > li.mega-menu-item-has-children > a.mega-menu-link > .mega-indicator svg.main-menu-chevron {
    transform: rotate(180deg);
}
        
        /*** Hover State ***/

            /* Content beside chevron block */
            #mega-menu-wrap-main #mega-menu-main li:not(.mega-menu-flyout) a.mega-menu-link:hover,
            #mega-menu-wrap-main #mega-menu-main li.mega-toggle-on > a.mega-menu-link > span.menu-content {
                text-decoration: underline !important;
            }

			/*
			#mega-menu-wrap-main #mega-menu-main li:not(.mega-menu-flyout) a.mega-menu-link:hover {
				background-color: var(--color-gold) !important;
			}
				*/


            /* Chevron block */
            #mega-menu-wrap-main #mega-menu-main li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator {
                background-color: var(--color-dark-blue);
            }

                /* Chevron SVG */
                #mega-menu-wrap-main #mega-menu-main li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator svg.main-menu-chevron {
                    fill:var(--color-white);
                    transform: rotate(90deg) !important;
                }

				#mega-menu-wrap-main #mega-menu-main li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator svg.main-menu-chevron {
                    fill:var(--color-white);
                    transform: rotate(90deg) !important;
                }

			




				


    /******* Menu Items - Tertiary Level Only (Flyouts) *******/   

        /* main submenu block */
        #mega-menu-wrap-main #mega-menu-main li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu {
            background-color: var(--color-dark-blue);
            border:1px solid var(--color-white);
        }

        /* submenu links - <li> */
        #mega-menu-wrap-main #mega-menu-main li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item {
            background-color: var(--color-dark-blue);
        }

		

        /* submenu links - <a> */
        #mega-menu-wrap-main #mega-menu-main li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
            background-color: var(--color-dark-blue);
            color:var(--color-white);
        }

            #mega-menu-wrap-main #mega-menu-main li.mega-menu-item ul.mega-sub-menu ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover {
                /* background-color: var(--color-white); */
                color:var(--color-dark-blue);
                text-decoration:none !important;
                border-radius:0 !important;
            }








/******* Mobile Header *******/

#site-header-mobile {
    width:100%;
    display: none; /* set to display:flex when visible - see accurate-responsive.css */
    background-color: var(--color-dark-blue);
    align-items: center;
}

    #site-header-mobile #site-logo-mobile-wrapper {
        flex:1;
        display: flex;
        padding-left: var(--site-padding);
    }

        #site-header-mobile #site-logo-mobile-wrapper a#site-logo-mobile {
            display: block;
            background-color: var(--color-white);
            max-width:200px;
            padding-left:var(--site-width);
            filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.2));
            padding: 20px;
            border-bottom-left-radius: 30px;
            border-bottom-right-radius: 30px;
            margin-bottom: -50px; /* overlap logo */
            z-index:99999;
        }

            #site-header-mobile #site-logo-mobile-wrapper a#site-logo-mobile img {
                display:block;
                width:100%;
            }

    #site-header-mobile #hamburger-button {
        width: 75px;
        display: flex;
        align-self: stretch;
        justify-content: flex-end;
        padding-right: 20px;
    }

        #site-header-mobile #hamburger-button img {
            display:block;
            width:32px;
        }




/******* Mobile Menu *******/        

    /*** Mobile Menu - Flyout ***/

    body.flyout-open {
        overflow: hidden;
    }

    #flyout-menu {
        display:block;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 999999;
        width: 100vw;
        height: 100vh;
        background: var(--color-white);
        overflow-y: auto;
        transform: translateX(100%);
        transition: all 0.25s ease;
        font-size: 1rem;
        font-weight: 300;
        text-decoration: none;
        color:var(--color-black);
        margin-bottom:10px;
        opacity:0;
    }

        #flyout-menu.open {
            transform: translateX(0);
            opacity:1;
        }

            #flyout-menu #flyout-header {
                display:flex;
                width:100%;
                height:60px;
                background-color: var(--color-beige);
                justify-content: space-between;
                position: relative;
                z-index: 1000000;
            }

                #flyout-menu #flyout-header a.mobile-search-button {
                    display:flex;
                    justify-content: center;
                    align-self: stretch;
                    width:60px;
                    margin-left: 20px;
                    position: relative;
                    z-index: 19000001!important;
                    pointer-events: auto;
                }

                    #flyout-menu #flyout-header a.mobile-search-button img {
                        display:block;
                        width: 30px;
                    }

                #flyout-menu #flyout-header a.search-button {
                    display:flex;
                    justify-content: center;
                    align-self: stretch;
                    width:60px;
                    margin-left: 20px;
                }

                    #flyout-menu #flyout-header a.search-button img {
                        display:block;
                        width: 30px;
                    }




                #flyout-menu #flyout-header #flyout-header-right {
                    flex:1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                }

                    #flyout-menu #flyout-header #flyout-header-right a#a11y-link-mobile {
                        display:inline-block;
                        margin-right:30px;
                        text-decoration: none;
                        color:var(--color-dark-blue);
                    }

                    

                    #flyout-menu #flyout-header #flyout-header-right a.lang-switch-link {
                        display: flex;
                        width: fit-content;
                        text-decoration: none;
                        align-self: stretch;
                        align-items: center;
                        margin-right:15px;
                        color:var(--color-dark-blue);
                    }

                #flyout-menu #flyout-header #flyout-header-right a#flyout-close {
                    display:block;
                    width:60px;
                    padding:18px;
                }

                    #flyout-menu #flyout-header #flyout-header-right a#flyout-close img {
                        display:block;
                        width: 100%;
                    }


#innerpages-header-pusher {
    width:100%;
    height:70px;
}










    /*** Mobile Menu ***/


    /* Strip Out Default UL and LI Styling */

    ul.accordion-nav,
    ul.accordion-nav ul,
    ul.accordion-nav ul ul {
        padding:0;
        margin:0;
    }

    ul.accordion-nav li,
    ul.accordion-nav li ul li,
    ul.accordion-nav li ul li ul li {
        padding:0;
        margin:0;
    }


    /* Mobile Menu: General */

    ul.accordion-nav#mobile-nav li {
        list-style-type: none;
        display:block;
        font-size:1em;
        text-decoration:none;
    }

    ul.accordion-nav#mobile-nav li .flex-wrapper {
        display: flex;
        align-items: stretch;
    }

    ul.accordion-nav#mobile-nav li a br {
        display:none;
    }

    ul.accordion-nav#mobile-nav li a.page-link {
        display: flex;
        align-items:center;
        flex:1;
    }

    ul.accordion-nav#mobile-nav li.menu-item .toggle-icon {
        all: unset;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        align-self: stretch;
        transition: transform 0.3s ease;
    }

    ul.accordion-nav#mobile-nav li.menu-item .toggle-icon:focus-visible {
        outline: auto;
    }

    ul.accordion-nav#mobile-nav li.menu-item .toggle-icon svg.main-menu-chevron {
        display: block;
        width: 20px;
        height:auto;
        transition: transform 0.3s ease;
    }

        ul.accordion-nav#mobile-nav li.menu-item .toggle-icon.open svg.main-menu-chevron {
            transform: rotate(90deg);
        }




    /* Mobile Menu: Level 1 */

    ul.accordion-nav#mobile-nav > li {
        background-color: var(--color-dark-blue);
        padding-left:20px;
    }


        ul.accordion-nav#mobile-nav > li > span.flex-wrapper > .toggle-icon {
            width: 80px;
            height: 70px;
            background-color: var(--color-dark-blue);
            fill: var(--color-white);
            border-top-left-radius: 10px;
        }

        ul.accordion-nav#mobile-nav > li > span.flex-wrapper > .toggle-icon.open {
            background-color: var(--color-white);
            fill: var(--color-dark-blue);
        }

        ul.accordion-nav#mobile-nav > li > span.flex-wrapper > a.page-link {
            font-size:1.5rem;
            line-height: 1.75rem;
            font-weight:900;
            text-decoration:none;
            color:var(--color-white);
            background-color:var(--color-dark-blue);
            padding-right:15px;
        }




    /* Mobile Menu: Level 2 */

    ul.accordion-nav#mobile-nav > li > ul.sub-menu {
        background-color:var(--color-white);
        border-top-left-radius:10px;
        border-bottom-left-radius:10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

        ul.accordion-nav#mobile-nav > li > ul.sub-menu > li {
            padding: 10px 10px 10px 20px;
        }

            /* link with NO children */

            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li:not(.menu-item-has-children) {
                margin-right: 80px;
                padding-right: 0;
                min-height: 60px;
                display: flex;
                align-items: center;
            }

            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > a {
                font-size:1.4375rem;
                line-height: 1.875rem;
                font-weight:700;
                text-decoration:none;
                color:var(--color-dark-blue);
                padding-top:10px;
                padding-bottom:10px;
            }

            /* link WITH children */
            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > span.flex-wrapper a.page-link {
                font-size:1.4375rem;
                line-height: 1.875rem;
                font-weight:700;
                text-decoration:none;
                color:var(--color-dark-blue);
                padding-right:20px;
            }

            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > span.flex-wrapper .toggle-icon {
                width: 70px;
                height: 60px;
                background-color: var(--color-white);
                fill: var(--color-dark-blue);
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;
            }

            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > span.flex-wrapper .toggle-icon.open {
                background-color: var(--color-dark-blue);
                fill: var(--color-white);
                position:relative;
            }

                ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > span.flex-wrapper .toggle-icon.open::after {
                    content:'';
                    position:absolute;
                    bottom:-20px;
                    right:0;
                    width:70px;
                    height:20px;
                    background-color: var(--color-dark-blue);
                }


    /* Mobile Menu: Level 3 */

    ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > ul.sub-menu {
        background-color:var(--color-dark-blue);
        border-top-left-radius:10px;
        border-bottom-left-radius:10px;
        border-bottom-right-radius:10px;
        padding:10px 20px;
        margin-top:10px;
    }

        ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > ul.sub-menu > li {
            padding-top:10px;
            padding-bottom:10px;
        }

            ul.accordion-nav#mobile-nav > li > ul.sub-menu > li > ul.sub-menu > li > a {
                color:var(--color-white);
                font-size:1rem;
                line-height:1rem;
                text-decoration: none;
                font-weight:700;
            }



/******************************************************************************************
BASE FONT STYLES
******************************************************************************************/

/******* H1-H5 *******/

h1,
.h1-style {
    font-size:2.5rem;
    line-height: 2.5rem;
    font-weight:900;
    margin-bottom:1rem;
    color:var(--color-dark-blue);
}

    h1.nomargin {
        margin-bottom:0;
    }

h2,
.h2-style {
    font-size:2.5rem;
    line-height: 3.125rem;
    font-weight:700;
    margin-bottom:1rem;
    color:var(--color-dark-blue);
}

    h2.nomargin {
        margin-bottom:0;
    }

h3,
.h3-style {
    font-size:1.875rem;
    line-height: 2.125rem;
    font-weight:900;
    margin-bottom:0.75rem;
    color:var(--color-dark-blue);
}

    h3.nomargin {
        margin-bottom:0;
    }

h4,
.h4-style {
    font-size:1.375rem;
    line-height: 1.625rem;
    font-weight:700;
    margin-bottom:0.55rem;
    color:var(--color-dark-blue);
}

    h4.nomargin {
        margin-bottom:0;
    }

h5,
.h5-style {
    font-size:1.25rem;
    line-height: 1.5rem;
    font-weight:700;
    margin-bottom:0.5rem;
    color:var(--color-dark-blue);
}

    h5.nomargin {
        margin-bottom:0;
    }


/******* P, OL, UL, A *******/

p,
.p-style {
    font-size:1.125rem;
    line-height: 1.625rem;
    font-weight:300;
    margin-bottom:1rem;
    color:var(--color-dark-blue);
}

    p.intro {
        font-size:1.25rem;
        line-height: 1.75rem;
        font-weight:500;
        letter-spacing: -0.05rem;
        color:var(--color-dark-blue);
    }

        p.intro strong {
            font-weight:900;
        }

blockquote {
    margin-bottom:1rem;
    display:inline-block;
    padding:10px 0 10px 15px;
    border-left:5px solid var(--color-gold);
}


ol,
ul {
    font-size:1.125rem;
    padding-left: 1.875rem;
    list-style-type: disc;
    margin-bottom:1rem;
    color:var(--color-dark-blue);
}

ol {
    list-style-type: decimal;
}

ol ol {
    list-style-type:lower-alpha;
}

ul {
    list-style-type: disc;
}

    ul ul {
        list-style-type: circle;
    }

    ol li,
    ul li {
        font-size:1.125rem;
        line-height: 1.5rem;
        font-weight: 200;
		margin-bottom:1rem;
        font-weight:300;
    }

	ol li {
	}

	ol li ul,
    ul li ol,
	ol li ol,
	ul li ul {
        margin-top:1rem;
        margin-bottom:1rem;
        padding-left: 1.875rem;
 }







/******************************************************************************************
PAGE - GENERIC
******************************************************************************************/


/******* Breadcrumbs /*******/

#breadcrumbs-wrapper {
    width:100%;
}

    #breadcrumbs-wrapper .inner {
        width:100%;
        display:flex;
    }

        body.page-template-page-level1 #breadcrumbs-wrapper .inner {
            margin:0 auto;
            padding-left:var(--site-padding);
            padding-right:var(--site-padding);
        }

.breadcrumbs {
    margin-bottom:10px;
}

    body.page-template-page-level2-and-below .breadcrumbs {
        margin-bottom:35px;
    }

.breadcrumbs a,
.breadcrumbs span {
    font-family: "museo-sans", sans-serif;
    text-decoration: none;
    font-size:1rem;
    line-height: 1.5rem;
    font-weight: 300;
    color:var(--color-dark-blue);

}

    .breadcrumbs span.current-item {
        font-weight:700;
    }

    .breadcrumbs a:hover {
        text-decoration: underline;
    }

span.bc-sep {
    display: inline-block;
    padding-left:10px;
    padding-right:10px;
}









/******* Body *******/

#site-body {
    width:100%;
    background-color: #ccc;
}

    #site-body .inner {
        max-width: var(--site-width);
        padding-left: var(--site-padding);
        padding-right: var(--site-padding);
        margin: 0 auto;
        overflow: hidden;
    }






/******************************************************************************************
PAGE - HOME
******************************************************************************************/


/******* Home Slider *******/

#home-slider {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    aspect-ratio: 1920 / 700;
    border-top:2px solid var(--color-white);
    border-bottom: 2px solid var(--color-white);
}

    /*** Slider Box ***/

    #home-slider .slider-box-wrapper {
        z-index: 2;
        display: flex;
        width: 100%;
        padding-left:var(--site-padding);
        padding-right:var(--site-padding);
        margin: 0 auto;
        justify-content: flex-end;
        align-items: center;
        align-self: flex-end;
    }

        #home-slider .slider-box-wrapper .slider-box {
            width: 40%;
            padding:70px 80px;
            color: var(--color-white);
            background-color: var(--color-dark-blue);
            border-top-left-radius: 15px;
            border-top-right-radius: 15px;
            z-index:999;
        }

            #home-slider .slider-box-wrapper .slider-box .title-description-wrapper {
                width:90%;
            }

                #home-slider .slider-box-wrapper .slider-box .title-description-wrapper .title {
                    color:var(--color-white);
                }

                #home-slider .slider-box-wrapper .slider-box .title-description-wrapper .description {
                    font-weight:300;
                    color:var(--color-white);
                }

            #home-slider .slider-box-wrapper .slider-box .button-and-slider-controls-wrapper {
                display:flex;
                justify-content: space-between;
                align-items: center;
                margin-top:30px;
            }

            .slider-controls {
                display:flex;
                align-items: center;
            }

                .slider-controls a.nav {
                    display: block;
                    width: 20px;
                    padding: 5px;
                }

                    .slider-controls a.nav.prev {
                        margin-right:10px;
                    }

                    .slider-controls a.nav.next {
                        margin-left:3px;
                    }

                        .slider-controls a.nav span {
                            display:none;
                        }

                    .slider-controls a.nav img {
                        display:block;
                        width:100%;
                    }

                .slider-controls .dot-group {
                    display:flex;
                }

                    .slider-controls .dot-group a.dot {
                        display: block;
                        width:15px;
                        height:15px;
                        margin-right:7px;
                        border-radius:50%;
                        border:2px solid var(--color-white);
                    }

                    .slider-controls a.dot.active {
                        border-color:var(--color-gold);
                        background-color: var(--color-gold);
                    }


    /*** Slides Container and Slides ***/

    #home-slider .home-slider-slides {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

        #home-slider .home-slider-slides .slick-list,
        #home-slider .home-slider-slides .slick-track,
        #home-slider .home-slider-slides .slick-slide {
            height: 100%;
        }

        #home-slider .home-slider-slides .slick-slide {
            display: flex !important;
            align-items: center;
            justify-content: center;
        }

        #home-slider .home-slider-slides .slick-slide {
            width:100%;
        }

            #home-slider .home-slider-slides .slick-slide img {
                display: block;
                object-fit: cover;
                width: 100%;
                height: 100%;
            }

/******* Services Block *******/
#services-section-home {
    width:100%;
    position: relative;
}

    /*** Services Block - Header ***/
    #services-section-home #services-header-home-desktop {
        display:flex;
        position: relative;
        width:100%;
        margin:0 auto;
        justify-content: space-between;
        padding-left:var(--site-padding);
        padding-right:var(--site-padding);
    }

        #services-section-home #services-header-home-desktop .extender.before-bar {
            top: 0;
            left:0;
            background-color: var(--color-dark-blue);
            position: absolute;
            z-index:4;
        }

        #services-section-home #services-header-home-desktop .extender.after-bar {
            top: 0;
            right:0;
            background-color: var(--color-beige);
            position: absolute;
            z-index:4;
        }

        #services-section-home #services-header-home-desktop .services-tabs {
            display:flex;
            align-items: flex-end;
            flex:1;
        }

        #services-section-home #services-header-home-desktop .services-tabs .title {
            width:fit-content;
            background-color: var(--color-dark-blue);
            color:var(--color-white);
            font-size:1.75rem;
            line-height:1.25rem;
            letter-spacing: 0;
            font-weight: 900;
            padding: 20px 40px;
            margin:0;
        }

        #services-section-home #services-header-home-desktop .services-tabs ul {
            display:flex;
            flex:1;
            align-items: flex-end;
            background-color: var(--color-beige);
            margin: 0;
            padding:0;
        }

            #services-section-home #services-header-home-desktop .services-tabs ul li {
                display:block;
                background-color: var(--color-beige);
                margin:0;
            }

                #services-section-home #services-header-home-desktop .services-tabs ul li a {
                    display:block;
                    width:fit-content;
                    padding: 20px 30px;
                    text-decoration: none;
                    font-size:1.75rem;
                    line-height:1.25rem;
                    font-weight: 900;
                    color:var(--color-dark-blue);
                    transition: all 300ms;
                    margin-right:3px;
                }

                    #services-section-home #services-header-home-desktop .services-tabs ul li a:hover,
                    #services-section-home #services-header-home-desktop .services-tabs ul li a.active {
                        padding-top: 30px;
                        padding-bottom:20px;
                        text-decoration: none;
                        background-color:var(--color-white);
                        border-top-left-radius: 15px;
                        border-top-right-radius: 15px;
                        margin-top: -10px;
                        z-index: 2;
                        position: relative;
                    }

        #services-section-home #services-header-home-desktop .subscribe-tab-wrapper {
            width:fit-content;
            display: block;
            background-color: var(--color-beige);
            padding-right:var(--site-padding);
        }

        #services-section-home #services-header-home-desktop .subscribe-tab-wrapper a.subscribe-tab {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            width: 100%;
            padding: 24px 40px 20px 40px;
            font-size: 1.75rem;
            line-height: 1.25rem;
            font-weight: 900;
            color: var(--color-gold);
            text-decoration: none;
            background-color:var(--color-red);
            border-top-left-radius: 15px;
            border-top-right-radius: 15px;
            margin-top: -10px;
            z-index: 2;
            position: relative;
            border: 1px solid var(--color-white);
            border-bottom: none;
            transition: all 300ms;
        }

        #services-section-home #services-header-home-desktop .subscribe-tab-wrapper a.subscribe-tab img {
            display: block;
            width: 13px;
            margin-left: 20px;
            margin-bottom: -3px;
        }

        #services-section-home #services-header-home-desktop .subscribe-tab-wrapper a.subscribe-tab:hover {
            padding-top:40px;
            margin-top: -26px;
        }





        a.subscribe-tab-mobile {
            display: none;
            justify-content: space-between;
            align-items: flex-end;
            width: 100%;
            padding: 30px 55px 30px 50px;
            font-size: 1.75rem;
            line-height: 1.25rem;
            font-weight: 900;
            color: var(--color-gold);
            text-decoration: none;
            background-color:var(--color-red);
            transition: all 300ms;
        }

        a.subscribe-tab-mobile svg.main-menu-chevron {
            display: block;
            width: 15px;
            margin-left: 20px;
            margin-bottom: -3px;
            fill:var(--color-gold);
        }

        a.subscribe-tab-mobile:hover {
            padding-top:40px;
            margin-top: -26px;
        }




        #services-header-home-mobile {
            display:none;
            width:100%;
            padding-left:var(--site-padding);
            padding-right:var(--site-padding);
            margin-top:30px;
        }

            #services-header-home-mobile #services-tabs-mobile {
                display:block;
                background-color: var(--color-dark-blue);
                border-radius: 12px;
                border-top-right-radius: 12px;
                overflow: hidden;
            }

                #services-header-home-mobile #services-tabs-mobile .title {
                    display:flex;
                    width: 100%;
                    background-color: var(--color-beige);
                    border-radius:10px;
                    margin-bottom: 0;
                    align-items: center;
                    overflow: hidden;
                }

                    #services-header-home-mobile #services-tabs-mobile .title span.label {
                        flex:1;
                        font-size:1.75rem;
                        line-height: 1;
                        font-weight:900;
                        display: flex;
                        padding: 30px;
                    }

                    #services-header-home-mobile #services-tabs-mobile .title span.toggle {
                        display: flex;
                        width: 90px;
                        align-items: center;
                        align-self: stretch;
                        border-top-left-radius: 10px;
                        border-top-right-radius: 10px;
                    }

                    #services-header-home-mobile #services-tabs-mobile.open .title span.toggle {
                        background-color: var(--color-dark-blue);
                    }

                        #services-header-home-mobile #services-tabs-mobile .title span.toggle svg.main-menu-chevron {
                            width: 15px;
                            height:auto;
                            transition: transform 0.3s ease;
                            fill:var(--color-dark-blue);
                            margin: 0 auto;
                        }

                        #services-header-home-mobile #services-tabs-mobile.open .title span.toggle svg.main-menu-chevron {
                            fill:var(--color-white);
                            transform:rotate(90deg);
                        }

                #services-header-home-mobile #services-tabs-mobile ul {
                    display:block;
                    width:100%;
                    list-style-type: none;
                    padding: 15px 0;
                    margin-bottom: 0;
                }

                    #services-header-home-mobile #services-tabs-mobile li {
                        display:block;
                        width:100%;
                    }

                    #services-header-home-mobile #services-tabs-mobile li a {
                        display: block;
                        padding: 15px 15px;
                        font-size: 1.5rem;
                        text-decoration: none;
                        font-weight: 500;
                        color: var(--color-white);
                    }

                    #services-header-home-mobile #services-tabs-mobile li a:active {
                        color: var(--color-gold);
                    }
                    
.page-template-page-home ul.imagegrid {
    padding-left:var(--site-padding);
    padding-right:var(--site-padding);
}



/******* News Section *******/

#news-section {
    width:100%;
    background-color: var(--color-beige);
    padding-top:60px;
    padding-bottom:60px;
}

    #news-section > .inner {
        width:100%;
        display: grid;
        margin:0 auto;
        grid-template-columns: repeat(3, 1fr);
        grid-column-gap: 50px;
        grid-row-gap: 20px;
        padding-left:var(--site-padding);
        padding-right:var(--site-padding);
    }

        #news-section > .inner .news-col {
            width:100%;
        }

            #news-section > .inner .news-col .header {
                display:block;
                width:100%;
                margin:0;
                padding:15px 50px 15px 40px;
                background-color: var(--color-dark-blue);
                color:var(--color-white);
                font-size:2rem;
                line-height: 2.1875rem;
                font-weight: 900;
                letter-spacing: 0;
                border-top-left-radius:10px;
                border-top-right-radius:10px;
            }

            #news-section > .inner .news-col .header span {
                display: block;
                padding-bottom:10px;
            }

            #news-section > .inner .news-col.community-spotlight img.featured-article-image {
                display: block;
                width:100%;
                border-top-left-radius:10px;
                border-top-right-radius:10px;
                margin-top:-10px;
            }

            #news-section > .inner .news-col .news-items {
                padding:40px 40px 30px 40px;
                background-color: var(--color-white);
                margin-top:-10px;
                border-radius:10px;
                filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
            }

            #news-section > .inner .news-col.community-spotlight .news-items {
                margin-top:0;
                border-top-left-radius:0;
                border-top-right-radius:0;
            }

                #news-section > .inner .news-col .news-items a.news-item {
                    display: block;
                    text-decoration: none;
                    padding-bottom:30px;
                    margin-bottom:30px;
                    border-bottom:1px solid var(--color-dark-blue);
                }

                    #news-section > .inner .news-col .news-items a.news-item:last-child {
                        margin-bottom:15px;
                        border-bottom:none;
                        padding-bottom:0;
                    }

                        #news-section > .inner .news-col .news-items a.news-item .title {
                            font-size:1.625rem;
                            line-height: 1.875rem;
                            color: var(--color-dark-blue);
                            margin-bottom:5px;
                            letter-spacing: 0;
                        }

                            #news-section > .inner .news-col .news-items a.news-item .title.spotlight {
                                margin-bottom:10px;
                            }

                        #news-section > .inner .news-col .news-items a.news-item:hover .title {
                            text-decoration: underline;
                        }


                        #news-section > .inner .news-col .news-items a.news-item .date {
                            font-size:1rem;
                            line-height: 1.625rem;
                            color: var(--color-black);
                            margin-bottom:10px;
                            font-weight: 700;
                        }

                        #news-section > .inner .news-col .news-items a.news-item .excerpt {
                        }

                            #news-section > .inner .news-col .news-items a.news-item .excerpt p {
                                font-size:1.375rem;
                                line-height: 1.625rem;
                                color: var(--color-dark-blue);
                                font-weight: 300;
                                margin-bottom:0;
                            }

                #news-section > .inner .news-col .news-items a.more-button.small {
                    margin: 30px 0 0 auto;
                }


                    

                    


/******* 'Get to Know' Section *******/

#gtk-section {
    width:100%;
    background-color: var(--color-dark-blue);
    padding-top:60px;
    padding-bottom:60px;
}

    #gtk-section .inner {
        width:100%;
        margin:0 auto;
        padding-left:var(--site-padding);
        padding-right:var(--site-padding);
    }

    #gtk-section .inner .main-title {
        font-size:2.25rem;
        line-height: 1;
        color: var(--color-white);
        margin-bottom:30px;
        font-weight: 700;
        letter-spacing: 0;
    }

    #gtk-section .inner .gtk-blocks {
        width:100%;
        display: grid;
        margin:0 auto;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 15px;
        grid-row-gap: 20px;
    }

        #gtk-section .inner .gtk-blocks .gtk-block {
            display:flex;
            width:100%;
            border-radius:15px;
            overflow: hidden;
        }

            #gtk-section .inner .gtk-blocks .gtk-block img {
                width:40%;
                height:100%;
                object-fit: cover;
                object-position: 50% 0; /* vertically align images to top */
                border-right-style:solid;
                border-right-width: 8px;
            }

            #gtk-section .inner .gtk-blocks .gtk-block .details {
                flex:1;
                background-color: var(--color-white);
                padding:40px;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
            }

                #gtk-section .inner .gtk-blocks .gtk-block .details .title {
                    font-size:1.875rem;
                    line-height: 2rem;
                    color: var(--color-dark-blue);
                    margin-bottom:20px;
                    font-weight: 900;
                    letter-spacing: 0;
                }

                #gtk-section .inner .gtk-blocks .gtk-block .details .description {
                    
                }

                    #gtk-section .inner .gtk-blocks .gtk-block .details p.description {
                        width:100%;
                        display:block;
                        font-size:1.375rem;
                        line-height: 1.625rem;
                        font-weight: 300;
                        color: var(--color-dark-blue);                                                  
                    }

                #gtk-section .inner .gtk-blocks .gtk-block .details a.more-button.small {
                    margin:15px 0 0 auto;
                }
                











/*****************************************************************************************
PAGE - LEVEL 1
*****************************************************************************************/


#l1-header {
    display:block;
    margin-bottom:0;
    font-size:2.5rem;
    line-height:1.75rem;
    font-weight:900;
    background-color: var(--color-red);
    color:var(--color-white);
    padding-top:30px;
    padding-bottom:30px;
}

    #l1-header .inner {
        display:flex;
        width:100%;
        margin:0 auto;
        padding-left:var(--site-padding);
        padding-right:var(--site-padding);
    }

        #l1-header .inner span {
            flex:1;
        }

img#l1-header-image {
    display:block;
    width:100%;
    aspect-ratio: 1920 / 700;
    object-fit:cover;
}

#l1-subsection {
    width:100%;
    background-color: var(--color-beige);
}

    #l1-subsection .inner {
        display:flex;
        width:100%;
        margin:0 auto;
        padding:50px var(--site-padding) 90px var(--site-padding);
    }

        #l1-subsection .inner #page-body {
            flex:1;
        }

        #l1-subsection .inner #page-body p {
            font-size:1.25rem;
            line-height:1.75rem;
            margin-bottom:30px;
        }

        #l1-subsection .inner #page-body a {
            color:var(--color-dark-blue);
        }


body.page-template-page-level1 ul.imagegrid {
    grid-template-columns: repeat(5, 1fr);
        padding-left:var(--site-padding);
    padding-right:var(--site-padding);
}


/********  Add icons to left-hand side *******/

.service-item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 40px;
}

.service-item img {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.service-item h2 {
    margin: 0 0 10px;
}

.service-item p {
    margin: 0;
}




/*****************************************************************************************
PAGE - LEVEL 2
*****************************************************************************************/

#sidebar-and-page-body {
    width:100%;
}

    #sidebar-and-page-body > .flex-wrapper { /* Puts sidebar and page body side-by-side */
        display:flex;
        width:100%;
        margin:0 auto;
    }

        /******* Sidebar *******/

        #sidebar-and-page-body > .flex-wrapper .sidebar {
            width:300px;
            padding-left:var(--site-padding);
            margin-right:var(--site-padding);
            position: relative;
        }

        #sidebar-and-page-body .flex-wrapper .sidebar .top-parent-page {
            display: inline-block;
            font-size:1.5rem;
            line-height: 1.25rem;
            font-weight: 900;
            margin-left: 15px;
            margin-bottom: 40px;
        }

        .sidebar.pusher-only { /* pushes content to the right in places where there is no sidebar, but we want to have the same alignment (e.g. Level 1 pages) */
            width:300px;
        }

        #sidenav-wrapper {
            width:100%;
            position: relative;
            transition: all 300ms;
        }

            #sidenav-mobile-openlink {
                display:none;
                justify-content: center;
                align-items: center;
                width: 60px;
                height: 60px;
                background-color: var(--color-dark-blue);
                border-top-right-radius: 10px;
                border-bottom-right-radius: 10px;
                margin-right:20px;
                margin-left:var(--site-padding-negative);
            }

                #sidenav-mobile-openlink img {
                    display:block;
                    width:20px;
                }


        
            #sidenav-mobile-closelink {
                display: none;
                width: 100%;
                font-size: 1rem;
                line-height: 1;
                font-weight: 300;
                color: var(--color-dark-blue);
                text-decoration: none;
                background-color: var(--color-beige);
                justify-content: flex-end;
                padding-left: var(--site-padding);
                height: 60px;
                align-items: center;
                padding-right: var(--site-padding);
            }

                    #sidenav-mobile-closelink span {
                        margin-right: 20px;
                        display: block;
                    }

                    #sidenav-mobile-closelink img {
                        display:block;
                        width: 24px;
                    }

        
        
        
        #sidenav-wrapper #sidenav-navblock {
            background-color: var(--color-white);
        }



        /* Side Nav Menu: General */

        ul.accordion-nav#sidenav {
            margin-bottom:40px;
        }

        ul.accordion-nav#sidenav li {
            list-style-type: none;
            display:block;
            font-size:1em;
            text-decoration:none;
        }

        ul.accordion-nav#sidenav li .flex-wrapper {
            display: flex;
            align-items: flex-end;
        }

        ul.accordion-nav#sidenav li a br {
            display:none;
        }

        ul.accordion-nav#sidenav li a.page-link {
            display: flex;
            align-items:center;
            flex:1;
        }

        ul.accordion-nav#sidenav li.menu-item .toggle-icon {
            all: unset;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            align-self: stretch;
            transition: transform 0.3s ease;
        }

        ul.accordion-nav#sidenav li.menu-item .toggle-icon svg.main-menu-chevron {
            display: block;
            width: 20px;
            height:auto;
            transition: transform 0.3s ease;
        }

            ul.accordion-nav#sidenav li.menu-item .toggle-icon.open svg.main-menu-chevron {
                transform: rotate(90deg);
            }

        /* Side Nav Menu: Level 1 */

        ul.accordion-nav#sidenav > li {
            padding-bottom:10px;
            margin-bottom:10px;
            position:relative;
        }

        ul.accordion-nav#sidenav > li::after {
            position: absolute;
            content: '';
            bottom: 0px;
            left: 15px;
            width: calc(100% - 30px);
            border-bottom: 1px solid var(--color-beige);
        }

            ul.accordion-nav#sidenav > li > a.page-link {
                font-size: 1.125rem;
                line-height: 1.375rem;
                text-decoration: none;
                color: var(--color-dark-blue);
                padding: 5px 15px;
                font-weight: 600;
            }

                ul.accordion-nav#sidenav > li.current_page_item a.page-link,
                ul.accordion-nav#sidenav > li.current-page-ancestor a.page-link {
                    background-color: var(--color-gold) !important;
                    border-top-right-radius: 10px;
                    border-bottom-right-radius: 10px;
                    text-decoration: underline;
                }

					ul.accordion-nav#sidenav > li.current_page_item.menu-item-has-children a.page-link {
						border-top-right-radius: 0;
						border-bottom-right-radius: 0;
					}

					ul.accordion-nav#sidenav > li.current_page_item.menu-item-has-children:not(.open) a.page-link {
						border-top-right-radius:10px;
						border-bottom-right-radius:10px;
					}

                ul.accordion-nav#sidenav > li.current-page-ancestor.open a.page-link {
                    border-top-right-radius: 0;
                    border-bottom-right-radius: 0;
                }

                

				ul.accordion-nav#sidenav > li > a.page-link:hover {
					text-decoration:underline;
					background-color:var(--color-gold);
					border-top-right-radius:10px;
					border-bottom-right-radius:10px;
				}

                ul.accordion-nav#sidenav > li.current-page-ancestor a.page-link {
                    text-decoration: underline;
					background-color:var(--color-gold);
					border-top-right-radius:10px;
					border-bottom-right-radius:10px;
                }


				


            ul.accordion-nav#sidenav > li > span.flex-wrapper > .toggle-icon {
                display: flex;
                width: 50px;
                padding-top:5px;
                background-color: var(--color-white);
                fill: var(--color-dark-blue);
                border-top-left-radius: 10px;
                border-top-right-radius:10px;
                align-self: stretch;
            }

            ul.accordion-nav#sidenav > li > span.flex-wrapper > .toggle-icon:focus-visible {
                outline: auto;
            }

                ul.accordion-nav#sidenav > li.open > span.flex-wrapper > .toggle-icon {
                    background-color: var(--color-dark-blue);
                    fill: var(--color-white);
                }

            ul.accordion-nav#sidenav > li > span.flex-wrapper > a.page-link {
                display: block;
                font-size:1.125rem;
                line-height: 1.375rem;
                text-decoration:none;
                color:var(--color-dark-blue);
                background-color:var(--color-white);
                padding: 5px 15px;
                font-weight: 600;
                margin-top: 10px;
                border-bottom:4px solid var(--color-white);
            }

				ul.accordion-nav#sidenav > li:not(.open) > span.flex-wrapper > a.page-link:hover {
					text-decoration:underline;
					background-color:var(--color-gold);
                    border-top-right-radius:10px;
                    border-bottom-right-radius:10px;
				}

                ul.accordion-nav#sidenav > li.open > span.flex-wrapper > a.page-link {
                    background-color:var(--color-gold);
                }

        /* Side Nav Menu: Level 2 */

        ul.accordion-nav#sidenav > li > ul.sub-menu {
            background-color:var(--color-dark-blue);
            border-bottom-right-radius:10px;
            padding-top:10px;
            padding-bottom:10px;
        }

            ul.accordion-nav#sidenav > li > ul.sub-menu > li {
                padding-right: 0;
                display: flex;
                align-items: center;
            }

                ul.accordion-nav#sidenav > li > ul.sub-menu > li > a {
                    width: calc(100% - 50px);
                    padding:10px 10px 10px 25px;
                    border-left:5px solid var(--color-dark-blue);
                    font-size:1.125rem;
                    line-height: 1.375rem;
					font-weight:500;
                    text-decoration:none;
                    color:var(--color-white);
                }

                    ul.accordion-nav#sidenav > li > ul.sub-menu > li > a:hover,
                    ul.accordion-nav#sidenav > li > ul.sub-menu > li > a:focus {
                        padding-left:25px;
                        color:var(--color-dark-blue);
                        background-color:var(--color-white);
                        border-top-right-radius: 10px;
                        border-bottom-right-radius: 10px;
                        border-left-color: var(--color-dark-blue);
                    }

                    ul.accordion-nav#sidenav > li > ul.sub-menu > li.current_page_item a {
                        background-color:var(--color-white);
                        color:var(--color-dark-blue);
                        border-top-right-radius:10px;
                        border-bottom-right-radius:10px;
                    }

            

    /******* Page Body *******/

    #sidebar-and-page-body > .flex-wrapper #page-body {
        flex:1;
        padding-right:var(--site-padding);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    

    #sidebar-and-page-body > .flex-wrapper #page-body #l2-header {
        display: block;
        font-size: 2.5rem;
        line-height: 3rem;
        font-weight: 900;
        margin-bottom:35px;
    }


  



/*****************************************************************************************
PAGE - BUILDER COMPONENTS
*****************************************************************************************/


    /******* General Section Options *******/



    .page-section {
        width:100%;
        position: relative;
        margin-bottom:30px;
    }

        #page-body-other-wrapper .page-section:last-of-type {
            margin-bottom:0;
        }

        .page-section.no-space-below {
            margin-bottom:0;
        }

        .page-section.include-color-and-padding {
            padding:var(--site-padding);
            background-color: var(--color-beige);
        }

            /* if two page sections in a row have BG color and padding, give the first one half the bottom-padding as usual,
               and the second one half the top-padding as usual, so that the padding between them isn't doubled */
            .page-section.include-color-and-padding + .page-section.include-color-and-padding { padding-top: calc(var(--site-padding) / 2); }
            .page-section.include-color-and-padding:has(+ .page-section.include-color-and-padding) { padding-bottom: calc(var(--site-padding) / 2); }

        .page-section.round-tl-corner { border-top-left-radius:15px; }
        .page-section.round-tr-corner { border-top-right-radius:15px; }
        .page-section.round-bl-corner { border-bottom-left-radius:15px; }
        .page-section.round-br-corner { border-bottom-right-radius:15px; }

        .page-section.include-color-and-padding.padding-top-0 { padding-top:0 !important; }
        .page-section.include-color-and-padding.padding-bottom-0 { padding-bottom:0 !important; }
        
        /* use a bottom margin of 0 for the last <p> in a set,
           unless the <p> has an <img> tag directly after */
        .page-section p:last-child:not(:has(+ img)) {
            margin-bottom:0;
        }

        /* round the bottom corners of the last padded beige item in the page builder section */
        .page-section.include-color-and-padding:last-child {
            border-bottom-left-radius: 15px;
            border-bottom-right-radius: 15px;
        }

  



        .page-section p + h2,
        .page-section p + h3,
        .page-section p + h4,
        .page-section p + h5,
        .page-section p + h6,
        .page-section p + h6 {
            margin-top: 2rem;
        }

        .page-section ul + h2,
        .page-section ul + h3,
        .page-section ul + h4,
        .page-section ul + h5,
        .page-section ul + h6,
        .page-section ul + h6 {
            margin-top: 2rem;
        }

        .page-section ol + h2,
        .page-section ol + h3,
        .page-section ol + h4,
        .page-section ol + h5,
        .page-section ol + h6,
        .page-section ol + h6 {
            margin-top: 2rem;
        }


        /******* Stretch (Bleed) Block to Right Edge of Screen *******/

        /*
        .page-section.has-bleed-block {
            position: relative;
            padding-right:0;
        }

        .page-section .bleed-block {
            position: absolute;
            z-index:5;
            top:0;
            height:30px;
            background-color: var(--color-beige);
        }
        */


        /******* Icon or Image Grid *******/

        .page-section .builder-imagegrid-wrapper {
            width:100%;
        }
            ul.imagegrid {
                width:100%;
                display: grid;
                margin:30px auto;
                grid-template-columns: repeat(4, 1fr); /* make adjustable? */
                grid-column-gap: 20px;
                grid-row-gap: 40px;
                padding:0; /* padding: 0 20px; */
            }

                ul.imagegrid li {
                    display: block;
                    width:100%;
                    height:100%;
                    margin-bottom:0;
                }

                    ul.imagegrid li a.icon-link-title {
                        display: flex;
                        align-items: center;
                        flex-direction: column;
                        justify-content: flex-start;
                        width: 100%;
                        height: 100%;
                        border-radius: 15px;
                        background-color:var(--color-white);
                        padding: 30px;
                        text-decoration: none;
                    }

                        ul.imagegrid li a.icon-link-title:hover {
                            background-color: var(--color-dark-blue);
                        }

                            ul.imagegrid li a.icon-link-title span.icon {
                                display: block;
                                max-width:90px;
                            }

                                ul.imagegrid li a.icon-link-title span.icon img {
                                    display: block;
                                    width:100%;
                                }

                                    ul.imagegrid li a.icon-link-title:hover span.icon img.regular {
                                        display:none;
                                    }

                                    ul.imagegrid li a.icon-link-title span.icon img.hovered {
                                        display: none;
                                    }

                                    ul.imagegrid li a.icon-link-title:hover span.icon img.regular {
                                        display:none;
                                    }

                                    ul.imagegrid li a.icon-link-title:hover span.icon img.hovered {
                                        display:block;
                                    }

                        ul.imagegrid li a.icon-link-title span.label {
                            display: block;
                            width:80%;
                            text-align: center;
                            font-size: 1.125rem;
                            line-height: 1.3125rem;
                            font-weight: 900;
                            color: var(--color-dark-blue);
                            margin-top:20px;
                        }

                            ul.imagegrid li a.icon-link-title:hover span.label {
                                color: var(--color-white);
                            }

                        ul.imagegrid li a.image-link-title {
                            display: flex;
                            align-items: center;
                            flex-direction: column;
                            justify-content: flex-start;
                            width: 100%;
                            height: 100%;
                            border-radius: 15px;
                            background-color:var(--color-white);
                            /* padding: 0 0 30px 0; */
                            text-decoration: none;
                            overflow: hidden;
                        }

                            ul.imagegrid li a.image-link-title .image-and-rollover {
                                position: relative;
                                display:block;
                                width:100%;
                                /* height:100%; */
                                aspect-ratio: 260/180;
                            }

                            ul.imagegrid li a.image-link-title .image-and-rollover .overlay {
                                display:none;
                                position:absolute;
                                z-index:5;
                                top:0;
                                left:0;
                                width:100%;
                                height:100%;
                                background-color: var(--color-dark-blue-translucent);
                                border-radius: 15px;
                            }

                                ul.imagegrid li a.image-link-title:hover .image-and-rollover .overlay {
                                    display:block;
                                }

                            ul.imagegrid li a.image-link-title .image-and-rollover img {
                                display:block;
                                width:100%;
                                height:100%;
                                object-fit: cover;
                                border-radius: 15px;
                            }

                            ul.imagegrid li a.image-link-title span.label {
                                display: block;
                                width:80%;
                                text-align: center;
                                font-size: 1.125rem;
                                line-height: 1.3125rem;
                                font-weight: 900;
                                color: var(--color-dark-blue);
                                margin-top:20px;
                            }








        /******* Button Grid *******/

        .page-section .builder-buttongrid-wrapper {
            width:100%;
        }
            ul.buttongrid {
                width:100%;
                display: grid;
                margin:30px auto;
                grid-template-columns: repeat(3, 1fr); /* make adjustable? */
                grid-column-gap: 20px;
                grid-row-gap: 20px;
                padding:0;
            }

                ul.buttongrid li {
                    display: block;
                    width:100%;
                    height:100%;
                }

                    ul.buttongrid li a {
                        width:100%;
                    }

                       

        /******* Title with Image *******/

        .page-section .title-with-image {
            display:flex;
            width:100%;
            border-radius:15px 15px 0 0;
            overflow: hidden;
            align-items: stretch;
            min-height:300px;
        }

            
            /*
            .page-section.is-title-w-image.has-bleed-block::before {
                position:absolute;
                content:'';
                top:0;
                right:0px;
                width:15px;
                height:15px;
                z-index:-1;
                background-color: var(--color-beige);
            }
            */

            .page-section .title-with-image img {
                display:block;
                width:40%;
                height:auto;
                object-fit: cover;
                border-right-style:solid;
                border-right-width: 8px;
            }

            .page-section .title-with-image .details {
                display:flex;
                flex:1;
                align-items: flex-end;
                background-color: var(--color-dark-blue);
                padding:40px;
            }

                .page-section .title-with-image .title {
                    font-size:1.875rem;
                    line-height: 2rem;
                    color: var(--color-white);
                    margin-bottom:30px;
                    font-weight: 900;
                    letter-spacing: 0;
                }

                .detail-inner .title:not(:has(+ .description)) {
                    margin-bottom: 0; /* remove bottom margin if there's no description below the title */
                }

                .page-section .title-with-image .details .description {
                    
                }

                    .page-section .title-with-image .details .description p {
                        width:100%;
                        display:block;
                        font-size:1.25rem;
                        line-height: 1.625rem;
                        font-weight: 300;
                        color: var(--color-white);                                                  
                    }

                    .page-section .title-with-image .details .description a:not(.more-button) {
                        color:var(--color-white);
                    }


        /******* Banner Image (Full Width Image) *******/

        .page-section .banner-image {
            width:100%;
            border-radius:15px;
            overflow: hidden;
            aspect-ratio: 3/1;
        }

            .page-section .banner-image.clip-bottom-corners {
                width:100%;
                border-radius:15px 15px 0 0;
            }

        .page-section .banner-image img {
            display:block;
            object-fit: cover;
            object-position: center top;
            width:100%;
            height:100%;
        }

        .page-section .banner-image.align-image-left-top img { object-position:left top; }
        .page-section .banner-image.align-image-right-top img { object-position:right top; }
        
        .page-section .banner-image.align-image-left-center img { object-position:left center; }
        .page-section .banner-image.align-image-center-center img { object-position:center center; }
        .page-section .banner-image.align-image-right-center img { object-position:right center; }

        .page-section .banner-image.align-image-left-bottom img { object-position:left bottom; }
        .page-section .banner-image.align-image-center-bottom img { object-position:center bottom; }
        .page-section .banner-image.align-image-right-bottom img { object-position:right bottom; }
       

        /******* Generic Content *******/

        .page-section .generic-content a:not(.more-button) {
            color:var(--color-dark-blue);
        }

        .page-section .line-top {
            border-top: 1px solid var(--color-dark-blue);
            padding-top:5px;
        }



        /******* Accordion Item *******/

        .page-section .accordion-intro {
            margin-top:125px;
            margin-bottom:100px;
        }

        .page-section .accordion-menu {
            width: 100%;
        }

        .page-section .accordion-menu .accordion-item {
            display: block;
            width: 100%;
            box-sizing: border-box;
            text-decoration: none;
            border: 1px solid var(--color-dark-blue);
            border-radius:10px;
            margin-bottom: 15px;
            background-color: var(--color-white);
        }

            .page-section .accordion-menu .accordion-item:last-child {
                margin-bottom:0;
            }

        .page-section .accordion-menu .accordion-item .top {
            width:100%;
            display: flex;
            justify-content: space-between;
            align-items: stretch;
            cursor: pointer;
        }

        .page-section .accordion-menu .accordion-item .title-wrapper {
            display: block;
            flex: 1;
            padding: 13px 15px 10px 15px;
        }

        .page-section .accordion-menu .accordion-item .title-wrapper .title {
            font-size: 1.375rem;
            line-height: 1.5rem;
            font-weight: 600;
            margin-right: 30px;
            margin-bottom:0;
            color: var(--color-dark-blue);
        }

        .page-section .accordion-menu .accordion-item .togglestate-icon {
            width: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
            background-color: var(--color-dark-blue);
        }
            .page-section .accordion-menu .accordion-item.closed .togglestate-icon {
                border-bottom-right-radius: 8px;
            }

        .page-section .accordion-menu .accordion-item .togglestate-icon img {
            display:block;
            width: 20px;
            transform:rotate(90deg);
            transition: all 300ms;
        }

            .page-section .accordion-menu .accordion-item.closed .togglestate-icon img {
                transform:rotate(0);
            }

        .page-section .accordion-menu .accordion-item .bottom {
            display:none;
            padding: 20px 30px 20px 30px;
            position: relative;
        }

            .page-section .accordion-menu .accordion-item .bottom a:not(.more-button) {
                color:var(--color-dark-blue);
            }

        .page-section .accordion-menu .accordion-item .bottom::before {
            position:absolute;
            content:'';
            top: 0;
            left: 15px;
            width: calc(100% - 15px);
            border-bottom:1px solid var(--color-dark-blue);
        }

        /******* Callout Box (Shortcode Version) *******/


        .page-section .calloutbox-sc {
            display:inline-block;
            background-color: var(--color-extra-light-blue);
            border-radius:5px;
            border:1px solid var(--color-dark-grey);
            padding:30px;
            margin-bottom:30px;
        }

            .page-section .calloutbox-sc.is-alert {
                border:1px solid var(--color-red);
                background-color: var(--color-extra-light-red);
            }

            .page-section .calloutbox-sc .calloutbox-sc-content {
                display: inline-block;
            }

            .page-section .calloutbox-sc .calloutbox-sc-content a:not(.more-button) {
                color:var(--color-dark-blue);
            }

            .page-section .calloutbox-sc .calloutbox-sc-content > :last-child {
                margin-bottom: 0;
            }

  


        /******* Callout Box(es) with Titles (Grid Version) *******/

        .calloutboxes-w-titles {
            width:100%;
        }

            .calloutboxes-w-titles .calloutboxes-inner {
                width:100%;
                display: grid;
                margin:0 auto;
                grid-column-gap: 50px;
            }

            .calloutboxes-w-titles .calloutboxes-inner.boxcount1 { grid-template-columns: repeat(1, 1fr); }
            .calloutboxes-w-titles .calloutboxes-inner.boxcount2 { grid-template-columns: repeat(2, 1fr); }
            .calloutboxes-w-titles .calloutboxes-inner.boxcount3 { grid-template-columns: repeat(3, 1fr); }

                .calloutboxes-w-titles .calloutboxes-inner .box {
                    width:100%;
                }

                    .calloutboxes-w-titles .calloutboxes-inner .box .header {
                        display:block;
                        width:100%;
                        margin:0;
                        padding:15px 50px 15px 40px;
                        background-color: var(--color-dark-blue);
                        color:var(--color-white);
                        font-size:2rem;
                        line-height: 2.1875rem;
                        font-weight: 900;
                        letter-spacing: 0;
                        border-top-left-radius:10px;
                        border-top-right-radius:10px;
                    }

                    .calloutboxes-w-titles .calloutboxes-inner .box .header span {
                        display: block;
                        padding-bottom:10px;
                    }

            

                    .calloutboxes-w-titles .calloutboxes-inner .box .details {
                        padding:40px 40px 30px 40px;
                        background-color: var(--color-white);
                        margin-top:-10px;
                        border-radius:10px;
                        filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3));
                    }

                        .calloutboxes-w-titles .calloutboxes-inner .box .details p {
                            color: var(--color-dark-blue);
                        }

                        .calloutboxes-w-titles .calloutboxes-inner .box .details p {
                            color: var(--color-dark-blue);
                            font-weight:500;
                            margin-bottom:1rem;
                        }

                        .calloutboxes-w-titles .calloutboxes-inner .box .details ul,
                        .calloutboxes-w-titles .calloutboxes-inner .box .details ol {
                            color: var(--color-dark-blue);
                            margin-bottom:1rem;
                        }

                        .calloutboxes-w-titles .calloutboxes-inner .box .details ul li,
                        .calloutboxes-w-titles .calloutboxes-inner .box .details ol li {
                            font-weight:500;
                        }



        /******* Image and Text Mix: Two Columns *******/
        
        .image-text-mix-twocol {
            width:100%;
            margin-bottom:30px;
        }

            .page-section.include-color-and-padding .image-text-mix-twocol {
                margin-bottom:0;
            }

        .image-text-mix-twocol .mix-cols-header {
            width:100%;
            padding-bottom:30px;
        }

            .image-text-mix-twocol .cols-wrapper {
                width:100%;
                display:grid;
                grid-template-columns: 50fr 50fr; /* must use "fr" instead of "%" for units so the column gap is included in the calculations */
                grid-column-gap: 50px;
            }

            .image-text-mix-twocol .cols-wrapper.twofive-sevenfive { grid-template-columns: 25fr 75fr; }
            .image-text-mix-twocol .cols-wrapper.threefour-sixsix { grid-template-columns: 34fr 66fr; }
            .image-text-mix-twocol .cols-wrapper.sixsix-threefour { grid-template-columns: 66fr 34fr; }
            .image-text-mix-twocol .cols-wrapper.sevenfive-twofive { grid-template-columns: 75fr 25fr; }

            .image-text-mix-twocol .cols-wrapper .mix-col {
            }

                .image-and-caption {
                    width:100%;
                    margin-bottom:30px;
                }

                .image-text-mix-twocol .cols-wrapper .mix-col .image-and-caption {
                    margin-top:0;
                    margin-bottom:30px;
                }

                    .image-text-mix-twocol .cols-wrapper .mix-col .image-and-caption:last-child {
                        margin-bottom:0;
                    }

                .image-text-mix-twocol .cols-wrapper .mix-col a:not(.more-button) {
                    color:var(--color-dark-blue);
                }

                    



        /******* Image and Text Mix: Three Columns *******/
        
        .image-text-mix-threecol {
            width:100%;
            margin-bottom:30px;
        }

        .image-text-mix-threecol .mix-cols-header {
            width:100%;
            padding-bottom:30px;
        }

            .image-text-mix-threecol .cols-wrapper {
                width:100%;
                display:grid;
                grid-template-columns: 33fr 34fr 33fr; /* must use "fr" instead of "%" for units so the column gap is included in the calculations */
                grid-column-gap: 50px;
            }

            .image-text-mix-threecol .cols-wrapper .mix-col {
            }

                .image-and-caption {
                    width:100%;
                }

                .image-text-mix-threecol .cols-wrapper .mix-col .image-and-caption {
                    margin-top:0;
                    margin-bottom:30px;
                }

                    .image-text-mix-threecol .cols-wrapper .mix-col .image-and-caption:last-child {
                        margin-bottom:0;
                    }

                .image-text-mix-threecol .cols-wrapper .mix-col a:not(.more-button) {
                    color:var(--color-dark-blue);
                }

        


        /**** Shared Assets for 'Image and Text Mix: Two Columns' + 'Image and Text Mix: Three Columns' *******/

        .image-and-caption img {
            display:block;
            width:100%;
            object-fit: cover;
            border-radius:15px;
        }

        .image-and-caption.has-caption img {
            border-bottom-left-radius:0;
            border-bottom-right-radius:0;
        }

        .image-and-caption.float-left {
            float:left;
            margin-top:0;
            margin-right:30px;
            margin-bottom:30px;
        }

        .image-and-caption.float-right {
            float:right;
            margin-top:0;
            margin-left:30px;
            margin-bottom:30px;
        }

        .image-and-caption p.image-caption {
            display:block;
            width:100%;
            margin-bottom:0;
            border-bottom-left-radius:15px;
            border-bottom-right-radius:15px;
            background-color: var(--color-dark-blue);
            color:#fff;
            padding:15px;
        }
           


        /******* Spacer Block *******/

        .pagebuilder-spacer {
            width:100%;
            border-bottom:1px solid var(--color-dark-blue);
            padding-top:30px;
            margin-bottom:45px;
            overflow: hidden;
        }



        



/*****************************************************************************************
CANDIDATE LIST (VOTER INFORMATION & CANDIDATE INFORMATION PAGES)
*****************************************************************************************/

.candidate-list table th {
    width:50%;
}





/*****************************************************************************************
NEWS AND NOTICES - LANDING AND SINGLE PAGES
*****************************************************************************************/

/******* Landing Page *******/



/******* Single Pages *******/


#news-date-posted-block {
    margin-bottom:60px;
    border-bottom:1px solid var(--color-dark-blue);
}






/*****************************************************************************************
WIDGETS
*****************************************************************************************/

/******* 'More' Button - Regular Size *******/

a.more-button,
button.more-button,
.gform_wrapper .gf-custom-button-wrap button.more-button {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: fit-content;
    background-color: var(--color-dark-blue);
    color: var(--color-white);
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.25rem;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 8px;
    border: 1px solid var(--color-dark-blue);
    font-family: "museo-sans", sans-serif !important;
}

    a.more-button:not(.reverse),
    button.more-button:not(.reverse) {
        padding: 8px 5px 8px 10px;
    }

    a.more-button.reverse,
    button.more-button.reverse {
        padding: 8px 10px 8px 5px;
        flex-direction: row-reverse;
    }

        a.more-button.reverse .button-chevron,
        button.more-button.reverse .button-chevron {
            transform: rotate(180deg);
        }

    a.more-button > *,
    button.more-button > * {
        transition: all 300ms;
    }

    a.more-button.small,
    button.more-button.small {
        font-size: 1rem;
    }

        a.more-button:not(.reverse).small,
        button.more-button:not(.reverse).small {
            padding: 6px 5px 6px 10px;
        }

        a.more-button.reverse.small,
        button.more-button.reverse.small {
            padding: 6px 10px 6px 5px;
        }

        a.more-button.small span,
        button.more-button.small span {
        }

            /*
            a.more-button.small:not(.reverse):hover span,
            button.more-button.small:not(.reverse):hover span {
                margin-right: 7px;
            }

            a.more-button.small.reverse:hover span,
            button.more-button.small.reverse:hover span {
                margin-left: 7px;
            }
            */

        a.more-button.small .button-chevron,
        button.more-button.small .button-chevron {
            width: 15px;
        }

    a.more-button.white,
    button.more-button.white {
        background-color: var(--color-white);
        color: var(--color-dark-blue);
    }

    a.more-button span,
    button.more-button span {
        display:block;
        flex:1;
    }

    a.more-button:not(.reverse) span,
    button.more-button:not(.reverse) span {
        margin-right: 5px;
    }

    a.more-button.reverse span,
    button.more-button.reverse span {
        margin-left: 5px;
    }

    a.more-button .button-chevron,
    button.more-button .button-chevron {
        display:block;
        width: 20px;
    }

    a.more-button .button-chevron,
    button.more-button .button-chevron {
        fill:var(--color-white);
    }

    a.more-button.white .button-chevron,
    button.more-button.white .button-chevron {
        fill:var(--color-dark-blue);
    }

    a.more-button:hover,
    button.more-button:hover {
        background-color: var(--color-gold);
        color: var(--color-dark-blue);
        border-color:var(--color-white);
    }

    a.more-button.small.hoverwhite:hover,
    button.more-button.small.hoverwhite:hover {
        background-color: var(--color-white);
        color: var(--color-dark-blue);
        border-color:var(--color-dark-blue);
    }

    a.more-button.white:hover,
    button.more-button.white:hover {
        background-color: var(--color-gold);
    }

    /*
    a.more-button:not(.reverse):hover span,
    button.more-button:not(.reverse):hover span {
        margin-right: 10px;
    }
    
    a.more-button.reverse:hover span,
    button.more-button.reverse:hover span {
        margin-left: 10px;
    }
        */

    
    a.more-button:hover .button-chevron,
    button.more-button:hover .button-chevron {
        fill:var(--color-dark-blue);
    }


    /*** Override for inline <span> block wrapped around some instances of the contact link ***/
    span:has(a.inline-contact-link) {
        font-weight: 300 !important;
    }



/******************************************************************************************
CONTACT FOOTER, POP-UPS AND FORMS
******************************************************************************************/

#contact-footer {
    width:100%;
    position: relative;
    background-color: var(--color-extra-light-blue);
    border-top-left-radius:15px;
    padding:var(--site-padding);
    padding-bottom:20px;
    margin-top:30px;
}

        #contact-footer .bleed-block {
            position: absolute;
            z-index:5;
            top:0;
            background-color: var(--color-extra-light-blue);
        }

#contact-footer .contact-footer-title {
    margin-bottom:15px;
    font-size:1.875rem;
    line-height:2.125rem;
    font-weight:900;
}

#contact-footer #contact-toggle {
    display:inline-block;
    margin-bottom:15px;
    font-size:1.875rem;
    line-height:2.125rem;
    font-weight:900;
    padding-right:300px;
}

#contact-footer a.contact-footer-link {
    color:var(--color-dark-blue);
    font-size:1.25rem;
    line-height:1.75rem;
    font-weight:300;
}

#footer-subscribetab-spacer {
    width:100%;
    height:100px;
}





/******************************************************************************************
TABLES
******************************************************************************************/

.page-section .table-scroller {
    overflow-x: auto;
    margin-top:15px;
    margin-bottom:30px;
    background-color: var(--color-white);
}

    .page-section .table-scroller table:not(.tribe-events-calendar-month) {
        margin: 0;
        padding: 0;
        width: 100%;
        border: solid 1px var(--color-grey);
        border-collapse:collapse;     
    }

        .page-section .table-scroller table:not(.tribe-events-calendar-month) caption {
            text-align: left;
            font-size: 1.125rem;
            line-height: 1.625rem;
            margin-bottom: 10px;
            font-weight: 700;
        }

        

        .page-section .table-scroller table:not(.tribe-events-calendar-month) th,
        .page-section .table-scroller table:not(.tribe-events-calendar-month) td {
            padding:10px;
            font-size: 1.125rem;
            line-height: 1.625rem;
        }

        .page-section .table-scroller table:not(.tribe-events-calendar-month) th {
            text-align: left;
            font-weight:700;
            border-bottom:10px solid var(--color-red);
        }

        
        .page-section .table-scroller table:not(.tribe-events-calendar-month) tr:first-child { /* hack to give a <th> header style to the first row of any table - may need to remove this if it's problematic for certain tables */
            border-bottom:10px solid var(--color-red);
        }

            .page-section .table-scroller table:not(.tribe-events-calendar-month) tr:first-child th {
                text-align: left;
                font-weight:700;
            }

        .page-section .table-scroller table:not(.tribe-events-calendar-month) td {    
            font-weight: 300;
        }

            .page-section .table-scroller table:not(.tribe-events-calendar-month) tbody > tr:nth-child(even) > td {
                background-color: var(--color-light-grey);
            }

        .page-section .table-scroller table:not(.tribe-events-calendar-month) a {
            color:var(--color-dark-blue);
        }




/******************************************************************************************
DEPARTMENT DIRECTORY
******************************************************************************************/

#department-directory {
    width:100%;
}


    #department-directory .left {
        width:50%;
        border-right:1px solid var(--color-grey);
    }

    #department-directory .right {
        width:50%;
    }


/******************************************************************************************
CONTACTS PAGE / DIRECTORY
******************************************************************************************/

#contacts-directory th {
    width:50%;
}



/******************************************************************************************
ASSOCIATIONS AND GROUPS PAGE / DIRECTORY
******************************************************************************************/

#category-filter-bar-wrapper {
    width:100%;
    margin-top:30px;
    padding:10px;
    border:1px solid var(--color-grey);
    font-family: "museo-sans", sans-serif;
    font-optical-sizing: auto;
}

    #category-filter-bar {
        width:100%;
    }

        #category-filter-bar .category-filters {
            width:100%;
            display:grid;
            grid-template-rows: repeat(3, auto);
            grid-auto-flow: column;
        }

            #category-filter-bar .category-filters label.category-filter {
            }

    
p.ag-phone {
    text-wrap: nowrap;
}

.ag-list table th:first-child {
    width:25%;
}

.ag-email a {
    text-wrap:wrap;
}



/******************************************************************************************
EVENTS CALENDAR
******************************************************************************************/


body.single-tribe_events #sidebar-and-page-body > .flex-wrapper #page-body {
    padding-left:var(--site-padding);
}




/*
To customize some of the global colours, go to 'Appearance > Customize',
then choose 'The Events Calendar'
*/


:root {
    --tec-font-family-sans-serif: "museo-sans", sans-serif !important;
    --tec-font-family-sans-serif: "museo-sans", sans-serif !important;
    --tec-font-family-heading: "museo-sans", sans-serif !important;
}

/* hide "Related Events" on single event pagges */
.tribe-events-related-events-title,
.tribe-related-events {
    display: none !important;
}

/* Hide Events Category on single event pages */
.tribe-events-meta-item:has(.tribe-events-event-categories-label) {
    display:none !important;
}

.tribe-events-schedule {
    font-family: "museo-sans", sans-serif !important;
    color: var(--color-dark-blue);
}

.tribe-events-nav-pagination {
    margin-bottom:60px;
}

.tribe-events-content p {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 300;
    margin-bottom: 1rem;
    color: var(--color-dark-blue);
}

.tribe-events-back a {
    color: var(--color-dark-blue) !important;
}

#tribe-events-pg-template {
    width:100%;
    max-width:100%;
    padding:0;
}

.tribe-filter-bar .tribe-filter-bar-c-pill--button .tribe-filter-bar-c-pill__pill {
    transition:all 300ms !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: fit-content !important;
    background-color: var(--color-dark-blue) !important;
    color: var(--color-white) !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    line-height: 1.25rem !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    
    font-family: "museo-sans", sans-serif !important;
    padding: 6px 10px !important;
}

body .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__today-button {
    display:none !important;
}


.tribe-events-calendar-month__calendar-event-datetime,
.tribe-common-form-control-text__input,
a.tribe-events-calendar-month__calendar-event-title-link {
    font-size:1rem !important;
}

.tribe-events-c-search__button {
    border-radius: 8px !important;
}




.tribe-common-l-container.tribe-events-l-container {
    padding-left:0 !important;
    padding-right:0 !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-top:0 !important;
    padding-bottom:0 !important;
}




/******************************************************************************************
INTERACTIVE MAPS
******************************************************************************************/

.wpgmp_map_container * {
    font-family: "museo-sans", sans-serif !important;
}

div.categories_filter select {
    text-transform: none !important;
}

.wpgmp_tabs_container .wpgmp_tab_item .wpgmp_cat_title {
    text-transform: none !important;
}

.fc-featured-hoverdiv .fc-feature-img {
    border-radius:15px 0 0 15px !important;
    overflow: hidden;
}

.wpgmp_map_container .infoBox {
    border-radius: 15px !important;
    overflow: hidden;
    border:1px solid var(--color-dark-blue);
}

.fc-infowindow-udine .fc-itemcontent-padding {
    padding-bottom:10px !important;
}

.wpgmp_map_container .fc-item-meta {
    width: 100% !important;
    justify-content: space-between !important;
}

.wpgmp_map_container .fc-item-meta .fc-badge {
    margin-right:5px !important;
    margin-bottom:5px !important;
}

.wpgmp_listing_list .fc-item-box {
    border-radius:15px !important;
    padding:0 !important;
    border:1px solid var(--color-dark-blue) !important;
}


.fc-item-title {
    margin-top:30px !important;
}

.fc-item-address {
    color:var(--color-dark-grey) !important;
    margin-bottom:10px !important;
}

.wpgmp_listing_container a.more-button.small {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: fit-content !important;
    background-color: var(--color-dark-blue) !important;
    color: var(--color-white) !important;
    font-weight: 500 !important;
    font-size:1rem !important;
    line-height:1.25rem !important;
    text-transform: uppercase !important;
    border: 1px solid var(--color-dark-blue) !important;
    padding: 6px 5px 6px 10px !important;
    margin-top:15px !important;
    margin-bottom:30px !important;
}

.wpgmp_listing_container a.more-button.small:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-dark-blue) !important;
    border-color: var(--color-gold) !important;
}

    .wpgmp_listing_container a.more-button.small span {
        font-size:1rem !important;
        line-height:1.25rem !important;
    }

.wpgmp_pagination span.current {
    background-color: var(--color-dark-blue) !important;
    border-radius:5px !important;
    border:1px solid var(--color-dark-blue) !important;
}

.wpgmp_pagination a {
    border-radius:5px !important;
    border:1px solid var(--color-dark-blue) !important;
}

.wpgmp_pagination a:hover {
    background-color: var(--color-gold) !important;
}


.fc-item-content {
    float:none !important;
    display: block !important;
    overflow: hidden !important;
    font-size:1rem !important;
    line-height:1.325rem !important;
    font-weight:300 !important;
    color:var(--color-dark-blue) !important;
}

.wpgmp_before_listing,
.wpgmp_search_input {
    font-size:1rem !important;
}



div.categories_filter select {
    border-radius:10px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
}

div.categories_filter select option {
    text-transform:none !important;
}

.wpgmp_listing_container .fc-component-content ul {
    display: flex !important;
    align-items:stretch !important;
}

.wpgmp_listing_container .fc-component-content ul li {
    display:block !important;
}

.fc-component-content .fc-featured-hoverdiv {
    float:none !important;
    height:100% !important;
}

.fc-component-content ul li.fc-component-thumb .fc-feature-img {
    height: 100% !important;
    display: flex;
}

.fc-component-content ul li.fc-component-thumb .fc-feature-img img {
    object-fit:cover !important;
}

.fc-item-title {
    text-transform:none !important;
    font-size:1rem !important;
}

.wpgmp_map_parent {
    border-top-left-radius:15px !important;
    border-top-right-radius:15px !important;
    display:block !important;
    margin-bottom:0 !important;
    overflow: hidden !important;
}

.wpgmp_filter_wrappers {
    border-bottom-left-radius:15px !important;
    border-bottom-right-radius:15px !important;
}


.wpgmp_tabs_container.cleanslate {
    border-radius:15px !important;
}

    .wpgmp_tabs_container .wpgmp_tabs {
        border-top-left-radius:15px !important;
        border-top-right-radius:15px !important;
    }

        .wpgmp_tabs_container .wpgmp_tabs li a {
            background-color: var(--color-red) !important;
            border-top-left-radius:15px !important;
            border-top-right-radius:15px !important;
            overflow: hidden !important;
        }

.listing-buttons {
    display:flex;
    column-gap: 15px;
    flex-wrap: wrap;
}









/******************************************************************************************
WIZARD FORMS
******************************************************************************************/

.gform_confirmation_wrapper {
    background-color: var(--color-light-green);
    padding:20px;
    border-radius:10px;
}

.gform_confirmation_message {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 300;
    color: var(--color-dark-blue);
}

.gform_wrapper.gravity-theme .gfield-choice-input {
    vertical-align: top !important;
    margin-top: 6px !important;
}





/******************************************************************************************
UTILITY CLASSES
******************************************************************************************/

.hidden { display:none; }

.width-25 { width:25%; }
.width-33 { width:33%; }
.width-50 { width:50%; }
.width-66 { width:66%; }
.width-100 { width:100%; }




/******************************************************************************************
FOOTER
******************************************************************************************/

#site-footer {
    width:100%;
    background-color: var(--color-white);
    padding-top:40px;
    padding-bottom:40px;
    border-top:1px solid var(--color-dark-blue);
}

    #site-footer .inner {
        display:block;
        width:100%;
        padding-left: var(--site-padding);
        padding-right: var(--site-padding);
        margin: 0 auto;
        position: relative;
    }

        #site-footer .inner .info-blocks {
            display:flex;
            width:100%;
            justify-content: space-between;
        }

      

        #site-footer .inner .logo-wrapper img.logo {
            display:block;
            width:200px;
        }




        #site-footer .inner .address p {
            font-size:1.25rem;
            line-height: 1.875rem;
            font-weight: 500;
            margin-bottom: 0;
        }

            #site-footer .inner .address p strong {
                font-weight:900;
            }

                #site-footer .inner .address a {
                    color:var(--color-dark-blue);
                }

        #site-footer .inner .address p.copyright-desktop {
            display:block;
            margin-top:60px;
            font-size:1rem;
        }

        #site-footer .inner.copyright-mobile {
            display:none;
        }

            #site-footer .inner.copyright-mobile p {
                margin-top:60px;
                font-size:1rem;
                font-weight:500;
            }

        #site-footer .inner .links ul {
            list-style-type: none;
            padding:0;
            margin:0;
        }
        
            #site-footer .inner .links ul li {
                font-size:1.125rem;
                line-height: 1.875rem;
                font-weight: 500;
                margin-bottom: 0;
            }

                #site-footer .inner .links ul li a {
                    color:var(--color-dark-blue);
                }

        #site-footer .inner .social-icons-wrapper p {
            font-size:1.25rem;
            line-height: 1.875rem;
            font-weight: 900;
            margin-bottom: 25px;
        }

            #site-footer .inner .social-icons-wrapper .social-icons {
                display:flex;
                justify-content: space-between;
            }

                #site-footer .inner .social-icons-wrapper .social-icons a {
                    display:block;
                    width:35px;
                    margin-right:15px;
                    transition: all 300ms;
                }

                #site-footer .inner .social-icons-wrapper .social-icons a:hover,
                #site-footer .inner .social-icons-wrapper .social-icons a:focus {
                    scale:calc(120%);
                }

                    #site-footer .inner .social-icons-wrapper .social-icons a:last-child {
                        margin-right:0;
                    }

                    #site-footer .inner .social-icons-wrapper .social-icons a img {
                        display:block;
                        width:100%;
                    }

         
            



        #site-footer .inner .subscribe-tab-wrapper {
            position:absolute;
            right:0;
            top:-99px;
            width:fit-content;
            display: block;
            padding-right:var(--site-padding);
        }

        #site-footer .inner .subscribe-tab-wrapper a.subscribe-tab {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            width: 100%;
            padding: 23px 40px 20px 40px;
            font-size: 1.75rem;
            line-height: 1.25rem;
            font-weight: 900;
            color: var(--color-gold);
            text-decoration: none;
            background-color:var(--color-red);
            border-top-left-radius: 15px;
            border-top-right-radius: 15px;
            margin-top: -10px;
            z-index: 2;
            position: relative;
            border-bottom: none;
            transition: all 300ms;
        }

        #site-footer .inner .subscribe-tab-wrapper a.subscribe-tab svg.main-menu-chevron {
            display: block;
            width: 15px;
            margin-left: 20px;
            margin-bottom: -7px;
            fill:var(--color-gold);
        }

        #site-footer .inner .subscribe-tab-wrapper a.subscribe-tab:hover {
            padding-top:40px;
            margin-top: -27px;
        }







/******************************************************************************************
FOOTER CONTACT FORM
******************************************************************************************/


/* Base style for GF buttons */
/* Base style for GF buttons
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_button {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    display: inline-block !important;
    position: relative !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    overflow: visible !important;
    z-index: 1 !important;
}


.gform_wrapper .gform_next_button,
.gform_wrapper .gform_button {
    color: var(--color-white) !important;
    background-color: var(--color-dark-blue) !important;
    border: none !important;
    padding: 5px 20px 4px 10px !important;
}

.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_button:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-dark-blue) !important;
}

.gform_wrapper .gform_next_button::after,
.gform_wrapper .gform_button::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: block !important;
    width: 24px !important;
    height: 25px !important;
    margin-right: -15px !important;
    background-image: url('/wp-content/themes/accurate/images/arrow-point-tiny.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    z-index: 2 !important;
}

.gform_wrapper .gform_next_button:hover::after,
.gform_wrapper .gform_button:hover::after {
    background-image: url('/wp-content/themes/accurate/images/arrow-point-tiny-hoverstate.svg') !important;
}

.gform_wrapper .gform_previous_button {
    color: var(--color-dark-blue) !important;
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-dark-blue) !important;
    padding: 5px 10px 4px 20px !important;
}

.gform_wrapper .gform_previous_button:hover {
    background-color: var(--color-gold) !important;
    color: var(--color-dark-blue) !important;
    border-color: var(--color-gold) !important;
}

.gform_wrapper .gform_previous_button::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 24px !important;
    height: 25px !important;
    margin-left: -15px !important;
    background-image: url('/wp-content/themes/accurate/images/arrow-point-tiny-white.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transform: scaleX(-1) !important;
    transform-origin: center !important;
    z-index: 2 !important;
}

.gform_wrapper .gform_previous_button:hover::before {
    background-image: url('/wp-content/themes/accurate/images/arrow-point-tiny-hoverstate.svg') !important;
    transform: scaleX(-1) !important;
}

.gform_wrapper .gform_previous_button::after {
    display: none !important;
    content: none !important;
}
 */











.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {
    height: 28px !important;
    width: auto !important;
    background-color: unset !important;
    border: unset !important;
    box-shadow: none !important;
    padding-inline-end: 0px !important;
    padding: 0px !important;
}

#gform_submit_button_2 {
    width: 98px !important;
    /* use your actual SVG width */
}




/* preload hover images to reduce flicker */
body::after {
    content:
        url('/wp-content/themes/accurate/images/nextOn.svg') url('/wp-content/themes/accurate/images/backOn.svg') url('/wp-content/themes/accurate/images/submitOn.svg');
    display: none;
}

/* keep the image input box fixed */
.gform_wrapper input[type="image"] {
    display: inline-block !important;
    width: 90px !important;
    /* use your actual SVG width */
    height: 38px !important;
    /* use your actual SVG height */
    border: 0 !important;
    padding: 0 !important;
    background: none !important;
    vertical-align: top !important;
}

.gform_confirmation_message {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.gform-body {
    background-color: var(--color-yellow) !important;
    border-radius: 5px !important;
    border: solid 1.25px var(--color-dark-grey) !important;
    padding: 34px !important;
}


.bottom:has(#gform_wrapper_2) {
    padding: 31px !important;

}

.details:has(#gform_wrapper_2) {}

.gf_page_steps {
    padding-left: 34px !important;
    padding-right: 34px !important;
}

.gf_page_steps {
    position: relative;
}

.gf_page_steps::after {
    content: "";
    position: absolute;
    top: 33%;
    left: 0;
    width: 100%;
    height: 1px;
    /* thickness of the line */
    background-color: var(--color-dark-blue);
    transform: translateY(-50%);
}



.gf_page_steps {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.gf_page_steps .gf_step {
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    position: relative !important;
}

.gf_page_steps .gf_step_number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 6px !important;
    position: relative !important;
    z-index: 2 !important;
}

.gf_page_steps .gf_step_label {
    display: block !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
}


.gf_step {
    gap: 9px !important;
}

.gf_step_number,
.gf_step_label {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
}

.gf_step_number {
    background-color: var(--color-white) !important;
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
}

.gf_step_number {
    border: 1px solid var(--color-dark-blue) !important;
}

.gf_step_active .gf_step_number {
    background-color: var(--color-gold) !important;
}


.gform_page_title {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.gform_page_subtext {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    line-height: 24px !important;
}

.gform_wrapper .gform_page_footer {
    justify-content: flex-end !important;
    padding-right: 20px !important;
}


.gf_step_label {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
}

.gform_wrapper .gf_step_label {
    text-transform: none !important;
    font-weight: 300 !important;
}


.gform_page_fields input[type="text"],
.gform_page_fields input[type="email"] {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    border: solid #17254D 1.25px !important;
}


.gfield_description,
.gform-field-label {
    font-family: "museo-sans", sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}

.gform_wrapper .gfield_label {
    font-weight: 700 !important;
}

.gform_wrapper .gfield {
    margin-bottom: 5px !important;
}

.gform_wrapper .ginput_container_name {
    display: flex !important;
    gap: 10px !important;
    /* adjust to taste */
}

.gform_wrapper .ginput_container_name br {
    display: none !important;
}

.gform_wrapper .ginput_container_name>span {
    margin: 0 !important;
}

.gform_wrapper .ginput_container_name input {
    width: 100% !important;
}

.gform_wrapper .gfield--type-name {
    margin-bottom: 12px !important;
}

.gform_wrapper .gform_fields {
    row-gap: 12px !important;
}

.gform_wrapper .gfield {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

.gform_wrapper p {
    margin-bottom: 0 !important;
    line-height: 1;
}

.gform_wrapper .gfield--input-type-html p {
    margin-bottom: 1rem !important;
    line-height: 1.5rem !important;
}



.gform_wrapper .gfield--input-type-html p {
    margin-bottom: 1rem !important;
    line-height: 1.5rem !important;
}








/******************************************************************************************
SEARCH PAGES
******************************************************************************************/


#single-bylaw-search-input{
    min-width: 240px;
    margin: 0;
    padding: 10px 30px 10px 15px;
    border-radius: 5px;
    font-family: "museo-sans";
}

/** add mag lens to the custom search single article page **/

.single-bylaw-search-input-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.single-bylaw-search-input-wrap input {
    width: 100%;
    padding-right: 42px;
}

.single-bylaw-search-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 38px;
    height: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

.single-bylaw-search-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 38px;
    height: 100%;
    border: 0;
    cursor: pointer;
    padding: 0;
    background-image: url('/wp-content/plugins/facetwp/assets/images/icon-search.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20px 20px;
    background-color: transparent;
    opacity: 0.5;
}

.single-bylaw-search-form input[type="search"] {
    width: 100% !important;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

/******************************* STANDARD CONTACT FORM ON BOTTOM OF MOST PAGES ********************************/

.footerFormWrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

#contact-footer {
    scroll-margin-top: 100px;
}

#contact-footer a.contact-toggle {
    color:var(--color-dark-blue);
}

#contact-form .gform-body {
    background-color: transparent !important;
    border-radius: 5px !important;
    border: none !important;
    padding: 0 !important;
    padding-top: 34px !important;
    font-family: "museo-sans", sans-serif !important;
    font-optical-sizing: auto !important;
}

/* Gravity Forms custom next/previous/submit buttons */
.gform_wrapper .gf-custom-button-wrap {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    height: 32px;
    background: #17254d;
    color: #fff;
    border-radius: 6px;
    padding: 0 10px 0 14px;
    cursor: pointer;
    line-height: 1;
    margin-left: 20px;
}

.gform_wrapper .gf-custom-button-wrap.gf-previous-button-wrap + .gf-custom-button-wrap.gf-next-button-wrap {
    margin-left: 20px;
}

.gform_wrapper .gf-custom-button-wrap:hover {
    padding-right: 14px;
    color: #17254d;
    background: #fff;
}

.gform_wrapper .gf-custom-button-wrap input,
.gform_wrapper .gf-custom-button-wrap button {
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
    line-height: 1 !important;
    height: auto !important;
    cursor: pointer;
    appearance: none;
    box-shadow: none !important;
}

.gform_wrapper .gf-custom-button-wrap input:focus,
.gform_wrapper .gf-custom-button-wrap button:focus {
    box-shadow: none !important;
}

.gform_wrapper .gf-custom-button-wrap .button-chevron {
    display: inline-block;
    width: 10px;
    height: 10px;
    fill: currentColor;
    flex: 0 0 auto;
    margin: 0;
    transition: transform 0.2s ease;
}

.gform_wrapper .gf-custom-button-wrap:hover .button-chevron {
    transform: translateX(3px);
}

.gform_wrapper .gform_ajax_spinner,
.gform_wrapper [id^="gform_ajax_spinner_"],
.gform_wrapper .gf-spinner {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gform-field-label--type-sub,
.gform-field-label--type-sub+p,
.gform-field-label--type-sub+br {
    display: none;
}

.gfield_description {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.gform_wrapper.gravity-theme .gf_step_label {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/** CANCEL BUTTON **/

.gform_footer {
    display: flex;
    gap: 10px;
    align-items: center;
}

.gf-cancel-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;

    background: #17254d;
    color: #fff;

    border: none;
    border-radius: 6px;

    padding: 0 10px 0 14px;

    cursor: pointer;
    line-height: 1;

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;

    transition: all 0.2s ease;
}

.gfield:has(.gf-cancel-btn) + .gfield--type-submit {
    margin-left: 20px;
}

.gf-cancel-btn:hover {
    padding-right: 14px;
    color: #17254d;
    background: #fff;
}

.gf-cancel-btn::after {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    flex: 0 0 auto;

    background-image: url('/wp-content/themes/accurate/images/icon-close.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    transition: transform 0.2s ease, filter 0.2s ease;

    filter: brightness(0) invert(1);
}

.gf-cancel-btn:hover::after {
    transform: translateX(3px);
    filter: brightness(0) saturate(100%) invert(13%) sepia(23%) saturate(1607%) hue-rotate(191deg) brightness(95%) contrast(96%);
}

#gfield_1_9 {
    padding-right: 0 !important;
    margin-right: 0 !important;
}


.gform_wrapper.gravity-theme .gfield.gfield--width-half {
    grid-column: span 1 !important;
    /*force the button to but up next to the close button */
}



/*******SEARCH RESULTS ************/

.search-result-card {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #ddd;
}

.search-result-image {
    width: 140px;
    flex: 0 0 140px;
}

.search-result-image img {
    width: 100%;
    height: auto;
    display: block;
}

.search-result-content {
    flex: 1;
}

.search-result-snippet mark {
    background: #ffeb7a;
    padding: 0 0.15em;
}

.search-result-card {
    display: flex;
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #ddd;
}

.search-result-thumb {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
}

.search-result-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.search-result-content {
    flex: 1;
}

.accessible-date-fields {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.accessible-date-fields label {
    font-weight: 700;
}

.accessible-date-input {
    width: 100%;
    min-height: 44px;
}

.hidden_search_field {
    display: none !important;
}



.search-result-content h3 a {
    font-size: 1.375rem;
    line-height: 1.5rem;
    font-weight: 600;
    margin-right: 30px;
    margin-bottom: 0;
    color: var(--color-dark-blue);
}

.breadcrumb_sideBar_search {
        display: none !important;
}


.search_mobile_sidebar {
    padding-left: var(--site-padding)!important;
    padding-right: var(--site-padding)!important;
}

.search-sidebar-facet-categories .accessible-date-fields {
    font-size: 0.95rem !important; 
    line-height: 1.625rem;
    font-weight: 600 !important;
    margin-bottom: 1rem;
    color: var(--color-dark-blue);
        font-family: "museo-sans", sans-serif;
    font-optical-sizing: auto;
}

.search-sidebar-title {
    font-size: 1.875rem;
    line-height: 2.125rem;
    font-weight: 900;
    margin-bottom: 0.75rem;
    color: var(--color-dark-blue);
}

.facetwp-facet input.facetwp-search {
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 5px;
}

.facetwp-facet {
    margin-bottom: 10px !important;
}

.search-sidebar-title {
    margin-top:40px;
}





.facetwp-checkbox,
.accessible-date-fields {
    font-size: 0.875rem;
    line-height: 1.125rem;
    font-weight: 300;
    font-family: "museo-sans";
}

.facetwp-checkbox {
    margin-bottom: 1rem;
}

.facetwp-search {
    padding-left: 15px;
}

.facetwp-icon {
    padding-right: 15px;
}

.accessible-date-fields {
    margin-bottom: 10px;
}

.accessible-date-input {
    /* min-width: 240px; */
    margin: 0;
    padding: 10px 30px 10px 15px;
    border-radius: 5px;
    font-family: "museo-sans";
}

.clear-date-facet {
    margin-bottom: 32px !important;
}

.search-top-bar {
    margin-bottom: 15px;
}

.search-filters-accordion.filters-disabled .details {
    opacity: 0.45;
}

.search-filters-accordion.filters-disabled .details input,
.search-filters-accordion.filters-disabled .details button,
.search-filters-accordion.filters-disabled .details .facetwp-checkbox {
    pointer-events: none;
}

#clear-site-search {
    margin-top:10px;
}

.breadcrumb_inpage_search {
    margin-bottom:30px;
}

nav.search-results-pagination {
    margin-top:30px;
}



/******* Adjust Search sidebar to fit everything a bit better *******/

body.page-template-search_russell #sidebar-and-page-body > .flex-wrapper .sidebar.search_mobile_sidebar,
body.page-template-page-news-and-notices #sidebar-and-page-body > .flex-wrapper .sidebar.search_mobile_sidebar {
    padding-right:0 !important;
}

body.page-template-search_russell #sidenav-mobile-openlink,
body.page-template-page-news-and-notices #sidenav-mobile-openlink {
    display:none;
}

    body.page-template-search_russell #sidebar-and-page-body > .flex-wrapper .sidebar.search_mobile_sidebar .page-section .accordion-menu .accordion-item .title-wrapper .title,
    body.page-template-page-news-and-notices #sidebar-and-page-body > .flex-wrapper .sidebar.search_mobile_sidebar .page-section .accordion-menu .accordion-item .title-wrapper .title {
        margin-right:0;
    }