*,
*::before,
*::after {
  box-sizing: border-box; }

html { background-color: #212121; }   

body { letter-spacing: 0px; padding: 0; margin: 0; font-family: 'Open Sans', sans-serif; background-color: #FFF; font-size: 17px; line-height: 26px; color: #000; background-color: #2C4659; }

strong,b { font-weight: 700; }

p { padding: 0; margin: 0 0 10px 0;  min-height: 1em; }

h1 { font-family: 'Libre Baskerville', sans-serif; margin: 0 0 10px 0; padding: 0; font-weight: bold; font-size: 36px; color: #DC8E24; line-height: 1.1;}

h2 { font-family: 'Libre Baskerville', sans-serif; margin: 20px 0 12px 0; padding: 0; font-weight: bold; font-size: 24px; color: #DC8E24; line-height: 1.1;}

h3 { font-family: 'Libre Baskerville', sans-serif; margin: 20px 0 10px 0; padding: 0; font-weight: bold; font-size: 18px; color: #DC8E24; line-height: 1.1;}

h4 { font-family: 'Libre Baskerville', sans-serif; font-size: 18px; background-color: #DC8E24; color: #fff; margin-top: 20px; margin-bottom: 10px; padding: 8px; border-radius:6px; -moz-border-radius:6px; -webkit-border-radius:6px; }

.heading { background-color: #DC8E24; color: #fff; padding: 5px 0 7px 0; text-align: center;}

a { color: #000; }

a:hover { text-decoration: underline; } 

img { border: 0; }

hr { margin-bottom: 8px; }



/*---------- OVERRIDES ----------*/

.mean-container span.meanmenu-label { font-size: 1.1em !important; }

#subnav .nav ul li a:hover { color:#9480BB; }

#content #fp-news-events-container .button, #content #fp-news-list .button { background-color: #DC8E24 !important; color: #fff !important; font-size: 20px !important; padding: 8px 14px 4px 14px; }

#content .colorbutton { padding-top: 14px !important; }

#people-category-thumb-container .people-category-thumb .category-name-container { background-color: #5094B5 !important; padding: 8px 6px 6px 6px !important; }

#news-summary-container-panels .news-summary h2 { font-size: 16px; }

#mobilemenusearchform .mobilesearchformdiv { width: 275px; }

#subnav #gallerycontainer .galleryimages div { font-size: 14px; }

#content .product-container-outer .button { padding: 14px 35px 10px 35px !important; }

#content .product-container-outer .button:hover { background-color: #9480BB !important; }

#meeting-table-container .table-cell { font-size: 16px !important; }

.z-accordion.vertical { font-family: 'Josefin Sans', sans-serif !important; font-size: 16px !important; line-height: 22px !important; }

.simple-button-plugin { padding: 8px 10px 5px 10px !important; }

#subnav-header { padding: 12px 0 6px 0; font-size: 16px; background-color: #DC8E24; }

#subnav .nav a { font-size: 17px !important; }

#mobile-csu { display: none; }

#fp-news-events-container { background-color: #EAE8E8; }

#fpcol-container .fpcol h2 { color: #DC8E24; }



#content #cal-proper li { padding: 0; }

#content.home-page { padding-top: 5px; }

subnav .nav a { font-size: 15px; }

.mean-container .mean-bar { background-color: #5094B5; }
.mean-container .mean-nav > ul > li > a { padding: .63em 5% !important; }

.anchor { 
    display: block; 
    height: 110px; /*same height as sticky header*/
    margin-top: -110px; /*same height as header*/
    visibility: hidden;
}

/*---------- FP PRODUCTS ----------*/

#fp-quote-box { 
    background-color: #E0E1E4;
}

#fp-quote-inner { 
    width: 1150px; 
    margin: 0 auto; 
    padding: 30px 0;
    clear: both;
    color: #000;
    font-size: 26px;
    line-height: 1.3em;
}

@media (max-width: 1150px) {
    #fp-quote-inner { width: 100%; padding: 20px 20px; font-size: 18px; line-height: 1.1em; }
}

.product-container-outer { display: flex; flex: 0 1 auto; flex-direction: row; flex-wrap: wrap; margin-bottom: 20px; }
.product-container-inner { flex-basis: 33.3%; max-width: 33.3%; padding: 30px 15px 0 15px; }

@media (max-width: 1200px) {
    .product-container-inner { flex-basis: 33.3%; max-width: 33.3%; }
}

@media (max-width: 1000px) {
    .product-container-inner { flex-basis: 50%; max-width: 50%; }
}

@media (max-width: 600px) {
    .product-container-inner { flex-basis: 100%; max-width: 100%; }
}

.productbox { position: relative; overflow: hidden; min-height: 400px; width: 100%; padding: 20px 30px; background-position: center center; background-size: cover; background-repeat: no-repeat; border: solid 1px #EAE8E8;}

@media (max-width: 1200px) {
    .productbox { min-height: 300px; }
}

.productbox:after { content: ""; position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: 100%; }

.productbox-inner { position: absolute; bottom: 30px; left: 30px; right: 30px; overflow: hidden; z-index: 2; text-align: center;}

.productbox h4.title { color: #fff; font-size: 24px; background-color: #529B40 !important; text-align: center;}

.productbox .button { margin-bottom: -50px; transition: .3s ease-in-out; background-color: #DC8E24 !important; vertical-align: middle; }

.button-white-outline { box-shadow: inset 0 0 0 3px #fff; }

.productbox:hover:after { background: rgba(149,129,188, 0.10); }

.productbox:hover .button { margin-bottom: 0; }

@media (max-width: 600px) { .productbox .button { margin-bottom: 0; } }


/*---------- PRODUCTS ----------*/

#products-available { display: flex; flex: 0 1 auto; flex-wrap: nowrap; flex-direction: row; }

#products-available div { flex-basis: 18%; max-width: 100px; margin-right: 15px; }



/*---------- SITE FRAMEWORK ----------*/

#container { width: 100%; background-color: #fff; }
.container-inner { width: 1150px; margin: 0 auto; clear: both; }
.container-inner-full { padding: 0 20px; }
#content { padding: 20px 0 20px 0; min-height: 400px; }
.withsubnav { width: calc(75% - 10px); float: left; }
.withoutsubnav { width: 100%; }
.mobileonly { display: none; }
.mobileonlyblock { display: none; }

@media (max-width: 1170px){
    #container { width: 100%; }
    .container-inner { width: calc(100% - 20px); margin: 0 auto; padding-top:5px; }
    #content {padding: 15px 0; }
}

@media (max-width: 800px){
    .container-inner-full { padding: 0 15px; }
}

@media (max-width: 758px){
    .withsubnav { float: none; width: 100%;}
    .withoutsubnav { width: auto; float: none; width: 100%;}
}

@media (max-width: 600px){
    #container { padding-bottom: 0; }
    #content {padding: 3px; min-height: 0;  }
    .mobileonly { display: inline; }
    .mobileonlyblock { display: block; }
}

@media print {
    #uberheader, header, #subnav, #footer, #menubase, .noprint  {display: none; }
    #content h4 { border: solid 1px #000; text-transform: uppercase; color: #000;}
}


/*---------- LANGUAGE HEADER ----------*/

#languageheader { background-color: #EAE8E8; z-index: 999;}
#languageheader-inner { width: 100%; max-width: 1140px; margin: 0 auto; font-size: 16px; color: #fff; text-align: right; padding: 4px 0 0 0; }
#languageheader-inner ul { padding:0; list-style:none; margin:0; }
#languageheader-inner > ul > li { float:right; position:relative; text-align: center; } 
#languageheader-inner > ul > li > a { color: #fff; text-decoration: none; padding-left: 20px; }
#languageheader-inner > ul > li > a:hover { text-decoration: underline;}

#languageheader #languageheader-inner div { display: inline-block; width: 160px; overflow: hidden; } 

@media (max-width: 1150px){
    #languageheader { padding-right: 10px; }
}
@media (max-width: 800px){
    #languageheader-inner { text-align: center; padding-top: 10px; }
}

/*---------- UBER HEADER ----------*/

#uberheader { background-color: #9480BB; z-index: 999;}
#uberheader-inner { width: 100%; max-width: 1140px; margin: 0 auto; font-size: 16px; color: #fff; text-align: right; padding: 8px 0 6px 0; }
#uberheader-inner ul { padding:0; list-style:none; margin:0; }
#uberheader-inner > ul > li { float:right; position:relative; text-align: center; } 
#uberheader-inner > ul > li > a { color: #fff; text-decoration: none; padding-left: 20px; }
#uberheader-inner > ul > li > a:hover { text-decoration: underline;}
#full-csu { float: left; }

@media (max-width: 1150px){
    #uberheader { padding-right: 10px; }
}
@media (max-width: 800px){
    #searchbox { display: none; }
    #full-csu { display: none; }
    #mobile-csu { display: inline-block; }
    #uberheader-inner { text-align: center; padding-top: 10px; }
}


/*---------- HEADER ----------*/

#header-sticky { position: relative; position:sticky; top:0; z-index:1000;  }

header #header-inner.sticky { min-height: 0; } /********/ 
header #header-inner.sticky .logo img {height: 100px; } /********/ /*!!!!90px!!!!*/

header { background-color: #fff; clear: both; border-bottom: solid 3px #726A79;}
header #header-inner { width: 100%; max-width: 1140px; margin: 0 auto; padding:0; display:flex;align-items: center; min-height: 100px; position: relative;} /********/
header #header-inner .logo img { height: 100px; display: block; margin: 10px 0; transition: all 250ms; } /*!!!!130px!!!!*/

header nav {flex-grow:1;align-self: stretch;}
header nav ul { padding:0; list-style:none; margin:0; }
header nav > ul {display: flex;height:100%;justify-content: flex-end;}


/*header nav > ul > li:last-child a { padding-right: 0; }*/


header nav ul li a {height: 100%; display: flex; align-items: center; font-weight: bold; font-size: 19px; color: #212121; padding: 0 14px; text-decoration: none; }

    
header nav ul li a:hover { text-decoration: underline; }
header nav ul li ul { display:none; }
header nav ul li > ul { left:auto; top:auto; }
header nav > ul > li.over > ul, header nav > ul > li:hover > ul { top: 100% !important; width:300px; background:#333333; border:1px solid #333333; border-radius:0 0 5px 5px; -moz-border-radius:0 0 5px 5px; -webkit-border-radius:0 0 5px 5px; border-width:0 1px 1px; clear:left; display:block; list-style:none; margin:0; padding:5px; position:absolute; text-indent:0; top:100%;  z-index: 100; }
header nav ul li ul li { display:block; text-transform:none; }
header nav ul > li > ul > li > a { display:block; padding:6px 5px 5px 5px; font-size: 16px; text-align: left; line-height: 20px; color: #fff; } 
header nav ul li ul li a:hover { background-color:#5C5C5C; text-decoration: none; color: #fff; }

header nav .more-indicator { float: right; }
header nav .more-indicator i { padding: 4px 7px 5px 7px; transition: transform 250ms; }

header nav .more-indicator { margin-top: -3px; }
header nav .more-indicator.active, header nav .more-indicator:hover { background-color: #CF1F45; }
header nav .more-indicator.active i {transform:rotate(90deg);}
header nav ul li ul li ul li a { margin-left: 10px; font-size: 14px; padding-top: 9px;} 

header .header-button { display: inline-block; padding: 10px 14px 8px 14px; margin-left: 7px; color: #212121; text-align: center; font-size: 16px; font-weight: 600; text-transform: uppercase; border: 2px solid #212121; background-color: #FFFFFF; text-decoration: none; }
header a.header-button:hover { color: #fff; background-color: #E86734; border-color: #E86734; text-decoration: none;}

@media (max-width: 1150px){    
    #header-inner { width: 100%; }
    header #header-inner .logo { margin-left: 5px; }
    
}

@media (max-width: 1150px){
    .header-button-container {  text-align: right; margin-right: 8px; white-space: nowrap;} 
    header { border-bottom: 0; }
    .more-indicator { display: none; }
    #header-inner .logo { flex-grow: 1; }
}


@media (max-width: 800px){ 
    header { border-top: solid 3px #1D458B; }
    header #header-inner { min-height: 0; } /********/ 
    header #header-inner .logo img {height: 60px; } /*********/
    header #header-inner.sticky .logo img {height: 60px; } /********/ /*!!!!NEW!!!!*/
    header .header-button { font-size: 14px; }
}

@media (max-width: 500px){ 

    header {padding: 0 4px; }
    header #header-inner { text-align: center; }
    .header-button-container { margin-left: 0px; margin-right: 2px;}
    header .header-button { padding: 8px 10px 6px 10px; }
    

}

/*---------- HEADER IMAGES ----------*/

#page-header-image-container { width: 100%; /*background-color: #EAD3A8;*/ text-align: center;}
#page-header-image-container img { margin: 0 auto; max-width: 100%; }


/*---------- FOOTER ----------*/

#footer-upper { background-color: #9480BB; color: #FFF; border-bottom: solid 0.3pt #313131; padding: 20px 0; font-size: 16px; }
#footer-upper a { color: #FFF; text-decoration: none; font-size: 16px; }
#footer-upper-left { float: left; width: 40%;}  
#footer-upper-center { float: left; width: 30%; margin-left: 20px;}
#footer-upper-right { float: right; text-align: right;}
#footer-upper-right i { font-size: 48px; float:right; margin: 0 0 0 10px; }

#footer-lower { background-color: #212121; color: #FFFFFF; padding: 20px 0; font-size: 13px;}
#footer-lower a { color: #EAE8E8; text-decoration: none; }
#footer-lower-left { float: left; }  
#footer-lower-right { float: right; text-align: right; }  

.footer-inner { max-width: 1150px; margin: 0px auto; }

@media (max-width: 1170px){
    .footer-inner { margin: 0 10px; }
}

@media (max-width: 800px) {
    #footer-upper-left { width: 100%; }
    #footer-upper-center { float: none; width: 100%; clear: both; margin-top: 30px; margin-left: 0; }
    #footer-upper-right {float: none; width: 100%; clear: both; text-align: left; margin-top: 20px; }
    #footer-upper-right i {float: left; margin: 0 10px 0 0; }
    #footer-lower-left { float: none; text-align: center; }
    #footer-lower-right { clear: both; float: none; text-align: center; margin-top: 10px;}

/* ---------- FEATURE BLOCKS --------- */

#fpfeature-container { display: flex; flex-wrap: nowrap; justify-content: space-between; margin-top: 20px; }
#fpfeature-container .fpfeature { background-color: #EAE8E8; margin-top: 0px; border-radius: 5px; width: 32%; } 
#fpfeature-container .fpfeature-inner { padding: 10px; font-size: 14px; display:flex; flex-direction:column; height:100%;}
#fpfeature-container .fpfeature-inner .feature-content { flex: 1 1 auto; }
#fpfeature-container .fpfeature-inner .feature-content img { margin-bottom: 5px; }
#fpfeature-container .view-all { margin: 10px 0 0 0; }
#fpfeature-container .view-all a { width: 100%; text-align: center; padding: 10px 0;}
#fpfeature-container .button { margin-top: 0 !important; }
#fpfeature-container .fpfeature-inner h2 { font-family: Open Sans, sans-serif; font-size: 18px; color: #fff; margin: 0 0 8px 0; background-color: #A51E22; padding: 3px; border-radius: 5px; text-align: center; }

@media (max-width: 1000px){
    #fpfeature-container .fpfeature-inner h2 { font-size: 14px; }
} 

@media (max-width: 800px){
    #fpfeature-container { flex-wrap: wrap; flex-direction: column-reverse;} /* reverse to group calendar and news */
    #fpfeature-container .fpfeature { width: 100%; margin-top: 10px; }
    #fpfeature-container .fpfeature-inner h2 { font-size: 20px; padding: 6px;}
}

@media (max-width: 640px){
    #fpfeature-container .fpfeature { float: none; width: 100%; margin-top: 10px;}
}




