/*################################################################################################*/
/* GLOBALS */
/*################################################################################################*/

HTML,BODY 										{ margin:0; padding:0;
												  background:#FFF;
												  color:#464646; font-size:18px; }

#wrapper 										{ background:#FFF; }
.full-width 									{ width:100vw; max-width:100%; /* max-width:1210px; */ margin:0 auto; }

/* responsive oembed videos */
.embed-container 								{ position:relative; padding-bottom:56.25%; height:0; overflow:hidden; max-width:100%; height:auto; }
.embed-container IFRAME,
.embed-container OBJECT,
.embed-container EMBED 							{ position:absolute; top:0; left:0; width:100%; height:100%; }

/* promo/map icons */
#promos .promo .icon 							{ height: 96px; margin-bottom: 10px;
												  text-align: center; }
FOOTER .map-wrapper .icon						{ height:70px;
												  text-align:center; }
#promos .promo .icon-bg							{ position:relative; top: 10px; display:inline-block; width:86px; height:86px; border-radius:50%; z-index:99;
												  background:#FFF;
												  color:#a32b50; }

FOOTER .map-wrapper .icon-bg					{ position:relative; top:-43px; display:inline-block; width:86px; height:86px; border-radius:50%; z-index:99;
												  background:#FFF;
												  color:#a32b50; }
#promos .promo .icon-bg .ff-icon,
FOOTER .map-wrapper .icon-bg .fa				{ line-height:86px; font-size:40px; }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#promos .promo .icon 						{ height: 70px; margin-bottom: 0; }
	#promos .promo .icon-bg						{ top:-43px; width:86px; height:86px; }
}

/*================================================================================================*/
/* Custom large width to fix .full-width overflow issues */
@media (min-width: 2000px) {
	.full-width 								{ max-width:2000px; }
}


/*################################################################################################*/
/* HEADER */
/*################################################################################################*/

HEADER  										{ position:relative; z-index:1000; }

