/*** Universal Styles ***/

body { color:#3f3f40; font: 500 16px 'Raleway', sans-serif; }
body.body { margin:0; padding:0; background-color:#f2f2f2; }
body.home { background-color:#fff; }


table, input, textarea, select { font:inherit; }
input[type="email"],
input[type="text"],
input[type="password"],
textarea,
select {
    min-width:48%;
    max-width:100%;
    width:90%;
    font-size: 1em;
    border: 0.1em solid #ccc;
    line-height:2em;
    background: #fff;
    padding:0.3em;
    color:#666;
    margin: 0.2em 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    
}
select { display:block; height:44px; line-height:normal;   padding-top:0; padding-bottom:0; -moz-appearance:none; -webkit-appearance:none; appearance:none; background-color:#fff;   background-image:url('data:image/svg+xml; charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23676767%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'); background-repeat:no-repeat, repeat; background-position:right .7em top 50%, 0 0; background-size:.65em auto, 100%; }
select.listbox { height:auto !important; background:#FFF !important; }
select::-ms-expand { display:none; }
select option { font-weight:normal; }
textarea {
    min-height:5em;
}
label {margin-top:1em; display:inline-block;}

img { max-width:100%; height:auto !important; border: 0 none; }
iframe { max-width:100%; border: 0 none; }
textarea { max-width:100%; }
h1,h2,h3,h4,h5,h6 { color: #0c2446;}
h1, h2 { font-size:24px; text-transform:uppercase; }
h3 { font-size:20px; }
h4 { font-size:18px; }
h5 { font-size:17px; }
h6 { font-size:16px; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration:none; color:inherit; }
a { color:#45b1a8; }
.errorMessage { font-weight:bold;color:#ff0000;}
.flex_row { display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; margin: 0 -15px;}
.flex_item { flex: 1 1 100%;  padding: 0 15px; box-sizing: border-box;}
.flex_item.one_fifth { flex-basis: 19%;}
.flex_item.one_fourth { flex-basis: 24%;}
.flex_item.one_third { flex-basis: 33%;}
.flex_item.one_half { flex-basis: 49%;}
.flex_item.two_thirds { flex-basis: 66%;}

.boardModule .listerItem { color: #0c2446; text-align:center; border-bottom:none;}


.pageContainer { position:relative; width: 82%; max-width:1500px; margin-left:auto; margin-right:auto;}
.clear { clear:both; display:block; font-size:0; line-height:0; visibility:hidden; }
.leftAlign { float:left; margin: 0px 1em 0.5em 0px; }
.rightAlign { float:right; margin: 0px 0px 0.5em 1em; }
.leftClear { float:left; clear:left; margin: 0px 1em 0.5em 0px; }
.rightClear { float:right; clear:right; margin: 0px 0px 0.5em 1em; }
button, a.button, .button a, a .button, input[type=submit] { display:inline-block; vertical-align:middle; border:none; padding: 10px 24px 9px; line-height: 18px; text-align:center; text-decoration:none; background-color:#0c2446; color:#fff !important; text-transform:uppercase; font-weight:bold; cursor:pointer; transition: background-color  0.4s ease , color 0.4s ease ; }
button:hover, a.button:hover, .button a:hover, a .button:hover, input[type=submit]:hover { background-color:#45b1a8; transition: background-color 0.15s ease , color 0.15s ease ; }
button.alt, a.button.alt, .button.alt a, a .button.alt, input[type=submit].alt { background-color:#45b1a8; }
button.alt:hover, a.button.alt:hover, .button.alt a:hover, a .button.alt:hover, input[type=submit].alt:hover { background-color:#0c2446; }
button.transparent, a.button.transparent, .button.transparent a, a .button.transparent, input[type=submit].transparent { background-color: transparent; border: 2px solid #0c2446 ; padding: 8px 20px 7px; color: #0c2446 !important; }
button.transparent:hover, a.button.transparent:hover, .button.transparent a:hover, a .button.transparent:hover, input[type=submit].transparent:hover { background-color: #0c2446; color: #fff !important;  }

.socialLinks a { display:inline-block; vertical-align:middle; font-size:0; color: #0c2446; }
.photoLeft {float:left; margin:10px 20px 20px 0;}
.photoRight { float:right; margin:10px 0 20px 20px;}
.smlTxt { font-size: 0.8em; }

.photoLeft.captioned,.photoRight.captioned {margin-bottom:0;}
.captionText {font-size: 12px;padding: 10px; margin-bottom:10px; background: #eee;border: 1px solid #ddd;clear: both;}
.captionLeft {float:left;margin-right:20px;}
.captionRight {float:right;margin-left:20px;}

.fa-shopping-cart { position:relative; font-size:20px; }
.fa-shopping-cart::after { content:attr(totalitems); position:absolute; bottom:85%; left:60%; transform: translateX(-50%); font-size:12px; color:#45b1a8; }

/*** Header ***/

header { position:relative; z-index:100; margin-bottom:60px; }
header .pageContainer { max-width:1600px; }
header a { text-decoration:none; color:inherit; }
#topBar { background-color:#fff; padding: 10px 0; font-size:14px; text-align:right; }
#topBar .logo { position:absolute; top:10px; left:0; z-index:2; display:block; border: 1px solid #ccc; background-color:#fff; padding: 10px 10px; width:140px; }
#topBar nav, #topBar .pageContainer>div { display:inline-block; margin: 3px 0; vertical-align:middle; }
.topMenu { line-height:1.5em; vertical-align:middle; }
.topMenu a { margin: 0 6px; }
#topBar a.button { padding: 9px 14px 10px; margin: 0 8px; }
#topBar .socialLinks { display:inline-block; vertical-align:middle; }
#menuBar { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; padding-top:20px; background-color:#eaeaea; font-size:18px; }
#menuBar .pageContainer { position:static; display:flex; }
#menuBar .logoText { display:inline-flex; align-items:center; margin: 0 0 20px 200px; max-width:270px; font-weight:bold; line-height:1.5; }
header .socialLinks a { margin-left:25px; }
header .socialLinks a::before { font-size:16px; }
/*
#search_box_form .searchInput { border: 0 none; margin-right:5px; width:; height:; line-height:; vertical-align:middle; }
#search_box_form .submitButton { border: 0 none; background-color:transparent; vertical-align:middle; cursor:pointer; }
*/

/** Main Menu **/
#mobileMenuButton { display:none; padding:0.5em; text-align:center; }
/* general */
#mainMenu { flex-grow:1; margin-left:1em; margin-right:-1em; }
.mainMenu, .mainMenu ul { margin:0; padding:0; list-style:none; }
.mainMenu { display:flex; height:100%; }
.mainMenu li {}
.mainMenu li:hover { visibility:inherit; /* fixes IE7 'sticky bug' */ }
.mainMenu a { display:inline-block; text-decoration:none; }
/* top level */
.mainMenu>li { flex-grow:1; padding-bottom:20px; }
.mainMenu>li>a { display:flex; align-items:center; justify-content:center; height:100%; text-transform:uppercase; font-weight:bold; }
.mainMenu>li:hover { }
.mainMenu>li:hover>a
, .mainMenu>li.alsoCurrent>a
, .mainMenu>li.menuItemHighlight>a { background-color:#0c2446; color:#fff; }
/* dropdown */
.mainMenu>li>ul { position:absolute; left:0; right:0; top:100%; z-index:1; background-color:#fff; padding: 50px 5px; display:none; justify-content:center; flex-wrap:wrap; box-shadow: 0 0 5px #ccc; }
.mainMenu>li:hover>ul { display:flex; }
.mainMenu>li>ul>li { max-width:300px; border-left: 1px solid #ccc; padding: 0 40px; }
.mainMenu .featuredMenuLinks { margin-left:145px; border-left:none; text-transform:uppercase; }
.mainMenu>li>ul>li>a { margin-bottom:1em; font-weight:bold; }
.mainMenu ul ul a { font-size:16px; }
.mainMenu .featuredMenuLinks li { display:flex; align-items:center; margin-bottom:1em; }
.mainMenu .featuredMenuLinks img { margin-right:1em; max-width:70px; max-height:70px; }
.mainMenu .featuredMenuLinks a { font-size:inherit; font-weight:bold; }
.mainMenu>li>ul a:link:hover { color:#45b1a8; }
#featuredMenuLinks { display:none; }


/*** Homepage ***/

body.home h2::before
, .advertisersPage h2::before { content:'/\00A0'; color:#45b1a8; }

.homepageTop { display:flex; flex-wrap:wrap; margin: 0 0 40px; border: 1px solid #ccc; }
.homepageTop .flex { display:flex; flex-wrap:wrap; flex: 1 1 81%; }
#homepageSlideshow { position:relative; flex: 1 1 69%; background: no-repeat center url(graphics/design/topographical_map.jpg); background-size:cover; }
.slideshow
, .slideshow .slides { position:absolute; z-index:1; width:100% !important; height:100% !important; }
.slideshow .slide { display:block; width:100% !important; height:100% !important; background-repeat:no-repeat; background-position:center; background-size:contain; color:#fff; text-decoration:none; overflow:hidden; }
#homepageSlideshow .slideshow {}
#homepageSlideshow .slideshow .text { position:absolute; right:10px; bottom:10px; padding:10px; }
#homepageSlideshow .slideshow .caption { font-size:2em; }
#homepageSlideshow .slideshow .description { font-size:1.5em; }
#homepageSlideshow .slideshow .slideshowPrev
, #homepageSlideshow .slideshow .slideshowNext { position:absolute; top:45%; z-index:2; background-color:#fff; width:40px; line-height:40px; height:40px; text-align:center; font-size:30px; cursor:pointer; font-family: 'Font Awesome 5 Free'; color:inherit; text-decoration:none; opacity:.5; }
#homepageSlideshow .slideshow .slideshowPrev { left:10px; }
#homepageSlideshow .slideshow .slideshowNext { right:10px; }
#homepageSlideshow .slideshow .pager { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:14px; text-align:center; }
#homepageSlideshow .slideshow .pager a { display:inline-block; width:14px; height:14px; border-radius:7px; background-color:#fff; margin: 0 7px; font-size:0; }
#homepageSlideshow .slideshow .pager a.activeSlide { background-color:#45b1a8; }

.homepageTop .newsModule h2
, .homepageTop .sponsors h2 { background-color:#eaeaea; padding:15px; margin:0; }

.homepageTop .newsModule { flex: 1 1 31%; }

.homepageTop .featuredLinks { display:flex; justify-content:space-between; flex-basis: 100%; border-top: 1px solid #ccc; background-color:#eaeaea; padding: 0 5%; }
.homepageTop .featuredLinks .item { flex: 0 1 28%; margin:2em 0; }
.homepageTop .featuredLinks .item h2 { margin-top:0; }
.homepageTop .featuredLinks .item p { line-height:1.5; }
.homepageTop .featuredLinks .item a.button {min-width: 118px;}

.homepageTop .sponsors { box-sizing:border-box; border-left: 1px solid #ccc; flex: 1 1 19%; text-align:center; position: relative;}
.homepageTop .sponsors h2 { text-align:left; }
.homepageTop .sponsors .homeSponsorScroller {position: absolute; top: 56px; bottom: 0px; left:0px; right: 0px; }
.homepageTop .sponsors .sponsorFlex {position: absolute; top: 0px; bottom: 0px; left:0px; right: 0px; width: 100% !important; height: 100% !important; background: #fff; display: flex !important; flex-flow: column wrap ; align-items: center; justify-content: stretch; }
.homepageTop .sponsors span { flex: 1 1 auto; display:flex; justify-content: center; align-items: center;  width: auto !important; height: auto !important;}
.homepageTop .sponsors img { display: block; width: auto !important; height: auto !important; max-height: 100px ; max-width: 86%; margin: 0 auto;  }

body.home .moduleLister .items .listerItem { flex-grow:1; flex-basis:25%; }

body.home .eventsModule .sliderContainer { position:relative; padding: 0 3em; }
body.home .eventsModule .sliderViewport { position:relative; display:block; overflow:hidden; }
body.home .eventsModule .slider { position:relative; display:flex; transition: left 0.5s; }
body.home .eventsModule .slider .listerItem { flex-grow:0; flex-shrink:0; }
body.home .eventsModule .sliderContainer .prev, .sliderContainer .next { position:absolute; top:50%; transform: translateY(-50%); width:32px; height:32px; line-height:32px; font-size:24px; color:#45b1a8; text-align:center; cursor:pointer; }
body.home .eventsModule .sliderContainer .prev.disabled, .sliderContainer .next.disabled { opacity:0.2; cursor:default; pointer-events:none; }
body.home .eventsModule .sliderContainer .prev { left:0; }
body.home .eventsModule .sliderContainer .next { right:0; }

.articleSection { background: no-repeat center url('graphics/design/topographical_map.jpg'); background-size:cover; }
body.home .articlesModule { margin: 10px 0; padding: 20px 10px 40px;}
body.home .eventsModule h2
, body.home .articlesModule h2 { margin-left:2%; }

.homepageBottom {/* HIDDEN PER CLIENTS REQUEST */ display:none; padding: 60px 0 80px; background: no-repeat center url('graphics/design/topographical_map.jpg'); background-size:cover; }
.homepageBottom .pageContainer { display:flex; flex-wrap:wrap; justify-content:space-between; }
.homepageBottom .column1 { flex-basis:66%; background-color:#0c2446; }
.homepageBottom .featuredItems { display:flex; flex-wrap:wrap; }
.homepageBottom .featuredItems .image { display:none; flex-basis:100%; order:-1; padding-bottom:43.5%; background-repeat:no-repeat; background-position:center; background-size:cover; }
.homepageBottom .featuredItems .tab { width:25%; border-top: 5px solid #32517e; color:#fff; cursor:pointer; }
.homepageBottom .featuredItems .tab .text { margin: 1em 0; padding: 0.5em 1em; border-left: 1px solid #ccc; }
.homepageBottom .featuredItems .tab:nth-child(2) .text { border-left:none; }
.homepageBottom .featuredItems .tab h3 { margin-top:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.homepageBottom .featuredItems .image.current { display:block; }
.homepageBottom .featuredItems .tab.current { border-top-color:#45b1a8; }
.homepageBottom .featuredItems .tab.current h3 { color:#45b1a8; }
.homepageBottom .column2 { flex-basis:30%; border: 1px solid #ccc; background-color:#fff; }
.homepageBottom .itemsSmall .listerItem { border-top: 1px solid #ccc; }
.homepageBottom .itemsSmall .listerItem:first-child { border-top:none; }

/*** Interior ***/

.interiorContentArea { background: no-repeat bottom url('graphics/design/topographical_map.jpg'); background-size:contain; padding-bottom:80px; }
#interiorHeaderBanner { font-size:0; }
.interiorContent { border: 1px solid #ccc; background-color:#fff; padding:4%; }

.leftSideColumn .mainColumn { float:right; width:73%; }
.rightSideColumn .mainColumn { float:left; width:73%; }
.mainColumn h1:first-of-type { margin-top:0; }

.sideColumn { float:left; width:24%; margin-left:3%; }
.sideColumn>div { border: 1px solid #ccc; margin-bottom:2em; }
.sideColumn a { color:inherit; text-decoration:none; }
.sideColumn .titleBar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; min-height:42px; padding: 10px 20px; font-size:18px; }
.sideColumn .titleBar h4 { margin:0; }
.sideColumn .titleBar .button { min-width:0; }
.sideColumn .quickLinks .titleBar { background-color:#45b1a8; color:#fff; }
.sideColumn .quickLinks p { margin:25px; }
.sideColumn .eventsModule .titleBar { background-color:#0c2446; color:#fff; }
.sideColumn .moduleLister .listerItem { margin: 0 1em; }
.sideColumn .eventsModule.moduleLister .listerItem .info { background-color:transparent; color:inherit; }
.sideColumn .eventsModule.moduleLister .listerItem .date { margin-left:0; }
.sideColumn .eventsModule.moduleLister .listerItem .address { margin-right:0; }
.sideColumn .sponsors .titleBar { background-color:#f2f2f2; }
.sideColumn .sponsors span { display:block; margin:2em; text-align:center; }

.advertisersPage .sponsors { display:flex; border: 1px solid #ccc; margin-top:4%; }
.advertisersPage .sponsors h2 { display:flex; align-items:center; justify-content:center; margin:0; width:16%; height:200px; background-color:#eaeaea; border-right: 1px solid #ccc; }
.advertisersPage .sponsors .scroller { width:84%;box-sizing: border-box;padding: 0 10px;}
.advertisersPage .sponsors .scroller > ul { display:none;}
.advertisersPage .sponsors .scroller span { display:flex; align-items:center; justify-content:center; height:200px; padding:0 10px; }
.advertisersPage .sponsors .nbs-flexisel-nav-left
, .advertisersPage .sponsors .nbs-flexisel-nav-right { display:none; }
.advertisersPage .sponsors .scroller .nbs-flexisel-item img { max-width: calc(100% - 20px); margin: 0 auto;}
.advertisersPage .moduleLister { margin: 4% 0; }
.advertisersPage .moduleLister .items {justify-content: flex-start;}
.advertisersPage .moduleLister .items .listerItem { flex: 0 1 calc(25% - 10px); box-sizing: content-box; padding: 0 5px !important; min-width: 0px !important; padding:0; border:0; display:flex; flex-direction:column; }
.advertisersPage .moduleLister .items .listerItem .image { position:relative; }
.advertisersPage .moduleLister .items .listerItem .links { position:absolute; top:0; left:0; right:0; bottom:0; background-color: rgba(11,60,130,0.8); display:none; align-items:center; justify-content:center; }
.advertisersPage .moduleLister .items .listerItem h3 { flex-grow:1; margin-top:0; padding: 1em 1.4em; background-color:#0c2446; color:#fff; font-size:14px; font-weight:normal; }
.advertisersPage .moduleLister .items .listerItem:hover { background-color:transparent; border-color:transparent; }
.advertisersPage .moduleLister .items .listerItem:hover .links { display:flex; }
.advertisersPage .bannerAds { display:flex; justify-content:space-between; }
.advertisersPage .bannerAds .narrowColumn { flex-basis:18.2%; display:flex; flex-direction:column; justify-content:space-between; }
.advertisersPage .bannerAds .wideColumn { flex-basis:38%; }

/*** Footer ***/

footer { padding: 40px 0 1px; background-color: #ffffff; }
footer .pageContainer { display:flex; flex-wrap:wrap; justify-content:space-between; }
footer .pageContainer>* { margin-bottom:40px; }
footer a { text-decoration:none; color: inherit; }
footer #logoAndContact { display:flex; }
footer .logo { margin: 0 40px; width: 200px; }
footer .contact { border-left: 1px solid #ccc; padding-left:40px; font-size:18px; }
footer .contact .title { font-weight:bold; font-size:22px; }
footer .contact p { display:flex; }
footer .contact i { margin-right:15px; font-size:24px; color: #0c2446; }
footer nav ul { list-style:none; margin: 0 2em; padding:0; font-weight:bold; font-size:18px; }
footer nav li { margin: 0.7em 0; }
footer nav li ul { display:none; }
footer nav a:hover { color:#45b1a8; }
footer .socialLinks .title { display:inline-block; margin-right:30px; vertical-align:middle; font-weight:bold; font-size:18px; }
footer .socialLinks a { margin-left:10px; border-radius:50%; background-color:#0c2446; width:35px; height:35px; line-height:35px; text-align:center; color:#fff; }
footer .socialLinks a::before { font-size:18px; }
#copyright { width:100%; }
#copyright p { display:inline; margin:0; }

#backToTop { display:none; position:fixed; right:0; bottom:0; z-index:80; background-color:#000; padding: .3em .5em; color:#fff; opacity:0.3; }


/** Accordion menus **/
ul.accordion { list-style:none; margin:0; padding-left:0; text-align:left; flex-direction:column; }
ul.accordion li { position:relative; float:none; height:auto; max-width:none !important; border-left: 0 none !important; padding-left:0 !important; padding-right:0 !important; }
ul.accordion a { display:block; padding: .6em 0 .6em 1em; height:auto; text-decoration:none; color:inherit !important; }
ul.accordion .submenuToggle~a { margin-right:2.5em; }
ul.accordion a:active { background-color: rgba(0,0,0,.5); }
ul.accordion li.menuItemHighlight>a
, ul.accordion li.alsoCurrent>a
, ul.accordion li:hover>a { background-color:transparent; }
ul.accordion .submenuToggle { position:absolute; top:0; right:0; padding: .6em 1em; font-weight:bold; }
ul.accordion .submenuToggle::before { content:'\f0d7'; display:block; font-family: 'Font Awesome 5 Free'; }
ul.accordion .expanded>.submenuToggle::before { content:'\f0d8'; }
/* Top level */
ul.accordion>li { padding-bottom:0; padding-top:0px;}
ul.accordion>li>a {  line-height: inherit; }
/* Sublevels */
ul.accordion ul { display:none; position:static; list-style:none; margin:0; padding: 1em 0; background-color:transparent; width:auto; box-shadow:none; }
ul.accordion li:hover>ul { display:none; }


/*** Editor ***/
/*body.mceContentBody, body.mce-content-body { padding-top:0; }*/


/* ---------------General Module Styles--------------- */

.moduleLister {}
.listerItem { clear:both; padding-top:1em; padding-bottom:1em; border-bottom: 1px solid #eee; }
.listerItem::after { content:''; display:block; height:0; clear:both; visibility:hidden; }

.moduleLister .items { display:flex; flex-wrap:wrap; justify-content:space-between; }
.moduleLister .items .listerItem { flex: 1 1 33.33%; min-width:240px; margin:0; box-sizing:border-box; border: 1px solid transparent; padding:5px;}
.moduleLister .items .listerItem::after { content:none; }
.moduleLister .items .listerItem:hover { background-color:#eaeaea; border-color:#ccc; }
.moduleLister .items .listerItem .image { padding-bottom:63%; background-position:center; background-repeat:no-repeat; background-size:cover; }
.moduleLister .items .listerItem h3 { margin-top:1em; }

.moduleLister .itemsSmall { display:flex; flex-wrap:wrap; justify-content:space-between; }
.moduleLister .itemsSmall .listerItem { margin: 0 1em; padding: 1em 0; border-bottom:none; width:100%;border-bottom: 1px solid #ddd; }
.moduleLister .itemsSmall .listerItem .imageLink { margin: 0 1em 1em 0; width:95px; border: 1px solid #f2f2f2; text-align:center; }
.moduleLister .itemsSmall .listerItem h3 { margin: 0 0 0.5em; line-height:1; }

.listerItem h2, .listerItem h3, .listerItem h4 { margin-top:0; }

.moduleDetail {}
.moduleDetail .mainImage { float:left; margin: 0 1em 1em 0; }

/* common elements across modules */
.label { font-weight:bold; margin-right:10px; } /* form required vs form optional*/
.title {}
.description {}
.blurb {}
.thumbnail {}
.info {}
.author {}
.date {}
.time {}
.filter { display:inline-block; font-size:16px; }
.imageLink { float:left; }
.imageLink img {display:block; margin: 0 auto;}
.tags { background-color:#eee; display:block; margin-bottom:10px; text-indent:8px; }
.utilityLinks {}

#editAnywhere, #pal_iframe { display:none; }
.faq ul p { margin:0; display:inline; }
/* Old date fields */
#freedom_calendar { position:absolute; background-color:#fff; border: 1px solid #000; z-index:9999; visibility:hidden; }
#freedom_calendar table table { padding:.2em; }
#freedom_calendar table table:first-child { background-color:#000; color:#fff; }
#freedom_calendar td.cal, #freedom_calendar td.calWeekend, #freedom_calendar td.calDaysColor { width:40px; height:25px; }
/* Date picker fields */
#ui-datepicker-div { background: #fff; border: 2px solid #333; z-index:100 !important; }
.ui-datepicker { width: 20em; display: none; }
.ui-datepicker .ui-datepicker-header { position: relative; padding: .2em 0; background: #333; color: #fff;}
.ui-datepicker .ui-datepicker-header a { color: #fff;}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position: absolute; top: 2px; width: 70px; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev { left: 2px; text-align: left; }
.ui-datepicker .ui-datepicker-next { right: 2px; text-align: right;}
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { cursor: pointer; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size: 1em; margin: 1px 0; }
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { width: 45%; }
.ui-datepicker table { width: 100%; font-size: .9em; border-collapse: collapse; margin: 0 0 .4em; }
.ui-datepicker th {padding: .7em .3em; text-align: center; font-weight: bold;border: 0;}
.ui-datepicker td {border: 0;padding: 1px;}
.ui-datepicker td span, .ui-datepicker td a {display: block; padding: .2em; text-align: center; text-decoration: none;}
.ui-datepicker .ui-datepicker-buttonpane {background-image: none; margin: .7em 0 0 0; padding: 0 .2em; border-left: 0; border-right: 0; border-bottom: 0;}
.ui-datepicker .ui-datepicker-buttonpane button {float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width: auto; overflow: visible;}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {float: left;}

/* Pagination */
.pagination { clear:both; display:block; }
.pagination a, .pagination a:link, .pagination a:visited { text-decoration:none; }
.pagination .prevnextCurrent, .pagination .prevnextWindow, .pagination .prevnextWindowArrow { border: solid 1px #ccc; margin:0; padding:4px 6px; font-size:11px; margin-right:2px; display:inline; display:inline-block; }
.pagination a.prevnextWindow:hover, .pagination a.prevnextLink:hover, .pagination .prevnextWindowArrow:hover { border: solid 1px #000; color:#000; }
.pagination .prevnextCurrent {background:#ccc; color:#000; font-weight:bold; padding: 4px 6px; }
.pagination a.prevnextLink { border: 1px solid #ccc; padding: 4px 6px 4px; margin-right:2px; font-size:11px; display:block; }
/* End Pagination */

/* ModuleBegin::forms */
select#IDFormField_expiration_1,
select#IDFormField_expiration_1_year {
    max-width:48%;
    min-width:20em;
}
.formtextRequired {font-weight:bold;}

/* ModuleBegin::gendocs */
.webpageModule.moduleDetail { }
/* ModuleEnd::gendocs */


/* ModuleBegin::events */
/* ---- Events Lister ---- */
.eventsModule.moduleLister {}

.eventsModule.moduleLister .listerItem {position: relative;}
.eventsModule.moduleLister .listerItem .info { display:flex; background-color:#0c2446; color:#fff; font-size:14px; padding: 12px 7px;}
.eventsModule.moduleLister .listerItem .info>* { display:flex; margin: 0 7px;}
.eventsModule.moduleLister .listerItem .info i { margin-right:5px; color:#45b1a8; font-size:24px; }
.eventsModule.moduleLister .listerItem .links { position: absolute; bottom:28px; left:28px; right: 28px; height: 38px; display:flex; justify-content:space-between; }
.eventsModule.moduleLister .listerItem .innerpad {position: relative; width: 100%; height: 100%; box-sizing: border-box; padding: 28px 28px 66px;}

body.interior .eventsModule.moduleLister .listerItem .links { bottom: 10px; left: 10px; right: 10px;}
body.interior .eventsModule.moduleLister .listerItem .links a.button {padding-left: 16px; padding-right: 16px; font-size: 14px;}
body.interior .eventsModule.moduleLister .listerItem .innerpad { padding: 10px 10px 48px;}
#form table { width:100%;}
/* ---- Events Detail ---- */
.eventsModule.moduleDetail {}
	.eventsModule .date {}
	.eventsModule .label {}
	.eventsModule .time {}
	.eventsModule .location { margin: 1em 0; }
	.eventsModule .map {}
	.eventsModule .address {}
	.eventsModule .directions {}
	.eventsModule .contactInfo {}
	.eventsModule .name {}
	.eventsModule .phone {}
	.eventsModule .email {}
	.eventsModule .rsvp {}
	.eventsModule .ticketsWrapper {}
	.eventsModule .ticket {}
	.eventsModule .description {}
	.eventsModule .utilityLinks {}
    .eventsModule.moduleDetail .thumbnail {width:300px; float:right; margin-left: 20px;}

/* Calendars */
.calendarGrid { table-layout:fixed; border-collapse:collapse; width:100%; color:inherit; }

/* Events Month at a Glance */
.calendarWrapper .filter { float:right; margin-bottom:1em; }
.calendarWrapper .calendarMonths { width:100%; text-transform:uppercase; }
.calendarWrapper .calendarMonths td { padding:5px; text-align:center; }
.calendarWrapper .calendarHeading a { text-decoration:none; color:inherit; }
.calendarWrapper .calendarHeading .title { float:left; width:80%; line-height:40px; background-color:#000; font-weight:bold; color:#fff; text-align:center; }
.calendarWrapper .calendarHeading .prevLink
, .calendarWrapper .calendarHeading .nextLink { float:left; width:10%; line-height:40px !important; background-color:#000; color:#fff; text-align:center; }
.calendarWrapper .calendarGrid { margin-bottom:2em; }
.calendarWrapper .calendarGrid td { border: 1px solid #5a5a5a; height:100px; padding:5px; font-weight:bold; vertical-align:top; color:#5a5a5a; }
.calendarWrapper .daysOfWeek {}
.calendarWrapper .calendarGrid .weekday
, .calendarWrapper .calendarGrid .weekend { height:25px; background-color:#5a5a5a; color:#fff; font-weight:bold; text-align:center; vertical-align:middle; }
.calendarWrapper .calendarGrid .empty { background-color:#ccc; }
.calendarWrapper .calendarGrid .hasEvents { position:relative; }
.calendarWrapper .calendarGrid .event {}
.calendarWrapper .calendarGrid .hasEvents a { text-decoration:none; font-weight:normal; }
.calendarWrapper .calendarGrid .hasEventsIndicator
, .calendarWrapper .calendarGrid .daysEventsToggle { display:none; }    /* mobile only */

/* Events Small Calendar */
.calendarSmallWrapper { background:none; }
.calendarSmallWrapper .calendarGrid { width:100%; }
.calendarSmallWrapper .calendarGrid td { height:36px; text-align:center; }
.calendarSmallWrapper .calendarGrid .calendarHeading td { background-color:#000; font-size:18px; color:#fff }
.calendarSmallWrapper .calendarGrid .calendarHeading a { color:inherit; text-decoration:none; }
.calendarSmallWrapper .calendarGrid .daysOfWeek td { font-weight:bold; }
.calendarSmallWrapper .calendarGrid .hasEvents a { color:inherit; }
.calendarSmallWrapper .calendarGrid .empty {}
.calendarSmallWrapper .calendarGrid .today { background-color:#000; }
.calendarSmallWrapper .calendarBottom {}

/* ---- Events Box ---- */
.eventsModule.moduleLister.box { }
.eventsModule.moduleLister.box .listItem { padding-bottom: 10px; }

/* ---- Events Registration ----- */
#registrationSummary td { padding:1px 10px; }
/* ModuleEnd::events */



/* ModuleBegin::membership */
#formLogin { margin:0 auto; border: 1px solid #ccc; padding: 20px; width:275px; }
.memberLoginBox { margin: 0 auto; }
.memberLoginBox td { padding: 2px; }

.membershipModule #memberSearch { border: 1px solid #ccc;padding: 20px;background-color: #eaeaea; margin: 20px 0; display:inline-block; vertical-align:middle;}
#memberSearch .directorySearchInput {margin: 0 1em; width: auto; box-sizing: border-box; height: 37px; vertical-align:middle;}
#memberSearch input[type="submit"] {vertical-align:middle;}
.membershipModule .companyInfo { margin: 1em 0; }
.membershipModule .companyInfo .name {}
.membershipModule .companyInfo .jobTitle {}
.membershipModule .address { margin: 1em 0; }
.membershipModule .contactInfo { margin: 1em 0; }
.membershipModule .contactInfo .phone {}
.membershipModule .contactInfo .email {}
.membershipModule .contactInfo .website {}
.membershipModule .thumbnail { float:left; margin-right: 20px;}
    
/* ----- Membership Lister ----- */
.membershipModule.moduleLister {}

/* ---- Membership Detail ----- */
.membershipModule.moduleDetail {}

/* ----- My Account ---- */
.membershipModule.myAccount {}
.membershipModule.myAccount:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.membershipModule.myAccount {}

.my_account_links { margin-top: 35px; align-items: flex-start;}
.my_account_links .my_account_box { border: 1px solid #ddd; border-radius: 4px; padding: 12px 15px;}
.my_account_links h3 { padding: 0 0 12px; margin: 0 0 12px; border-bottom: 1px solid #eee; }
.my_account_links .link_section {}
.my_account_links .link_section a { display: block; padding: 5px 0;}
.my_account_links .morebutton { text-align: center; padding-top: 25px;}
.my_account_links .morebutton a { margin:0 0 10px;}

.myaccount_sidebar { margin-bottom: 30px; }
.myaccount_sidebar .block { background: #253746;}
.myaccount_sidebar .block h4.title { background: #394a59; color: #fff; padding: 12px 15px 12px 40px; margin:0px; position: relative; cursor: pointer;}
.myaccount_sidebar .block h4.title::after { display: block; position: absolute; font-family: 'FontAwesome'; font-weight: normal; font-size: 19px; content: '\f196'; top: 50%; left: 12px; margin-top: -11px; height: 24px; line-height: 24px; }
.myaccount_sidebar .block.active h4.title::after { content: '\f147';}
.myaccount_sidebar .block ul { margin:0px; list-style: none; padding: 0px 0; color: #fff; height:auto; max-height: 0px; overflow: hidden;}
.myaccount_sidebar .block.active ul { max-height: 2000px; padding: 5px 0 ; transition: max-height 2s linear, padding 0.2s linear;}
.myaccount_sidebar .block ul li { display:block; margin: 0px; padding: 6px 15px;}

/* ----- My Account - Dispatch ( System Forms ) ---- */
#myaccount_form > div { text-align: left; width: 100%;}
.myaccountForm > table, .freedomAdminForm > table { width: 100%;}
.myaccountForm > table td, .freedomAdminForm > table td { vertical-align: top;}
.myaccountForm > table td:first-child, .freedomAdminForm > table td:first-child { padding-top: 14px; padding-right: 12px;}
.myaccountForm > table table, table.freedomTable { width: 100%; border: 1px solid #ccc; background: #f8f8f8; margin:0px; border-spacing: 0px; border-collapse: collapse;}
.myaccountForm > table table td, table.freedomTable td, table.freedomTable th { vertical-align: middle; padding: 8px 12px;}
.myaccountForm > table table thead td, table.freedomTable thead th { background: #ccc; color: #000;}
.myaccountForm > table table thead td *, table.freedomTable thead th * { color: #000;}
.myaccountForm > table table thead td:first-child, table.freedomTable thead th:first-child { text-align: left;}
table.freedomTable thead th.sort img { display:none;}
table.freedomTable thead th.sort::after { position: relative; padding-left: 3px; display: inline-block; font-family: 'Font Awesome 5 Free'; content: '\f0d7'}
.editorLabel {display: inline-block; padding-bottom: 15px;}

.myaccountDetail  table { color: #444;}
.myaccountDetail .formtextRequired, .myaccountDetail .formtext { padding: 5px 0; }
.myaccountDetail .formtextRequired label { font-weight: bold ;}

.formButtons {padding-top: 15px;}

select.filterCombo { width: 200px;}

.img_box_container { width: 100%; background: #eee; padding: 3px ;  line-height: 38px; }
.img_box_container img { display: inline-block; }
.img_box_container { text-align: left;}
.img_box_container * { vertical-align: middle !important; text-align: center;}
.img_box_container .imageBox { border: 4px solid #fff; background: #f8f8f8; display: inline-block; width: auto; margin: 8px; padding: 12px;}
.img_box_container input {margin-right: 5px;}

.myaccountMessage { display:block; padding: 18px; border: 2px dashed #777; background: #ddd; color: #000; font-size: 16px; line-height:22px; text-align:center; margin-bottom: 18px;}
.myaccountMessage.positive::before { position: relative; padding-right: 6px;  font-size: 18px; display: inline-block; font-family: 'FontAwesome';}
.myaccountMessage.positive { background: #ECF6A6; border-color: #9cb111; }
.myaccountMessage.positive::before { content: '\f046';  color: #9cb111; top: 1px;}
.myaccountMessage.negative { background: #EFADAD; border-color: #BF2525;}
.myaccountMessage.negative::before { content: '\f057'; color: #BF2525;}
.myaccountMessage.alert { background: #FFD702; border-color: #000; }
.myaccountMessage.alert::before { content: '\f071'; color: #000; }


.myaccountLister {}
.myaccountListerBack {}
/* Header tags with inline filters */
.with_filter { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; padding-bottom: 8px; border-bottom: 1px solid #ddd; line-height: 40px;}
.with_filter.no_border {border:0px; padding-bottom:0px;}
.with_filter.centered { align-items: center;}
.with_filter span {flex: 1 0 50px;}
.with_filter span.header_text { flex: 0 1 auto; margin-right: 20px; font-size:1.5em;}
.with_filter span.filter_button_container { flex: 1 1 250px; max-width: 360px; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end;  }
.with_filter span.filter_button { flex: 1 1 50px; max-width: 100px; margin: 5px 0 4px 5px; text-align:center;}
.with_filter span.filter_button a { }
.with_filter span.filter_button.current a { background: #95d600; color: #fff; pointer-events: none; cursor: default; }


input#billing_state, input#billing_city, input#billing_zip, #card_month, #card_year, #amount, #card_type, #card_cvv {min-width:auto;width:25%;}
.freedomInvoicePreview.freedomAdminTable tr:nth-child(odd) td { background:#efefef; border-bottom:1px solid #ccc;}
.freedomInvoicePreview.freedomAdminTable th {background:#ddd;}
.myaccountListerBack {
    display: inline-block;
    margin: 0 5px;
}

@media (min-width: 45em) {
    .membershipModule.myAccount .block.membership li { display: inline; margin: 0 .5em; }
}

/* ----- My Account - Dispatch ( System Forms ) ---- */
.myaccountHeading { font-size: 2em; font-weight: bold }
.myaccountMessage {}

.myaccountDetail  table { color: #444;}
.myaccountDetail .formtextRequired, .myaccountDetail .formtext { padding: 5px 0; }
.myaccountDetail .formtextRequired label { font-weight: bold; }

.myaccountLister {}
.myaccountListerBack {}
/* ModuleEnd::membership */



/* ModuleBegin::commerce */
.cart_add_qty input {
    text-align:center;
}
.checkoutInfo {
    background: #eaeaea;
    color:#0c2446;
    padding: 20px;
    max-width:275px;
    text-align:center;
    margin: 1em auto 1em auto;
}
.checkoutInfo .price {
    font-size: 1.5em;
    line-height:1.5em;
}
/*
.shoppingAlert { color: red; font-size: 8pt; }
.shoppingBody { font-size: 8pt; }
.shoppingCartEvenRow { background-color: #ffffff; color:#002d62; }
.shoppingCartOddRow { background-color: #ebebeb; color:#002d62; }
.shoppingCartTableHeader { background-color: #002d62; color: #ffffff; font-size: 8pt; font-weight: bold; }
.shoppingForm { font-size: 8pt; color:#002d62; }
.shoppingFormQuantity { background-color: #ffffff; font-size: 8pt; }
.shoppingFormRequired { font-size: 8pt; font-weight: bold; color:#002d62; }
.shoppingFormRequired input, .shoppingFormRequired select { font-weight: normal; color:#000; }
.shoppingHeading { color:#002d62; }
.shoppingInStock { }
.shoppingItemHeading { }
.shoppingOutOfStock { color: #dd0000; }
.shoppingLowStock { }
.shoppingTable { background-color: #e8e8e8; color:#002d62; }
.shoppingTableBorder { background-color: #ffffff; }
.shoppingFormRequired { width: 1%; }
*/
/* ModuleEnd::commerce */



/* ModuleBegin::broadcastemail */
.enewsWrapper div { }
.enewsWrapper span { display: block; }
.enewsText { }
.enewsEmail { }
/* ModuleEnd::broadcastemail */



/* ModuleBegin::news */
.newsModule.moduleDetail {}
.newsModule.moduleLister {}
.newsModule .copyright { padding: 1em 0em; text-align: center; font-size: smaller; }
.newsModule .blurb {}
.newsModule .thumbnail {}

.newsModule.moduleLister .itemsSmall .listerItem { border:0px;}
/* ModuleEnd::news */



/* ModuleBegin::blog */
.blogModule {}
.blogModule .info {margin-bottom: 20px; }
.blogModule .author {}
.blogModule .date {}
.blogModule .thumbnail img { width:350px; max-width:100%; }
.blogModule .tags {} 
.blogModule .comment { padding: 10px; background: #f4f4f4; margin-bottom: 15px; border: 1px solid #ccc; }
.blogModule .comment .info { color: #333; font-weight: 600; margin-bottom: 10px; }

/* ---- Blog Lister ----- */
.blogModule.moduleLister {}
.blogModule.moduleLister h2 { margin-bottom:5px; }
.blogModule .listerItem {}
.blogModule .blurb {}

/* ---- Blog Detail ------- */
.blogModule.moduleDetail {}
.blogModule.moduleDetail h1 { margin-bottom: 5px; }
.blogModule.moduleDetail .fullText {}

/* ---- Blog Archives ------ */
.blogModule.archive .month { padding-left:10px; }
.blogModule.archive .year { font-weight: bold; }
/* ModuleEnd::blog */



/* ModuleBegin::poll */
.pollSmallWrapper span, .pollDetailWrapper span { display: block; padding: 5px 0px;}
.pollSmallWrapper span.pollChoices { padding-bottom: 5px; }
.pollListWrapper { }
.pollDetailWrapper { }
.pollQuestion { }
.pollChoices { }
.pollLink { }
.pollResultQuestion { font-weight: bold; }
.pollResultChoices { }
.pollBar { background-color: #ccc; height: 7px; }
/* ModuleEnd::poll */



/* ModuleBegin::photo */
/*******************************       ******************************************
******************************** PHOTO ******************************************
********************************       *****************************************/
/* Photo Lister */
/* Photo Lister */
.photoModule.moduleLister {}
.photoModule.moduleLister .gridItem {border:1px solid #ccc; text-align:center; width: 200px; display:inline-block; vertical-align:top; margin-bottom:5px; padding-bottom: 15px}
.photoModule.moduleLister .gridItem:hover {border:1px solid #5E5E5E;}
.photoModule.moduleLister .gridItem span {display:block;}
.photoModule.moduleLister .gridItem .image {width:160px;height:150px;overflow:hidden; margin: 10px auto;}
.photoModule.moduleLister .gridItem .name {height:20px;overflow:hidden;}
.photoModule.moduleLister .gridItem .description {height:55px;overflow:hidden;}
ul.grid:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
ul.grid li.gridItem { width: 200px; display: inline-block; vertical-align: top; }

/* Photo Thumbnails */
.photoModule .description  {}
.photoModule .thumbnailItem {float:left; margin:0 10px 10px 0; position:relative; height: 100px; width: 150px; overflow: hidden;}
.photoModule .thumbnailItem img.activeImage {border:1px solid #333;}
.photoModule .thumbnailItem img {border:1px solid #ccc; min-height: 100%; min-width: 100%;}
.photoModule .thumbnailItem a:hover img {border:1px solid #5E5E5E;}

/* Photo Detail */
.photoModule.moduleDetail{margin:10px 0;}
.photoModule .photoRemote {width:400px;height:20px;margin:0 auto;}
.photoModule .photoRemote span{width:80px;height:20px;background-color:#fff;text-align:center;float:left;}
.photoModule .photoRemote span a{display:block;margin:0 1px;background-color:#fff;color:#888;border:1px solid #ccc;text-decoration:none;}
.photoModule .photoRemote span a:hover,div.photoRemote span a:active{border:1px solid #e5e5e5;color:#000;}
.photoModule .imageDetail {margin:10px; }
.photoModule .imageDetail div {margin:0 auto;}
.photoModule .imageDetail img {border:1px solid #ccc;}
.photoModule.moduleDetail .imageDetail, .photoModule.moduleDetail .info{text-align:center;color:#888;}

/* Flightbox */
.flightbox-close { position: absolute; top: 20px; right: 20px; z-index: 3000; }
.flightbox-pager { height: 100%; width: 75px; position: absolute; }
.flightbox-pager:hover, .flightbox-close:hover { cursor: pointer; cursor: hand; }
.flightbox-pager p { font-size: 30px; font-weight: bold; color: #bbb; position: absolute; top: 50%; width: 75px; padding: 25px; text-align:center; }
.flightbox-container { color: #bbb; position: absolute; z-index: 1000;  text-align: center; }
.flightbox-container img {max-width: 100%; max-height: 100%;}
.hover { width: 100%;  text-align: center; background: rgba(0,0,0,0.6); color: #fff; position: absolute; bottom: 0px; font-size: 12px; display:none; }
/* ModuleEnd::photo */



/* ModuleBegin::newsfeed */
.newsfeedListWrapper { }
.newsfeedNumber { }
.newsfeedTitle { }
.newsfeedSource { }
.newsfeedDetailWrapper { }
.newsfeedDetailWrapper .newsItem {border-bottom:1px solid #ccc; margin-bottom:10px;padding-bottom:10px;}
.newsfeedDetailWrapper .newsItem img {margin:0 10px 0 0;}
.newsfeedDetailWrapper .newsItem span {display:block;}
.newsfeedDetailWrapper .newsItem .newsListHeadline {font-size:120%;}
.newsfeedDetailWrapper .newsItem .newsListPublishline {font-size:90%;}
/* ModuleEnd::newsfeed */



/* ModuleBegin::faq */
.faqModule {}

.faqModule .questions {}
.faqModule .questions li p { margin: 0; display: inline; }

.faqModule.moduleLister {}
.faqModule.moduleLister .question {}
.faqModule.moduleLister .answer {}
.faqModule .top { font-size: smaller; }
/* ModuleEnd::faq */

/* Store */
.flexStore {     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center; }
.flexStore .flexStoreItem {    align-self: stretch;
    flex-basis:26%;
    padding: 2%;
    margin: 1%;
    border: #ccc solid thin; }

/* Store End */