/*********************** STANDARD ELEMENTS ****************************/

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, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
	font-weight:400;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    font-family: 'Open Sans', sans-serif; /*400,600,700,800*/
	font-weight:400;
	font-style:normal;
    font-size: 16px;
    color: #848484;
    text-align: left;
    background: #ffffff;
	line-height:1.45em;
	min-width: 320px;
	overflow-x: hidden;
}

/* for the admin page editing area */
.mceContentBody { background-color: #ffffff !important; background-image:none; }


table {
    border-collapse: collapse;
    border-spacing: 0;
}

td {
	
}

/* GENERAL FORMATTING */

a, a:visited {
    text-decoration: none;
    color: #1c3f94;
	font-weight:700;
}

a:hover, a:active {
    color: #000;
}

strong {font-weight:700}
em {font-weight:unset;}

li {
	margin-left:1.7em;
}




/* Headings */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.45em;
    font-weight: 700;
    color: #181818;
	margin-bottom:0.7em;
}

h1 {
    font-size: 1.9em;
	font-weight: 600;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.35em;
}

h1.home {
	font-size: 2em;
	color: #181818;
	font-weight: 600;
	margin-bottom: .5em;
	text-transform:uppercase;
}

.connectHeader {
	font-size: 1.9em;
	font-weight: 600;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.45em;
	color: #000000;
}

h2 {
    font-size: 1.4em;
	font-weight: 600;
	text-transform:uppercase;
	color: #181818;
	margin-top: 1.3em;
	margin-bottom: .5em;
	line-height: 1.35em;
	}

h2.home {
	font-size: 1.35em;
	font-weight: 600;
	color: #181818;
	margin-top: .7em;
	margin-bottom:1.35em;
	text-transform:uppercase;
	line-height: 1.2em;
	text-align: center;
}

h3 {
    font-size: 1.15em;
margin-bottom: .5em;
text-transform:uppercase;
margin-top: 1.5em;
}



img,
embed,
object,
video {
    max-width: 100%;
    border: 0 none;
}

p 	{
	margin-bottom: .8em;
	
}

#content p {
	font-size: 16px;
	line-height: 1.7em;
	margin-bottom: 1em;
}

#content ul, #content ol {
	margin-left: 1.1em;
	margin-bottom: 1.5em;
	margin-top: 0;
	
}

#content ul li, #content ol li {
line-height: 1.7em;
margin-bottom: .3em;
}






/*********************** MAIN DIVS ****************************/
#top {
    min-width: 320px;
    width: 100%;
}

#middle {
    width: 100%;
    position: relative;
    min-width: 320px;
}

#bottom {
    width: 100%;
    position: relative;
    min-width: 320px;
	background: #1c2541;
}



/* end main divs */


/* Main wrap: this defines the full width site limits */
.wrap {
	background: transparent;
    clear: both;
    display: block;
    margin: 0 auto;
    padding: 0;
    max-width: 1220px;
	min-width: 320px;
	
}
.wrap::after{
	clear:both;
	display:table;
	content:'';
}

/* Unwrap: removes the max-width restriction */
.unwrap {
	max-width:unset;
}
/* end .wrap */


/* cmsInnerWrap: divs with this class will have consistent margins and padding
** Used to wrap #content and #sidebar divs. Also add it to any div that should 
** have the same padding as the main content. In the header and footer, for example
** Notes: must be inside .wrap
**		  Changes here must be reflected in uncmsInnerWrap (found below)
**		  Margins must be in percentages to be unwrapped later
*/
.cmsInnerWrap {
	margin: 0 3%;
	position:relative;
}
.cmsInnerWrap::after{
	clear:both;
	display:table;
	content:'';
}
/* Undoes the innerwrap at each break 
** Useful for custom segments that need to fill the full site width instead of respecting padding
** eg   padding(.cmsInnerWrap)
** margin   |
** (.wrap)  |
**	   |    |
**	----------------------------------------
**  |     |   |inside cmsInnerWrap|   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |   
**  |     |    .uncmsInnerWrap        |     |
**  |     | lets us set content all   |     |
**  |     | the way to the margin.    |     |
**  |     | good for feature areas    |     |
**  |     | with full width images    |     |
**  |     | or backgrounds            |
**  |     |   |                   |   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |      
*/
.uncmsInnerWrap{
	margin-left: -3.2%;
	margin-right: 0;
	width:106.4%;
}
@media (min-width:600px){
	.cmsInnerWrap {
		margin: 0 2%;
	}
	.uncmsInnerWrap{
		margin-left: -2.1%;
		width:104.2%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-3%;
		width:105%;
		
	}
}
@media (min-width:1220px){
	.cmsInnerWrap {
		margin: 0;
	}
	.uncmsInnerWrap{
		margin-left: -1.4%;
		width:102.9%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-2%;
		width:103.6%;
		
	}
}
@media (min-width:1320px){
	.cmsInnerWrap {
		margin: 0;
	}
	.uncmsInnerWrap{
		margin:0;
		width:100%;
	}
}
/* end cmsInnerWrap */



/* Stacked class is used with the iconbar but can be used anywhere this arrangement is needed
**	small screen:
**	{Top Left   }{    Top Right}
**	{Left       }{        Right}
**
**	and fullscreen:
**	{                   TopLeft}{Top Right}{Left}{Right}
*/
.stacked{
	width:100%;
	position:relative;
	background:black;	
}
.stacked::after {
    display: table;
    content: '';
    clear: both;
}