/* logo */
HEADER .logo 									{ position:relative; height:150px; background:#FFF; }
HEADER .logo .homelink 							{ position:absolute; top:0; left:0; right:0; bottom:0;
												  background:url(../images/logo.png) center center no-repeat; background-size:240px auto; }

/* toolbar */
HEADER .toolbar 								{ height:40px; padding:0 5vw; z-index:99;
												  background:#8d8b8b;
												  color:#FFF; font-size:13px; text-transform:uppercase; text-align:center; }
HEADER .toolbar .menu							{ display:inline-block; list-style:none; margin:0; padding:0; }
HEADER .toolbar .menu > LI						{ display:inline; }
HEADER .toolbar .menu A							{ margin:0; padding:0 10px;
												  line-height:40px; }
HEADER .toolbar .menu .home 					{ display:none; }
HEADER .toolbar A 								{ display:inline-block; margin-left:25px;
												  color:#FFF; }
HEADER .toolbar A:hover 						{ background:#9e9c9c;
												  text-decoration:none; }

/* search */
HEADER #searchform 								{ float:right; display:none; height:40px; }

/* search form */
HEADER #searchform 								{ position:relative; top:5px; height:30px; width:180px; }
HEADER #searchform LABEL 						{ display:none; }
HEADER #searchform INPUT 						{ width:145px; }
HEADER #searchform INPUT,
HEADER #searchform BUTTON						{ height:30px; border:0; line-height:30px; float:left;
												  background:#9e9c9c; }
HEADER #searchform .field 						{ padding-left:10px; }
HEADER #searchform .field.focus					{ border:1px solid #dcdcdc; outline: none; }
HEADER #searchform #searchsubmit				{ width:35px; text-indent:35px; font-size:0; overflow:hidden; }
HEADER #searchform:after						{ content:'\F002'; position:absolute; top:2px; right:8px;
												  pointer-events:none;
												  font-family:'FontAwesome'; font-weight:normal; font-size:18px; color:#FFF; }

/* quick links */
HEADER .quicklinks-menu 						{ float:right; }
HEADER .quicklinks-menu > LI 					{ position:relative; }
HEADER .quicklinks-menu .sub-menu				{ display:none; position:absolute; top:28px; left:0; width:150px; z-index:999; margin:0; padding:0; list-style:none;
												  background:#8d8b8b; }
HEADER .quicklinks-menu .sub-menu A				{ display:block; line-height:normal; padding-top:8px; padding-bottom:8px; }
HEADER .quicklinks-menu > LI:hover .sub-menu 	{ display:block; }

/* button */
HEADER .toolbar A.btn 							{ float:right; position:relative; top:5px; padding:0 20px; margin:0 0 0 5px; height:30px; border-color:#FFF;
												  line-height:30px; }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	HEADER 										{ height:280px; }
	HEADER.scroll								{ position:fixed; top:0; left:0; right:0; height:55px; }
	HEADER.scroll .toolbar,
	HEADER.scroll .logo							{ display:none; }
	.admin-bar HEADER.scroll					{ top:32px; } /* compensate for WP admin bar */
	HEADER.scroll + #main 						{ margin-top:280px; }

	/* toolbar */
	HEADER .toolbar								{ display:block;
												  text-align:left; }
	HEADER .toolbar .menu .home 				{ display:inline; }
	HEADER .toolbar .menu .home A				{ position:relative; top:1px;
												  font-size:1.2em; }

	/* logo */
	HEADER .logo 								{ height:190px; }
	HEADER .logo .homelink 						{ background-size:auto; }

	/* search form */
	HEADER #searchform 							{ display:inline-block; }

}




/*################################################################################################*/
/* MAIN NAV */
/*################################################################################################*/

HEADER .navbar 									{ border:none; }
#nav 											{ background:#a32b50; margin:0; border-radius:0; }

#main-menu > LI > A .caret						{ display:none; }

/* toggle button (handset only) */
#nav .navbar-toggle 							{ width:90px;
												  color:#FFF; font-size:16px; }
#nav .navbar-toggle .btn-label 					{ position:absolute; top:5px; left:35px; }
#nav .navbar-toggle .icon-bar					{ width:18px; height:3px;
												  background:#FFF; }

#nav .navbar-header 							{ z-index:0; }
#nav .navbar-collapse 							{ z-index:9999; }

/* nav tools (handset only) */
.handset-nav-tools 								{ padding:15px; margin-left:-15px; margin-right:-15px;
												  background:#8d8b8b; }
HEADER .handset-nav-tools #searchform 			{ top:0; height:35px; width:100%; margin:0 auto; display:block; padding-bottom:15px; float:none;
												  text-align:center; }
HEADER .handset-nav-tools #searchform .field	{ width:80%; top:0; height:35px; padding-left:15px;
												  color:#FFF; }
HEADER .handset-nav-tools #searchform #searchsubmit
												{ top:0; height:35px; width:20%; }
HEADER .handset-nav-tools #searchform:after		{ top:4px; }

/* menu */
#main-menu										{  }
#main-menu LI 									{  }
#main-menu > LI > A 							{ font-size:16px; color:#FFF; }

.navbar-header .btn-portal 						{ margin-top: 6px; margin-left: 6px; }

/*================================================================================================*/
/* Handset only */
@media (max-width:767px) {
	#main-menu 									{ float:none; }
	#main-menu .navcontent 						{ padding-left:0; padding-right:0; }
	#nav .navbar-collapse 						{ position:relative; }
	#main-menu .metacontent 					{ display:none; }

	#main-menu > LI > A:hover,
	#main-menu > LI > A:focus 					{ background:none; }

	/* handset view menu expander */
	#main-menu .expand 							{ display:inline-block; position:absolute; top:0; right:0; height:37px; width:40px; padding:10px;
												  text-align:center; }
	#main-menu .expand:after 					{ content:"\25be"; }
	#main-menu .expanded > A > .expand:after	{ content:"\25b4"; }

	/* expanding rules */
	#main-menu .expanded .navcontent > .sub-menu,
	#main-menu .expanded > .sub-menu			{ display:block !important; }
	#main-menu .expanded > A > .expand:after	{ content:"\25b4"; }

	/* level 2+ inside panel */
	#main-menu .submenu-container				{  }
	#main-menu .submenu-container .sub-menu 	{ display:none; border-top:1px solid #CCC; border-bottom:1px solid #CCC;
												  background:#FFF; }
	#main-menu .submenu-container UL 			{ list-style:none; padding:0; margin:0; }
	#main-menu .submenu-container UL LI 		{ line-height:20px; }
	#main-menu .submenu-container UL A 			{ display:block; position:relative; padding:5px 10px;
												  color:#212121; }
	#main-menu .submenu-container UL UL A		{ padding-left:20px; }
	/* define indents for deep nav */
	#main-menu .submenu-container UL UL 		{ list-style:none; }


}

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#nav 										{ position:relative; height:55px;
												  text-align:center; }
	#nav .navbar-collapse 						{ padding:0; }

	#main-menu									{ margin:0 auto; display:block;
												  text-align:center; }
	#main-menu > LI 							{ position:static; display:inline-block; float:none; }
	#main-menu > LI > A 						{ border-bottom:5px solid #a32b50; padding:0 10px;
												  color:#FFF; line-height:50px; font-size:16px; }
	#main-menu > LI > A:hover,
	#main-menu > LI > A:active,
	#main-menu > LI > A:focus,
	#main-menu LI.current-page-ancestor > A,
	#main-menu LI.current_page_item > A,
	#main-menu LI.active > A 			 	 	{ border-color:#FFF;
												  background:transparent; }

	/* dropdown */
	#main-menu .submenu-container 				{ position:absolute; top:55px; left:0; width:100%; padding:0 7vw; box-shadow:rgba(0,0,0,0.5) 0 10px 10px;
												  background:#636363;
												  z-index:999; }
	#main-menu .submenu-container .inner		{ min-height:260px;
												  display:-webkit-box; display:-ms-flexbox; display:flex; }
	#main-menu .navcontent 						{ width:60%; float:left; margin-top:0; border:0; box-shadow:none; border-radius:0; padding:20px 3vw 20px 0;
												  order:1; }
	#main-menu .metacontent 					{ width:40%; float:right;
												  background-repeat:no-repeat; background-position:center center; background-size:cover;
												  order:2; }

	/* submenu */
	#main-menu .dropdown:hover .navcontent 		{ display:block; }
	#main-menu .navcontent UL					{ margin:0; padding:0; list-style:none;
												  -webkit-columns:2; -moz-columns:2; columns:2; }
	#main-menu .navcontent UL LI				{ border-bottom:2px solid #767676; margin-right:30px; }
	#main-menu .navcontent A					{ display:block; padding:10px 0;
												  color:#ffffff; text-align:left; font-size:17px; }
	#main-menu .navcontent A:hover,
	#main-menu .navcontent .current_page_item A	{ color:#b9b9b9; text-decoration:none; }
	#main-menu > LI > A > .caret 				{ display:none; }

	/* hide all levels 2+ */
	#nav .submenu-container .sub-menu .sub-menu { display:none; }

	/* hover */
	#nav .submenu-container						{ display:none; }
	#nav #main-menu > LI.menu-item-has-children:hover .submenu-container
												{ display:block; }

	/* debug */
	/*#nav #main-menu > LI:nth-child(1) .submenu-container { display:block; }*/
	.navbar-header .btn-portal 						{ display: none; }
}

/*================================================================================================*/
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	#main-menu > LI > A 						{ padding:0 30px; }
}

/*================================================================================================*/
/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}




/*################################################################################################*/
/* CONTENT */
/*################################################################################################*/

#main 											{ padding-bottom:80px; }
#content 										{ padding:0 8vw; }
#content .search-criteria,
#content .archive-criteria,
#content .tags,
#content .posted-on 							{ white-space:nowrap; margin-bottom:0;
												  color:#8b8989; text-transform:uppercase; font-size:14px; }

.entry-title 									{ margin-top:0; margin-bottom:30px; }

/* breadcrumb */
#breadcrumb 									{ padding:20px 5vw;
												  color:#acacac; font-size:11px; text-transform:uppercase; }
#breadcrumb .separator							{ display:inline-block; padding:0 6px; }
#breadcrumb A,
#breadcrumb SPAN 								{ display:inline-block; max-width:250px; overflow:hidden;
												  white-space:nowrap; text-overflow:ellipsis; }

/* featured image */
#content .hero 									{ margin-bottom:10px; }
#content .featured-image-caption 				{ padding:5px 10px;
												  background:#ebebeb;
												  color:#464646; font-size:14px; }

/* content article (body text) */
#content .content-article 						{  }

/* post lists search etc */
#content .post-item .post-thumb 				{ display:block; padding-bottom:15px; }
#content .post-item.type-page .date 			{ display:none; }

/* right sidebar */
#content .right-sidebar 						{ margin-top:20px; padding:25px 0 0 30px;
												  background:url(../images/fancy-title.png) no-repeat 30px 0; }
#content .right-sidebar .primary				{ line-height:normal; font-size:27px; color:#a32b50; font-style:italic; }
#content .right-sidebar .secondary				{ font-size:15px; color:#636363; font-weight:bold; }


/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#main 											{ margin-top:0; }
	.page #content 									{ width:70%; float:left; padding:0 0 0 5vw; }

	/* breadcrumb */
	#breadcrumb 									{ padding-left:8vw; }

	/* featured image */
	#content .featured-image-caption 				{ padding:10px 15px;
													  font-size:16px; }


	/* content columns */
	#content .content-columns 						{ padding:0 5vw 0 0; }
	#content .column-left 							{ width:100%; }
	#content .column-right + .column-left 			{ width:70%; }
	#content .column-right 							{ float:right; width:30%; }
}