.stacked .stackedTop{
	width: 100%;
	text-align:center;
	background:black;
}
.stacked .stackedTop::after{
	display:table;
	content:'';
	clear:both;
}
.stacked .stackedTopLeft{
	float:left;
}

.stacked .stackedTopRight{
	float:right;
}

.stackedBottom {
	background:black;
	border-bottom: 6px solid #93304a;
}
.stacked .stackedBottom::after{
	display:table;
	content:'';
	clear:both;
}

.stacked .stackedLeft{
	width: 50%;
	float:left;
}

.stacked .stackedRight{
	width:50%;
	float:right;
	text-align:right;
}

@media (min-width:600px){

	.stacked {
		border-bottom: 6px solid #93304a;
	}
	
	.stacked .stackedGroup{
		float:right;
	}
	
	.stacked .stackedTop{
		float:left;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}
	
	.stacked .stackedBottom{
		float:right;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}

	.stacked .stackedLeft{
		float:left;
		text-align:right;
		width:unset;
	}

	.stacked .stackedRight{
		float:left;
		text-align:right;
		width:unset;
	}
}
/* end .stacked */


/*  CONTENT and Sidebar */

#content_area {
	text-align: left;
	padding: 2em 0em 2em 0em;
	}
	

@media (min-width: 550px) and (max-width: 899px) {
	
	#content_area  {
    margin-left: 1em;
	}
}
	
@media (min-width: 900px) and (max-width: 1230px) {
	
	#content_area  {
    margin-left: 1em;
	}
}	
	

#content_wrap {
	margin-top: 0;
	margin-bottom: 1em;
	display:flex;
	flex-direction:column;
}


#content{
	order:2; /* put_in-middle_using_flex:; */
}

/* default sidebar behaviour (small screens or default if device has js disabled) */
.sidebarPart{ /*common class for sidebar-top and sidebar_bottom */
	box-sizing:border-box;
}
#sidebar-top{
	margin-top:0;
	margin-bottom:1em;
	order:1; /* above_content_w_flex:; */
}
#sidebar-bottom{
	margin-top:2em;
	order:3; /* below_content_w_flex:; */
}

/* Rules for Content and Sidebar for Desktop
	.cms_desktop_sidebar: class added to content_wrap with js when screen width >=900px and sidebar is present
	#jsSidebarWrap: added with js. This div wraps #sidebar_top/bottom iff screen width >= 900px and sidebar exists
	<div #jsSidebarWrap > <- only exists when sidebar exists and screen width >=900px
		<div #sidebar_top>
		<div #sidebar_bottom>
	
*/
#content_wrap.cms_desktop_sidebar{
	flex-direction:row;
	margin-left: 0;
}
#content_wrap.cms_desktop_sidebar #content{
	flex: 3 0px;
	order:1;
	padding-right:1em;
	
}
#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:20em;
	margin-top: 4em;
}

@media (min-width: 550px) and (max-width: 899px) {
	
	#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:17em;
	margin-top: 4em;
	}
	
}

/*  end CONTENT and Sidebar */

/*********************** Utility CLASSES ****************************/
.clearAfter::after {display:'table';clear:'both';content:'';}
.clear { clear:both; }
.nobr, .nowr {white-space: nowrap;}
.whiteBG {background:white;}
.blackBG {background:black;}
.left {float:left;}
.right {float:right;}
.full {width:100%;}
.leftimg {clear:left; float:left;margin:.3em 2em 2em 0;font-style:italic;}
.rightimg {clear:right; float:right;margin:.3em 0 2em 2em;font-style:italic;}
.leftimg p, .rightimg p {margin:.5em 0 0 0;}
.fullimg {width:100%; margin-bottom:1em;}
.half {width:50%;}
.halfleftimg {float:left; width:48%;margin:1em 0;}
.halfrightimg {float:right; width:48%;margin:1em 0;}
.side2sideleft {width: 49%; margin-right:1%;}
.side2sideright {width: 49%; margin-left: 1%;}
.side3sideleft {width: 32%; margin-right:1%;}
.side3sidemid {width: 32%; margin-left: 1%; margin-right: 1%;}
.side3sideright {width: 32%; margin-left: 1%;}
.third {width:35%;}
.center {display:block;margin:2em auto;text-align:center;font-style:italic;width:auto;}
.noscale {max-width:none;}
@media (max-width: 549px) {
	.left, .right {float:none;}
	.leftimg, .rightimg {float:none;margin:2em auto;display:block;text-align:center;font-style:italic;}
	.half, .third  {width:auto;}
	.hideinmobile {display:none;}
}
.width25{
	max-width:25%;display:block;
}
.width50{
	max-width:50%;display:block;
}
.width75{max-width:75%;display:block;}


/* JUSTIFY FLOATING DIVS */

ul.justify {
    font-size: 0 !important;
    line-height: 0;
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: justify;
    text-justify: distribute-all-lines;
}

ul.justify:after {
    content: "";
    display: inline-block;
    width: 100%;
}

ul.justify li {
    display: inline-block;
    font-size: 1rem;
    line-height: 1rem;
    margin: 0 auto !important; this-will-center-single-objects:;
    padding: 0 !important;
}

/* (untested) IE hacks to make li's line up */
*+html ul.justify li {display: inline;}
* html ul.justify li {display: inline;}

/* flex classes for uniformity and responsive */
.flexRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flexColumn {
    display: flex;
    flex-direction: column;
}


@media screen and (max-width: 549px) {
	#content ul {
    margin-left: 0;
	}
	
	#content ul.longList {
	-webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
	}
	
}