/*################################################################################################*/
/* SIDEBAR */
/*################################################################################################*/

#sidebar 										{ display:none; }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#sidebar 										{ display:block; width:30%; float:left; }
	#sidebar .widget 								{ margin-bottom:15px; }

	/* submenu */
	#sidebar .submenu								{  }
	#sidebar .submenu A:hover						{ color:#b9b9b9; text-decoration:none; }
	#sidebar .submenu .current-section				{ margin:15px 0 33px; padding:0 0 0 8vw; }
	#sidebar .submenu UL 							{ list-style:none; margin:0; padding:20px 20px 20px 8vw;
													  background:#636363; }
	#sidebar .submenu > UL > LI 					{ border-bottom:1px solid #767676; }
	#sidebar .submenu > UL > LI:last-child			{ border:none; }
	#sidebar .submenu UL A 							{ display:block; position:relative; padding:10px 0;
													  color:#FFF; font-size:17px; }

	/* submenu children */
	#sidebar .submenu > UL > .page_item_has_children > A:after
													{ padding-left:10px;
													  content:'\f105'; font-family:'FontAwesome'; }
	#sidebar .submenu > UL > .page_item_has_children.current_page_item > A:after
													{ display:none; }
	#sidebar .submenu UL UL 						{ padding-top:0; padding-left:15px;  }
	#sidebar .submenu UL UL UL 						{ padding-left:30px; }
	#sidebar .submenu UL UL UL UL					{ padding-left:45px; }
	#sidebar .submenu UL UL A 						{ padding:5px 0;
													  font-size:15px; }
	#sidebar .submenu > UL > LI > UL > LI > A:before{ padding-right:10px;
													  content:'\f105'; font-family:'FontAwesome'; }
	#sidebar .submenu .children .children 			{ padding-top:10px; padding-bottom:0; }
	#sidebar .submenu UL UL LI:last-child A			{ padding-bottom:0; }
	#sidebar .submenu .current_page_item > A		{ color:#b9b9b9; }

	#sidebar .submenu .children 					{ display:none; }
	#sidebar .submenu .current_page_item .children,
	#sidebar .submenu .current_page_ancestor .children 	{ display:block; }
}

/*================================================================================================*/
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	#sidebar 									{ padding-bottom:60px; }
}


/*################################################################################################*/
/* NEWS / BLOG */
/*################################################################################################*/

.blog #content 									{ padding:0; }
#content .grid-row 								{ background:#ebebeb; }

.blog #content .post-thumb 						{ padding-bottom:0; }
#content .post-thumb IMG						{ width:100%; height:auto; }

/* regular */
#content .post-item .post-main 					{ padding:5vw; }
#content .post-item H3 							{ margin-top:0; }
#content .post-item H3 A 						{ color:#a32b50; text-decoration:none; }
#content .post-item .date						{ color:#969595; font-size:10px; text-transform:uppercase; }

/* feature */
#content .post-feature 							{ margin-bottom:40px; }
#content .post-feature .post-main 				{ padding:5vw; }
#content .post-feature .date					{ color:#b3b3b3; font-size:14px; text-transform:uppercase; }
#content .post-feature H2						{ margin-top:0; }
#content .post-feature H2 A						{ color:#a32b50; text-decoration:none; }

/* pagination */
#content .paging-navigation						{ background:#ebebeb;
												  text-align:center; }
#content .pagination 							{ padding:20px 0;
												  text-align:center; }
#content .pagination .page-numbers 				{ padding:0 8px; border:1px solid #414141;
												  background:#FFF;
												  color:#414141; }
#content .pagination .current 					{ border-color:#a5a5a5;
												  background:#a5a5a5;
												  color:#FFF; }
#content .pagination A:hover 					{ border-color:#a32b50;
												  background:#a32b50;
												  color:#FFF; text-decoration:none; }

/* single */
.single #wrapper,
BODY.single  	 								{ background:transparent; }
.single #content 								{ padding:0; }
.single #content .hero 							{ height:380px;
												  background:transparent; }
.single #content .entry-title,
.single #content .single-wrapper				{ padding:30px 8vw 0; }

#content .post-archive 							{  }
#content .post-archive UL						{ margin-left:10px; }
#content .post-archive UL LI					{ color:#8c8c8c; }

.single #content .meta 							{ margin-bottom:20px; }
.single #content .tags 							{ color:#b3b3b3; }


/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	/* regular */
	#content .post-item .post-main 					{ padding:2vw; }
	#content .post-item 							{ width:33.333%; float:left; }

	/* feature */
	#content .post-feature .post-main 				{ padding:0 8vw 0 4vw; }
	#content .post-feature .post-thumb,
	#content .post-feature .post-main				{ width:50%; float:left; }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {

}


/*################################################################################################*/
/* PROMOS (home and footer) */
/*################################################################################################*/

#promos .promo									{ border-bottom:2px solid #FFF; padding:0 10% 30px;
												  background:#a32b50;
												  color:#FFF; text-align:center; }

#promos .promo .title H2						{ margin-top:0;
												  color:#FFF; }
#promos .promo .description						{ margin-bottom:15px;
												  font-size:14px; }
#promos .promo .link .btn-cta					{ border-color:#FFF;
												  background:#a32b50;
												  color:#FFF !important; }
#promos .promo .link .btn-cta:hover				{ border-color:#a32b50;
												  background:#FFF;
												  color:#a32b50 !important; }

/*================================================================================================*/
/* Handset ONLY */
@media (max-width: 767px) {
	#promos .promo:first-child 						{ padding-bottom:60px; }
}

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#promos 										{ display:-webkit-box; display:-ms-flexbox; display:flex; }
	#promos .promo									{ width:50%; float:left; }
	#promos .promo:first-child 						{ border-right:1px solid #FFF; }
	#promos .promo:last-child 						{ border-left:1px solid #FFF; }
}


/*################################################################################################*/
/* QUOTE */
/*################################################################################################*/

#quote 											{ padding:50px 30px;
												  text-align:center; }
#quote .text H2 								{ margin-top:0;
												  font-size:34px; }
#quote .author 									{ font-size:16px; }
#quote .subtitle								{ font-size:14px; }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	#quote 											{ padding:80px 0; }
	#quote .text H2 								{ font-size:5vw; }
	#quote .author 									{ font-size:2vw; }
	#quote .subtitle								{ font-size:1.8vw; }
}

/*================================================================================================*/
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	#quote .text H2 								{ font-size:3vw; }
	#quote .author 									{ font-size:1.4vw; }
	#quote .subtitle								{ font-size:1.2vw; }
}

/*================================================================================================*/
/* Custom maximum width */
@media (min-width: 2000px) {
	#quote .text H2 								{ font-size:44px; }
	#quote .author 									{ font-size:20px; }
	#quote .subtitle								{ font-size:18px; }
}


/*################################################################################################*/
/* FOOTER */
/*################################################################################################*/

FOOTER 											{ font-size:14px; }
FOOTER UL										{ list-style:none; margin:0; }
FOOTER UL LI									{ margin-bottom:5px; }
FOOTER H3										{ font-size:20px; }

FOOTER A:before 								{ display:none; }

/* map */
FOOTER .map-wrapper 							{ position:relative; width:100%; height:260px; margin-top:70px; }
FOOTER .map-wrapper .link						{ position:absolute; bottom:30px; width:100%; z-index:99;
												  text-align:center; }
FOOTER #map  									{ position:absolute; top:0; left:0; right:0; bottom:0;
												  background:#eaeaea; }

/* widgets */
FOOTER .quicklinks								{ display:flex; flex-wrap:wrap; justify-content:space-between; padding:2rem 0;
												  background:#FFF url(../images/footer-bg.png) repeat-x top center; }

FOOTER .quicklinks .logo						{ width: 100%; padding:1rem; display: flex; align-items: center; justify-content: center;}
FOOTER .quicklinks .logo IMG					{ max-width:100%; height:auto; }


/* copyright */
FOOTER .copyright		 						{ padding:20px 8vw;
												  background:#bbbdc3;
												  color:#787878; text-transform:uppercase; font-size:12px; }

FOOTER .copyright A								{ color:#191919; }
FOOTER .copyright LI 							{ display:inline; }
FOOTER .copyright LI A							{ color:#191919; }

FOOTER .copyright .footer-menu,
FOOTER .copyright .footer-menu UL				{ margin:0; padding:0; }
FOOTER .credit A 								{  }

/*================================================================================================*/
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	FOOTER .quicklinks .logo						{ width: auto; flex:1; justify-content: flex-start; }
	FOOTER .quicklinks .logo-right 					{ justify-content: flex-end; }


	/* copyright */
	FOOTER .credit									{ text-align:right; }
	FOOTER .copyright > .menu 						{ width:70%; float:left; }
	FOOTER .credit 									{ width:30%; float:left; }

	FOOTER .copyright .footer-menu,
	FOOTER .copyright .footer-menu UL				{ display:inline; }
	FOOTER .copyright LI A							{ padding:0 5px; }

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {

}
