/*ALL EM CONVERSIONS BASED ON 16PX*/


/* =============================================================================================
	BASE STYLES AND LAYOUT
============================================================================================= */

/* ------------------------------------------------------------------------ Page Styles & Resets */

html {
    font-size: 100%; 
    overflow-y: scroll;
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%; 
	 box-sizing: border-box;
	}
	
body {
	margin: 0;
	min-height: 100%;
	font: 300 100%/1.6 'Open Sans', Arial, Helvetica, sans-serif; 
	color: #222;	
	} 

	body.Fixed {margin-top: 4em;}

@media all and (min-width: 60em) {

	body.Fixed {margin-top: 4.875em;}

}

	.Preload * { /* Transitions fire only after page load http://css-tricks.com/transitions-only-after-page-load/ */
		-webkit-transition: none !important;
			transition: none !important;
		}
		
*, *:before, *:after { box-sizing: inherit; } /*inherits border-box from html*/

article, aside, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

p, ol, ul { margin:0; padding: 0 0 1em; }
	li { margin:0; padding: 0 0 .5em; }


/* ------------------------------------------------------------------------ Clearfix Hack: http://nicolasgallagher.com/micro-clearfix-hack/ */

.CF:before, .CF:after { 
	content: ""; 
	display: table; 
	}
	.CF:after { clear: both; }
	.CF { *zoom: 1;}
	
.Clear { clear: both; }

		
/* ------------------------------------------------------------------------ Keyboard Accessibility */

.SkipLink { 
	position:absolute; 
	left:-10000px; 
	top:auto; 
	width:1px; 
	height:1px; 
	overflow:hidden;
	background: #104080;
	color: #fff;
	font-size: 0.875em;
	text-decoration:none;
	z-index: 250;
	} 
 
	.SkipLink:focus { 
		left:0;
		outline: none; 
		padding:0.375em 0.625em; 
		width:auto; 
		height:auto; 
		} 
		
a:focus, input:focus, select:focus, textarea:focus {outline: solid medium #104080; } /* outline shows with keyboard... */
	a:hover, a:active { outline: none !important; } /*...not with mouse (kinda) */
		

/* ------------------------------------------------------------------------ Headers */

h1, h2, h3  { 	
	line-height:1.2;
	font-weight: 300;
	text-rendering: optimizeLegibility;
	margin:0;
	color: #104080;
	text-transform: uppercase;
	}	

	h1 {
		font-size: 1.75em; /*28px*/
		padding-bottom: 0.571em; /* 16px (consistent with p, ol, ul, li, img) */		
		letter-spacing: 1px;
		}
		
	h2 { 
		font-size: 1.5em; /*24px*/
		padding: 0.667em 0; /* 16px */
		}
		section h2:first-child { padding-top: 0; }
		h2.SecureChoice { 
			font-size:2.063em;
			text-transform: lowercase;
			font-style:italic; 
			}
			
	h3 { 
		font-size: 1.25em; /*20px*/
		padding: 0.800em 0; /* 16px */
		}	
		
		h1 + h2, h1 + h3, h2 + h3  { padding-top: 0; }	
		
@media all and (min-width: 40em) {	

	h1 {
		 font-size: 2.5em; /*40px*/
		 padding-bottom: 0.4em; /* 16px */
		 } 
	h2 { 
		font-size: 2em; /*32px*/
		padding: 0.615em 0; /* 16px */
		}
		
	h3 { 
		font-size: 1.5em; /*24px*/
		padding: 0.667em 0; /* 16px */
		}
	
}

@media all and (min-width: 60em) {	
		
	h1 { 
		font-size: 3em; /*48px*/
		padding-bottom: 0.333em; /* 16px */
		}
		
	h2 { 
		font-size: 2.25em;/*36px*/ 
		padding: 0.444em 0; /* 16px */
		}
		
	h3 { 
		font-size: 1.75em; /*28px*/
		padding: 0.571em 0; /* 16px */
		}
	
}	

				
/* ------------------------------------------------------------------------ Lists */

ul { 
	list-style: none; 
	list-style-position: outside;
	padding-left: .25em;
	}
	ul li {	
	    padding-left:1em;
		position: relative;
		background-image: url(../../images/arrow-right-grey.svg);
		background-repeat: no-repeat;
		background-position: left 0.438em;
		background-size: 6px;
		}
			
ol { 
	list-style-position: outside;
	padding-left: 1.5em;
	}
	ol li { 
		padding-left:0; 
		background-image: none; 
		}
				

	li ul, li ol { margin: 0.875em 0 -.5em 0; }
	
		li:last-child {padding-bottom:0; }
			
					
/* ------------------------------------------------------------------------ Other Base Text Styles */

b, strong { font-weight: normal;}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
	}
	sup { top: -0.5em; }
	sub { bottom: -0.25em; }
	
.NoWrap { white-space:nowrap; }

.Note {
	font-size: 0.875em;
	font-style:italic; 
	}	
		
.IntroText { 
	font-size: 1.25em; /*20px*/
	padding-bottom: 0.800em; /* 16px */
	}

	.IntroTextSm { 
		font-size: 1.125em; /*20px*/
		padding-bottom: 0.889em; /* 16px */
		}
	
@media all and (min-width: 60em) {	

	main p, main li, .InfoBox .Accordion dt a { font-size: 1.125em; }
	main li li,  main .Note, main p .Button, main ul.IntroTextSm li { font-size: 1em; }

	.IntroText { 
		font-size: 1.5em; /*24px*/
		padding-bottom: 0.667em; /* 16px */
		}
		.IntroTextSm { 
			font-size: 1.25em; /*20px*/
			padding-bottom: 0.800em; /* 16px */
			}

}

	
/* ------------------------------------------------------------------------ Links */

a { 
	color: #1694ce; 
	font-weight: normal;
	
	-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}	
	a:hover { text-decoration:none;	}
	
	main a { word-wrap: break-word; /*Makes long URL's wrap*/ }

	a img {
		display: block;
		border: none;
		-webkit-backface-visibility: hidden;
			
		-webkit-transition: opacity 0.5s;
			transition: opacity 0.5s;
		}				
		a img:hover { opacity: .8; }

.Anchor {
    border-top: 64px solid transparent;
    margin-top: -64px !important;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
	}
	.Grey.Anchor { border-top: 64px solid #fff; }

			 
.More {
	display: inline-block;
	text-decoration:none;	
	position: relative;
	font-weight: normal 
	font-size: 1.25em;
	color: #104080;
	padding-left: 1.375em;
	
	background-image: url(../../images/more.svg);
	background-repeat: no-repeat;
	background-position: left 0.22em;
	
	-webkit-transition: color 0.5s;
		transition: color 0.5s;
	}		
	.More:hover { 
		color: #222; 
		background-image: url(../../images/more-hover.svg);
		}
	
.Button {
	color: #fff;
	text-decoration:none;
	text-align:center;
	white-space: normal; /*Makes text wrap on resize */
	border:none;
	font-weight: normal; 
	line-height: 1.2;
	text-transform: uppercase;
	background-color: #1694ce;
	background-image: url(../../images/arrow-right-white.svg);
	background-repeat: no-repeat; 
	background-position: right 1em top 1.125em;
	background-size:10px 16px;
	-webkit-transition: all 0.5s;
		transition: all 0.5s;

	display: inline-block;	
	width:100%;
	margin: 0 ;
	padding: 1em 2.25em 1em 1em; 
	cursor: pointer;
	}

	.Button:hover, .Button:focus  { 
		background-color: #104080;
		background-position: right .75em top 1.125em; 
		}


	.ButtonFullWidth {
		display: block; 
		background:#1694ce;
		padding:0;
		text-align: center;

		-webkit-transition: all 0.5s;
			transition: all 0.5s;
		}

		.ButtonFullWidth .Button { 
			background-color: transparent;
			width:auto;
			}

			.ButtonFullWidth:hover, .ButtonFullWidth:focus  { 
				background-color: #104080;
				cursor: pointer;
				}	

		
@media all and (min-width: 40em) {	
	
	.More  {font-size: 1.375em; }
	
	.Button { 
		font-size: 1.125em;
		width: auto;
		}
	
}

@media all and (min-width: 60em) {	
	
	.Anchor {
	    border-top: 78px solid transparent;
	    margin-top: -78px !important;
	    -webkit-background-clip: padding-box;
	    -moz-background-clip: padding;
	    background-clip: padding-box;
		}
	
}

		
	
/* ------------------------------------------------------------------------ Images */

img {
	 border: 0; 
	 max-width:100%;
	 height:auto!important;
	 margin: 0 0 1em 0; 
	 padding:0;
    -ms-interpolation-mode: bicubic;	
	}
	
figure {
	width: 100%; 
	margin: .5em auto 2em auto;
	padding: 1em;
	background: #f8f8f8;
	}
	
	figure img { 
		width: 100%;
		margin-bottom: .5em; 
		}
	
	figcaption { 
		color: #104080;
		text-align: center;
		padding:0 0 .5em 0;
		}
	
img.ImageFloatLeft, img.ImageFloatRight { margin: .375em 0 1em 0;	}
	
				
@media all and (min-width: 30em) {	

	img.ImageFloatLeft, img.ImageFloatRight { max-width:65%; }	

}

@media all and (min-width: 40em) {	
	
	img.ImageFloatLeft {
		float: left;
		margin: .375em 3.5% .375em 0;
		max-width:50%;
		}
		
	img.ImageFloatRight {
		float: right;
		margin: .375em 0 .375em 3.5%;
		max-width:50%;
		}
		img.ImageFloatLeft.BlogImage {margin-bottom:2em;}
	
	
}

@media all and (min-width: 60em) {	
		
	img.ImageFloatLeft, img.ImageFloatRight { max-width:33%; }
	
}		
			
	
/* ------------------------------------------------------------------------ SVG's */

svg {
	width: 100%;
	height: 100%;
	}
		
a.SVG { /*this makes links work when wrapped around an svg used as an <object> */
	position: relative;
	display: inline-block; 
	}
	a.SVG:after {
		content: ""; 
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left:0;
		}
		
img[src$=".svg"] { max-width:100%; } /*when using svg as an <img>, this keeps it from doing wonky things in IE when being resized*/
			
.SVGFullWidth  { /*this makes full width inline or external <use> svg's resize properly in IE  */
	width:100%;
	height: 0;
    padding-top: 48%; /*adjust as necessary*/
    position: relative;
	}
	.SVGFullWidth svg {
		position: absolute;
		top: 0;
		left: 0;
		}
		
		
/* ------------------------------------------------------------------------ Video */

video { margin:1em 0 }


/* ------------------------------------------------------------------------ Horizontal Rules */

hr { 
	border:none;
	color: #ddd;
	background: #ddd;
	height:2px;
	margin:1em auto 2em auto;
	}	
	
	hr + h2, hr + h3 { padding-top: 0; }
	hr + .InfoBox { margin-top: 2.5em; }	
	.TableWrapper + hr, table + hr, .InfoBox + hr, .FlexibleIframe + hr { margin-top: 2.5em; }


/* ------------------------------------------------------------------------ Flexible iFrames */

.FlexibleIframe {
	position: relative;
	margin: .5em 0 2em 0;
    padding-bottom: 56.25%;
    padding-top: 30px; 
	height: 0; 
	overflow: hidden;
	}
	.FlexibleIframe iframe,
	.FlexibleIframe object,
	.FlexibleIframe embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
		
.FlexibleIframe.Map { border: 2px solid #ddd; }


/* ------------------------------------------------------------------------ Layout */
	
.Wrapper {
	max-width:80em;
	width:90%;
	margin:0 auto;
	}	
		
@media all and (min-width: 40em) {	
		
	[class*='Col-'] { 
		margin-right: 3.5%;
		float:left; 
		}
		[class*='Col-']:last-child { margin-right: 0; }
				
		.Col-1-3 { width:31%; }	
			.Col-1-3:nth-child(3n) { margin-right: 0; }				
			.Col-1-3:nth-child(3n+4) {clear: both;}		

		.Col-2-3 { width:65.5%; }	
					
		.Col-1-2, .Col-1-4 { width:48.25%;}
			.Col-1-2:nth-child(2n), .Col-1-4:nth-child(2n) { margin-right: 0; }
		
		.Col-3-4 { width:74.125%; }		
		
		.Col-1-6 { width:16.08%; }		
	
		.Col-5-6 { width:80.42%; }	
		
		.NarrowCol { 
			width:65.5%;
			margin:0 auto;
			}	
			
}	

@media all and (min-width: 60em) {		

	.Col-1-4 { width:22.375%; }		
	.Col-1-4:nth-child(2n) { margin-right: 3.5%; }			
	.Col-3-4 + .Col-1-4 { margin-right: 0; }			
	.Col-1-4:nth-child(4n) { margin-right: 0; }			
	.Col-1-4:nth-child(4n+5) {clear: both;}
		
}



/* =============================================================================================
	HEADER
============================================================================================= */

.PrintHeader { display:none; }

header {
    z-index:200;
    background-color: rgba(255, 255, 255, 1);
    overflow:hidden;
	}
	header .Wrapper { position: relative;}

.RightHeader { 
	margin-left:-6%;
	width: 112%; 
	}
		
	.Logo { 
		margin:1em auto ;
		padding: 0;
		display:block;
		width: 200px; 
		max-width: 100%;
		}
		.Logo a { display: block; }
		.Logo img { margin-bottom:0; } 

		
@media all and (min-width: 60em) {	
			
header {
    position: absolute;
    width: 100%;
    top:0;
    left:0;
    background-color: rgba(255, 255, 255, 0.9);
    overflow:visible;
	}
	.ProductDetailPage header { position: relative;	}

	.Logo { 
		margin:1em 0 ;
		float:left;
		}	
		
		.Logo.ErrorPage {
			margin:1em auto;
			float: none;
			}

	.RightHeader {
		margin: 1.5em 0 0 0;
		float:right;
		width: calc(100% - 200px);
		}
}

	
		
/* ------------------------------------------------------------------------ Search */

.Search { border-top: 2px solid #fff; }

.SearchQuery { 
	border: 2px solid #aaa; 
	margin: .5em 1em ;
	background-color: #fff;
	}
            
	.SearchField { 
		float:left;
		width: calc(100% - 38px);
		height: 38px;
		border-right: none;
		border: 0;
		margin:0;
		padding-top: .625em;
		}
	
	.SearchButton {
		font-size: 0;
		width: 38px;
		height: 38px;
		display: block;
		float: left;
		padding: 0;
		margin: 0;
		border:0;
		cursor: pointer;

		background-image: url(../../images/search.svg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 38px;

		-webkit-transition: background 0.5s;
		transition: background 0.5s;
		}
		.SearchButton:hover { background-color: #eee; }


@media all and (min-width: 60em) {	
			
	.Search {border-top: none;}

	.SearchField { font-size: 1em; }

	.SearchQuery { 
		margin:.5em 0 0 .75em; 
		width: 12.5em;
		}

}

@media all and (min-width: 72em) {	
			
	.SearchField { font-size: 1.125em; }

	.SearchQuery { 
		margin-right: 1em; 
		width: auto;
		}

}



/* ------------------------------------------------------------------------ Nav (SmartMenus) - Original css is in Rough folder */

/* ------------------------------------------------- Mobile Core CSS (don't touch!) */

.sm{position:relative;z-index:9999;}
.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0);}
.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
.sm ul{display:none;}
.sm li,.sm a{position:relative;}
.sm a{display:block;}
.sm a.disabled{cursor:not-allowed;}
.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden;}
.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}


/* ------------------------------------------------- Mobile Styling (adapted from Simple Theme) */
 
.sm-simple { background: #222; }

.sm-simple a {
	padding: .75em 1em;	
	padding-right: 3.625em; /* make room for the toggle button (sub indicator) */
	color: #fff;
	font-size: 1.125em;
	font-weight: 300;
	line-height: 1.2;
	text-decoration: none;
	outline: 0;
	}
	
	.sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted,.sm-simple a.current { background: #104080; }
	
	.sm-simple a.current { font-weight: normal; }
		
	.sm-simple a.disabled { 
		background: #666;
		color: #cccccc;
		}
		
		
.sm-simple a span.sub-arrow {
	position: absolute;
	top: 50%;
	margin-top: -17px;
	left: auto;
	right: 4px;
	width: 34px;
	height: 34px;
	overflow: hidden;
	font: 14px/34px monospace !important;
	text-align: center;
	text-shadow: none;
	background: rgba(0, 0, 0, 0.3);
	}	

	.sm-simple a.highlighted span.sub-arrow:before {
		display: block;
		content: '-';
		text-align: center;
		}
		
	
.sm-simple li { 
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	background-image: none;
	}

	.sm-simple > li:first-child { border-top: 0; }
	

.sm-simple ul { background: rgba(0, 0, 0, 0.3); }

	.sm-simple ul a { 
		font-size: 1em;
		padding: .875em 1em;	
		}
	
.sm-simple .mega-menu li {
	font-size: 1em;
	color: #fff; 
	padding: 1em ;
	min-width: 20em;
	}
	
	
@media all and (max-width:60em) and (min-width:0em) { /*This adds a left indent on each level*/
	
	.sm-simple ul a { border-left: 8px solid transparent; }	
		.sm-simple ul ul a { border-left: 16px solid transparent; }		
			.sm-simple ul ul ul a { border-left: 24px solid transparent; }
				.sm-simple ul ul ul ul a { border-left: 32px solid transparent; }
					.sm-simple ul ul ul ul ul a { border-left: 40px solid transparent; }
		
}
	

@media all and (min-width: 60em) {
	
	/* ------------------------------------------------- Desktop Core CSS (don't touch!) */
	
	.sm-simple ul { position: absolute; width: 12em;}
	.sm-simple li { float: left; }
	.sm-simple.sm-rtl li { float: right; }
	.sm-simple ul li, .sm-simple.sm-rtl ul li, .sm-simple.sm-vertical li { float: none; }
	.sm-simple a { white-space: nowrap; }
	.sm-simple ul a, .sm-simple.sm-vertical a { white-space: normal; }
	.sm-simple .sm-nowrap > li > a, .sm-simple .sm-nowrap > li > :not(ul) a { white-space: nowrap; }
	
	
	/* ------------------------------------------------- Desktop Styling (adapted from Simple Theme) */
	 	
	.sm-simple { 
		background-color: transparent;
		float:right;
		}

	.sm-simple > li { border:none; }

		.sm-simple > li > a { 
			color: #222;
			font-size:1em;
			padding: 1.125em .5em 1em .5em;
			}
		
		.sm-simple > li > a:hover, .sm-simple > li > a:focus, .sm-simple > li > a:active, .sm-simple > li > a.highlighted, .sm-simple > li > a.current { 
			background: #fff;
			color: #104080;	
			}

	.sm-simple a.has-submenu { padding-right: 32px; }
	
		.sm-simple a span.sub-arrow {
			margin-top: -8px;
			right: 20px;
			width: 8px;
			height: 16px;
			font: 14px/16px monospace !important;
			background: transparent;
			}
		
			.sm-simple a.highlighted span.sub-arrow:before { display: none; }
			
			.sm-simple > li > a.has-submenu { padding-right: .5em; } /*top level - no sub-arrow*/
	
			.sm-simple > li > a span.sub-arrow { display: none; } /*top level - no sub-arrow*/
	

	.sm-simple ul { background: #222;}

		.sm-simple ul a { 
			font-size: .875em;
			padding: 1em;
			}
	
		.sm-simple ul a.has-submenu { padding-left: 1.75em; }
		
		.sm-simple ul a span.sub-arrow {
			right: auto;
			margin-left: -12px;
			}
			
	
	.sm-simple span.scroll-up,
	.sm-simple span.scroll-down {
		position: absolute;
		display: none;
		visibility: hidden;
		overflow: hidden;
		background: #222;
		height: 2em;
		}
	
		.sm-simple span.scroll-up-arrow, .sm-simple span.scroll-down-arrow {
			position: absolute;
			top: .25em;
			left: 50%;
			margin-left: -8px;
			width: 0;
			height: 0;
			overflow: hidden;
			border-width: 8px;
			border-style: dashed dashed solid dashed;
			border-color: transparent transparent #fff transparent;
			}
			
		.sm-simple span.scroll-down-arrow {
			top: .875em;
			border-style: solid dashed dashed dashed;
			border-color: #fff transparent transparent transparent;
			}
	
}

@media all and (min-width: 72em) {
 
	.sm-simple > li > a { 
		color: #222;
		font-size:1.125em;
		padding: 1em .625em;
		}

		.sm-simple > li > a.has-submenu { padding-right: .625em; } /*top level - no sub-arrow*/

	.sm-simple ul a { font-size: 1em; }
	

}


/* ------------------------------------------------- Mobile Menu/Hamburger Button */

.MainNavButton {
	padding:.75em 1em .5em 1em;
	background: #333;
	color: #fff;
	}

.main-menu-btn {
	font-weight: 300; 
	font-size: 1.25em;
	line-height: 1.4;	
	margin:0;
	position: relative;
	display: inline-block;
	width: 100%;
	height: 28px;
	text-indent: 2em;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	/* hamburger icon */
	.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
		position: absolute;
		top: 50%;
		left: 2px;
		height: 2px;
		width: 24px;
		background: #bbb;
		-webkit-transition: all 0.25s;
		transition: all 0.25s;
		}
		
		.main-menu-btn-icon:before {
			content: '';
			top: -7px;
			left: 0;
			}
		
		.main-menu-btn-icon:after {
			content: '';
			top: 7px;
			left: 0;
			}
		
		/* x icon */
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon {
			height: 0;
			background: transparent;
			}
			
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon:before {
			top: 0;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			}
			
		#main-menu-state:checked ~ .MainNavButton .main-menu-btn .main-menu-btn-icon:after {
			top: 0;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			}
			
		/* hide menu state checkbox offscreen (so it stays visible to screen readers) */
		#main-menu-state {
			position: absolute;
			top: -99999px;
			}
			
		/* hide the menu in mobile view */
		#main-menu-state:not(:checked) ~ #main-menu { display: none; }
		
		#main-menu-state:checked ~ #main-menu { display: block; }
		

@media all and (min-width: 60em) {
	
.MainNavButton { display: none; }
	
	/* hide the button in desktop view */
	.main-menu-btn {
		position: absolute;
		top: -99999px;
		}
		
	/* always show the menu in desktop view */
	#main-menu-state:not(:checked) ~ #main-menu {
		display: block;
		}
	
}



/* =============================================================================================
	MAIN CONTENT AREA
============================================================================================= */

/* ------------------------------------------------------------------------ Layout */

main:focus, .Anchor:focus { outline: none; }
	
	aside { margin-top:1em; }	
		
@media all and (min-width: 40em) {			
			
	article {
		float:left;
		width:65%;
		}
		
	aside {
		float:right;
		width:31.5%;
		padding-top:0;
		margin-top:0;
		border-top:none;
		}
					
}


/* ------------------------------------------------------------------------ Sections */

section { padding: 2.5em 0; }

	section.Grey {
		background: rgb(244,244,244); /* Old browsers */
		background: -moz-linear-gradient(top,  rgba(244,244,244,1) 0%, rgba(238,238,238,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top,  rgba(244,244,244,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom,  rgba(244,244,244,1) 0%,rgba(238,238,238,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
		}

		section.Grey .IconCallout { border-bottom: 2px solid #fff; }

	section.Blue {
		background-color: #104080;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		color: #fff;
		}
		section.Blue { background-image: url(../../images/blue-bg.jpg); }

		section.Blue h2 {color: #fff; }

		section.Blue input, section.Blue select, section.Blue textarea { border: 2px solid #fff; }

		section.Blue .ButtonFullWidth .Button { border-color: transparent; }

		/*section.Blue .Button {
			color: #104080;
			background-color: #ace5ff;
			background-image: url(../../images/arrow-right-blue.svg);
			}
			section.Blue .Button:hover, section.Blue .Button:focus  { background-color: #fff; }

			section.Blue .ButtonFullWidth {background:#ace5ff;}

				section.Blue .ButtonFullWidth .Button { 
					border:none;
					background-color: transparent;
					}

					section.Blue .ButtonFullWidth:hover, section.Blue .ButtonFullWidth:focus {background:#fff;}*/

				



@media (min-width: 40em) {

	section.Grey .IconCallout { border-bottom: none; }

}

@media all and (min-width: 60em) {	

	section { padding: 3.5em 0; }

}

		
				
/* ------------------------------------------------------------------------ Hero */

.Hero {
	padding:0;
	overflow:hidden;
	position: relative;
	color: #fff; 
	}

	.Hero .slick-slide:hover .HeroImage, .Hero .slick-slide:focus .HeroImage { opacity: 1; }

	.HeroImage {
		width: 100%;
		height: 100%;
		position: relative;
	    padding-bottom: 50%;

	    background-position: center;	
		background-size: cover;
		background-repeat: no-repeat;

		-webkit-transition: opacity 0.5s;
			transition: opacity 0.5s;
		}


	.Hero .HeroDescription { 
		margin: 0 auto;
		position: relative;
		width: 100%;
		}

		.Hero .HeroText { 
			padding:.75em 1.5em; 
			text-align: center; 
			background: #104080; 
		}

		.Hero a {
			color: #fff;
			text-decoration: none;
			font-weight: 300;
			width: 100%;
			height: 100%;
			}
			.Hero h1, .Hero a h1 { 
				margin:0;
				color: #fff;
				font-weight: 400;
				padding-bottom:0;
				}

	
@media all and (max-width: 40em) {
	.Hero .Wrapper {
		width: 100%
	}
}

@media all and (min-width: 40em) {	

	.Hero { border-bottom: none; }

	.Hero .Wrapper {
		display:flex;
		align-items: flex-end;
		height:100%;
	}

	.Hero .HeroText {
		text-align: left;
		background: none;
		padding:0; 
		width: 75%;
		}

		.Hero h1, .Hero a h1 { text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.375);}
	
	.HeroImage {
		position: absolute;
	    padding-bottom: 0;
	    top:0;
	    left:0;
		}

	.Hero .ButtonFullWidth { 
		margin: 1em 0 .5em 0;
		display: inline-block;
		}

	
	.slide-gradient {
		width: 100%;
		height: 100%;
		position: absolute;
		background-color: rgba(16,64,130,0.375);
		}
		
	.Hero .HeroDescription { margin: 10em 0 3em 0; }
		.HomePage .Hero .HeroDescription { 
			width: 85%;
			margin: 10em auto 3em auto;
			}	
			
}

@media all and (min-width: 60em) {	

	.Hero .HeroText {width: 62%; }

	.Hero .HeroDescription {  margin: 16em 0 4em 0; }
		.LandingPage .Hero  .HeroDescription { margin: 20em 0 4em 0; }
		.HomePage .Hero  .HeroDescription { margin: 20em auto 4em auto; }

	.slide-gradient {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#104082+0,ffffff+100 */
		background: rgb(16,64,130); /* Old browsers */
		/* IE9 SVG, needs conditional override of 'filter' to 'none' */
		background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMTAwJSIgeDI9IjEwMCUiIHkyPSIwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjMTA0MDgyIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
		background: -moz-linear-gradient(45deg, rgba(16,64,130,0.625) 0%, rgba(255,255,255,0) 60%); /* FF3.6-15 */
		background: -webkit-linear-gradient(45deg, rgba(16,64,130,0.625) 0%,rgba(255,255,255,0) 60%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(45deg, rgba(16,64,130,0.625) 0%,rgba(255,255,255,0) 60%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#104082', endColorstr='#ffffff',GradientType=1 ); /* IE6-8 fallback on horizontal gradient */
		}

}

@media all and (min-width: 88em) {	

	.Hero .HeroText {width: 50%; }

	.Hero  .HeroDescription { margin: 24em 0 4em 0; }
		.LandingPage .Hero  .HeroDescription { margin: 30em 0 4em 0; }
		.HomePage .Hero  .HeroDescription { margin: 30em auto 4em auto; }

}


@media all and (min-width: 100em) {	

	.HomePage .Hero .HeroDescription { width: 100%; }	
}


/* ------------------------------------------------------------------------ Product Detail */

.Hero.ThreeDImage {
	width: 100%;
	height: 0;
	padding-bottom: 50%;
	border-bottom: none;
	}



/* ------------------------------------------------------------------------ Icon Callouts */	

.IconCalloutGroup { margin: -1em 0 0 0; }

	.IconCallout {
		border-bottom: 2px solid #eee;
		margin: 0 auto 2em auto ;
		padding-bottom: 2em;
		text-align:center;
		}
		
		.Col-1-5:last-child .IconCallout { 
			border-bottom: none; 
			margin-bottom:0;
			}

				
		.IconCallout a { 
			display: block;
			width: 100%;
			color: #333;
			position: relative;
			text-decoration:none;
			}
			
			.IconCallout .CalloutImage { 
				font-size: .75em;						
				-webkit-transform: translateZ(0);
				transform: translateZ(0);
				-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-osx-font-smoothing: grayscale;
				-webkit-transition-duration: 0.3s;
				transition-duration: 0.3s;
				-webkit-transition-property: transform;
				transition-property: transform;
				-webkit-transition-timing-function: ease-out;
				transition-timing-function: ease-out;
				}

			.IconCallout .CalloutImage svg { 
				fill: #1694ce;
				margin: 0 auto;
				display: block;				
				}
				.IconCallout .CalloutImage.WaistHigh svg { 
					width: 5.313em; 
					height: 6.563em;
					margin-top: 1.5em; 
					}
				.IconCallout .CalloutImage.FullHeight svg { 
					width: 7em; 
					height: 8em;
					}
				.IconCallout .CalloutImage.AssetProtection svg { 
					width: 10em; 
					height: 6.563em;
					margin-top: 1.5em;
					}
				.IconCallout .CalloutImage.CrowdControl svg { 
					width: 6.313em;
					height: 7.125em;
					margin-top: 0.913em;
					}
					
				.IconCallout .CalloutImage.GateSolutions svg { 
					width: 7em;
					height: 6.563em;
					margin-top: 1.5em;
					}

				.IconCallout .CalloutImage.Applications img { 
					width: auto; 
					height: 6.563em !important;
					margin: 0;
					}
					
					
			.IconCallout a:hover .CalloutImage {				
				-webkit-transform: translateY(-8px);
					transform: translateY(-8px);
				}		
				.IconCallout a:hover .CalloutImage  svg, .IconCallout a:focus .CalloutImage  svg { fill: #104080 ; }
				
		
			.IconCallout .CalloutText { 
				line-height: 1.2 ;	
				margin-top: 1em;
				font-size: 1.25em;
				}
	
		
@media all and (min-width: 40em) {
	
	.IconCalloutGroup { margin: 1em 0; }

		.HomePage .IconCalloutGroup { margin: .5em 0 3.5em 0 ; }	

		

		.IconCalloutGroup .Col-1-5 { width:17.2%; }	

			.IconCalloutGroup .Col-1-5:last-child { margin-right: 0; }

		.ProductDetailPage .IconCalloutGroup {text-align: center;}

			.ProductDetailPage .IconCalloutGroup .Col-1-5 {
				float:none;
				margin: 0 1.75%;
				width:15.75%;
				display: inline-block;
				}

		.IconCallout { 
			padding-bottom: 0;
			border-bottom:none;
			margin-bottom: 0;
			}
			
			.IconCallout .CalloutImage { font-size: .6em; }

	.ApplicationsGroup {  	
		display: flex;
		flex-flow: row wrap; 
		justify-content: space-between;
		}

		.ApplicationsGroup .IconCallout{
		    flex-basis: 0;
		    flex-grow: 1;
		    max-width: 100%;
			}
		
}

@media all and (min-width: 60em) {

	.HomePage .IconCalloutGroup { margin-bottom: 4.5em ; }

	.ProductDetailPage .IconCalloutGroup .Col-1-5 {width:16%;}

		.IconCallout .CalloutImage { font-size: .75em; }

}

@media all and (min-width: 70em) {

	.IconCallout .CalloutImage { font-size: .875em; }

}



@media all and (min-width: 88em) {	

	.IconCallout .CalloutImage { font-size: 1em; }

	.IconCallout .CalloutText { font-size: 1.125em;	}
		
}


/* ------------------------------------------------------------------------ Callouts */	

/*.CalloutGroup { margin: .5em 0 1em 0; }

	.Callout a { 
		display: block;
		width: 100%;
		padding-bottom:100%;
		height:0;
		margin: 0 auto 1.5em auto;
		color: #fff;
		text-align:center;
		position: relative;
		background: #104080;
		}
		.Callout a:hover { background: #222; }

    .Callout .CalloutText { 
		font-size: 1.75em;
		line-height: 1.2;	
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		}*/
		
	

/* ------------------------------------------------------------------------ Get in Touch form */

.GetInTouchForm, .CareersForm { margin-bottom: 1em ; }

.GetInTouchForm .Col-1-3 { 
	width:100%; 
	margin-right: 0;
	float:none;
	}		

	.GetInTouchForm .ButtonFullWidth, .CareersForm .ButtonFullWidth { margin-top: 1em; }		

@media all and (min-width: 40em) {		

	.CareersForm .ButtonFullWidth { margin-top: 2em; }	
}

@media all and (min-width: 60em) {		

	.GetInTouchForm, .CareersForm { margin-top: -1em; }
			
		.GetInTouchForm .Col-1-3 { 
			width:31%; 
			margin-right: 3.5%;
			float:left; 
			}	
			.GetInTouchForm .Col-1-3:nth-child(3n) { margin-right: 0; }				
			.GetInTouchForm .Col-1-3:nth-child(3n+4) {clear: both;}

	.GetInTouchForm .ButtonFullWidth { margin-top: 1.625em; }	

}



/* ------------------------------------------------------------------------ Featured Product */

.FeaturedProduct { text-align:center;}

	.HomePage .FeaturedProduct { margin-top: 2.5em;}

	.FeaturedProduct a { 
		text-decoration: none;
		color: #222;
		font-weight: 300;	
		}
		.FeaturedImage {
			display:block;
			margin:0 auto 2em auto;
			max-width: 100%;
			max-height: 18em;
			}

			.FeaturedProduct a:hover img{ opacity: .8; }
			.FeaturedProduct a:hover h2 { color: #1694ce ; }

			.FeaturedProduct a:hover .Button, .FeaturedProduct a:hover .Button  { 
				background-color: #104080;
				}	

@media all and (min-width: 26em) {

	.FeaturedImage {max-width: 70%;}

}

@media all and (min-width: 40em) {

	.FeaturedProduct { text-align:left;}

	.FeaturedProduct .FeaturedWrapper { display: flex;	}

		.FeaturedImage {max-width: 100%;}

		.FeaturedProduct .Col-2-3 { 
			margin: auto;
			align-self: center;
			}

}

@media all and (min-width: 60em) {

	.HomePage .FeaturedProduct { margin-top: 3.5em;}

		.FeaturedImage {
			max-width: 92%;
			max-height: 22em;
			margin-bottom: 1em;
			}
		
}



/* ------------------------------------------------------------------------ Product Listing */

.ProductListingGroup { 
	margin-top: -2em;
	text-align:center;
	}

	.ProductListing { 
		padding: 2em 0 1em 0;
		border-bottom: 2px solid #ddd;
		}
		.Col-1-3:last-child .ProductListing {border-bottom:0;}

	.ProductListingGroup a { 
		text-decoration: none;
		color: #222;
		font-weight: 300;	
		display: block;
		}
		.ProductListingImage {
			display:block;
			margin:0 auto 1.5em auto;
			width: 100%;
			}

			.ProductListingImage img { 
				max-width: 100%;
				max-height: 18em;
				margin:auto; 
				align-self: center;
				}

			.ProductListingGroup a:hover { 
				-webkit-transform: translateY(-8px);
					transform: translateY(-8px);
				}

			.ProductListingGroup a:hover img { opacity: .8; }
			

@media all and (min-width: 26em) {

	.ProductListing {padding: 2em 5% 1em 5%;}

		.ProductListingImage { width: 80%;}

}

@media all and (min-width: 40em) {

	.ProductListingGroup { margin-top: 0; }

		.ProductListingPage .ProductListingWrapper { /*remove border-bottom on last line of listings*/
			margin-bottom: -2px; 
			overflow:hidden;
			}

		.ProductListingGroup .Col-1-3 { 
			width:50%;
			margin:0;
			}
			.ProductListingGroup .Col-1-3:nth-child(3n+4) {clear: none;}
			.ProductListingGroup .Col-1-3:nth-child(2n+2) .ProductListing { border-right: 2px solid #fff; }	

		.ProductListing { 
			border-right: 2px solid #ddd;
			border-bottom: none;

			padding: 2.25em 5% 1em 5%;
			margin-bottom: -2px; 
			overflow:hidden;
			}

		.ProductListingImage {
			width: 85%;
			margin-bottom: 2em;
			display: flex;
			}

}

@media all and (min-width: 60em) {

	.ProductListingGroup .Col-1-3 { width:33%; }					
		.ProductListingGroup .Col-1-3:nth-child(3n+4) {clear: both;}	
		.ProductListingGroup .Col-1-3:nth-child(2n+2) .ProductListing { border-right: 2px solid #ddd; }	
		.ProductListingGroup .Col-1-3:nth-child(3n) .ProductListing { border-right: 2px solid #fff; }	

}

@media all and (min-width: 80em) {

	.ProductListing {padding: 2.75em 10% 1.5em 10%;}

}



/* ------------------------------------------------------------------------ Product Detail */

/* ------------------------------------------------- Product Detail Sub Nav */

.ProductDetailNav { 
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0c5693+0,104080+100 */
	background: rgb(12,86,147); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(12,86,147,1) 0%, rgba(16,64,128,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(12,86,147,1) 0%,rgba(16,64,128,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(12,86,147,1) 0%,rgba(16,64,128,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c5693', endColorstr='#104080',GradientType=0 ); /* IE6-9 */
	width: 100%;
	z-index:2500;
	}

	/* This class is added on scroll */
	.Fixed .ProductDetailNav {
		position: fixed; 
		top: 0; 
		width: 100%;
		}
	

	.ProductDetailNav .Wrapper { width: 100%; }

	.ProductDetailNav ul { 
		padding: 0;
		text-align:center;	
		}

		.ProductDetailNav li { 
			padding: 0;
			background-image: none;		
			display:inline-block;
			width: 16%;	
			}
		
		.ProductDetailNav a {	
			position: relative;
			display: block;
			width: 100%;
			color: #fff;
			text-align: center;
			text-decoration: none;
			padding: .625em 0 .375em 0;
			
			-webkit-transition: all 0.5s;
				transition: all 0.5s;
			}			
			.ProductDetailNav a:hover { 
				background-color: #1694ce; 
				color: #fff; 
				}
				
			.ProductDetailNav svg { 
				height: 1.5em; 
				fill: #fff; 
				display: block;
				}

			.ProductDetailNav .NavText { 
				margin-top: .25em;
				font-size: .5em;			
				display: block;			
			 	}


@media only screen and (min-width: 26em) {
	
	.ProductDetailNav svg { height: 1.625em; }
		
	.ProductDetailNav .NavText { font-size: .625em; }	
	
}

@media only screen and (min-width: 40em) {
			
	.ProductDetailNav .NavText { font-size: .75em; }	
	
}


@media only screen and (min-width: 60em) {

	.ProductDetailNav .Wrapper { width: 90%; }
		
		.ProductDetailNav svg { height: 1.75em; }

		.ProductDetailNav .NavText { 
			font-size: .875em;
			font-weight: 300;
			}

}


/* ------------------------------------------------- Product Detail Misc */

h2.ProductDetail { 
	text-align: center;
	margin-bottom:.25em;
	}

	h2.ProductDetail svg {
		height: 1.154em; 
		fill: #1694ce; 
		display: block;
		margin-bottom: .5em;
		}


/* ------------------------------------------------- Product Detail Documentation Section */

.Documentation ul { padding: 0; }

 	.Documentation.FloatedColumns li {
		padding: 0;
		background-image: none;		
		}


		.Documentation a { 
			display: block;
			color: #222;
			text-decoration: none;
			font-weight: 300;
			padding:1em 0;
			cursor: pointer;

			-webkit-transition: all 0.5s;
				transition: all 0.5s;
			}

			.Documentation svg { 
				width:2em ;
				height: 2.4em; 
				fill: #1694ce; 
				display: block;
				float:left;
				margin:0 .5em .5em 0 ;

				-webkit-transform: translateY(-20%);
					transform: translateY(-20%);

				-webkit-transition: all 0.5s;
				transition: all 0.5s;
				}

				.Documentation.LinksList svg { 
					width:1.333em; 
					height: 1.611em; 

					-webkit-transform: translateY(0);
					transform: translateY(0);
				
					margin:0 .5em 0 0 ;
					}


				.Documentation a:hover, .Documentation a:focus { color:#104080 ; }
					.Documentation a:hover svg, .Documentation a:focus svg { fill:#104080 ; }


@media all and (min-width: 40em) {

	.Documentation.FloatedColumns li {
		margin-right: 3.5%;
		float:left; 
		width:48.25%;	
		}
		.Documentation.FloatedColumns li:last-child, 
		.Documentation.FloatedColumns li:nth-child(2n) { margin-right: 0; }

}

@media all and (min-width: 80em) {

	.Documentation.FloatedColumns li { width:31%; }	

		.Documentation.FloatedColumns li:nth-child(2n) { margin-right: 3.5%; }

		.Documentation.FloatedColumns li:nth-child(3n) { margin-right: 0; }
		.Documentation.FloatedColumns li:nth-child(3n+4) {clear: both;}	

		

}


/* ------------------------------------------------- Multi Columns */

@media all and (min-width: 40em) {

	.ProductDetailSpecs ul {
	    -webkit-column-count: 2; /* Chrome, Safari, Opera */
	    -moz-column-count: 2; /* Firefox */
	    	column-count: 2;

	    -webkit-column-gap: 2em; /* Chrome, Safari, Opera */
	    -moz-column-gap:  2em; /* Firefox */
	    	column-gap:  2em;
		}

		.ProductDetailSpecs li { 
			padding: 0 0 0 1em;
			margin-bottom:.5em;
			background-position: left .5em;
			/*display:inline-block;*/
			}	

}


					


/* ------------------------------------------------------------------------ Back to Top Resources */

.Top a {
	display: block;
	background-color: #104080;
	width: 2.5em;
	height: 2.5em;
	margin: 1em auto;
	text-align: center;
	}
	.Top svg { 
		width: 22px; 

		fill: #fff;
		-webkit-transition: fill 0.5s;	
			transition: fill 0.5s;
		}



/* ------------------------------------------------------------------------ Paging Blog */

.Paging { 
	/*text-align: center;*/
	margin-bottom: 1em; 
	}
    .Paging a { 
    	font-size: 1.25em;
    	padding:0 .5em;
    	margin:0;
    	font-weight: normal; 
    	display: inline-block; 
    	color: #104080; 
    	text-decoration: none;
    	cursor:pointer;
    	}	
    	.Paging a.PagingArrows {font-weight: bold;}

        .Paging a:hover, .Paging .Current { 
        	background-color: #222;   	
        	cursor:pointer;
        	}
        	.Paging a.PagingArrows:hover { 
	        	background-color: transparent;   	
	        	color: #222;
	        	}

        	.Paging .Current { 
        		color: #fff;
        		background-color: #1694ce; 
        		}

		


/* ------------------------------------------------------------------------ InfoBox Modules */

/* ------------------------------------------------- Base Styles */

.InfoBox {	
	background: #eee;
	margin:.5em 0 2em 0;
	}	
	.InfoBox.Padded, .InfoBox .Padded { padding: 1.75em 2em .75em 2em; } /*If extra padding is needed*/
	
	.InfoBox > h2:first-child, .InfoBox > h3:first-child { padding-top: 0; }
		
	.Grey .InfoBox { background: #f8f8f8; }
	
	
/* ------------------------------------------------- Title Module  */	

.InfoBox h3.Header { 
	padding: 0;
	color: #fff;		
	background: #104080;
	}				
	.InfoBox h3.Header a {
		color: #fff; 
		background: #104080;
		text-decoration: none;
		font-weight: normal;
		padding:.625em 1.125em;
		display: block;
		}
		.InfoBox h3.Header a:hover { 
			text-decoration: none;
			background: #222; 
			}
			
		.InfoBox h3.Header.NoLink { padding:.625em 1.125em; } /* If the title has no link in it */
			


/* ------------------------------------------------- List of Links Module */	

.InfoBox ul.LinksList { padding: 0; }
	
	.InfoBox ul.LinksList li { 
		margin:0; 
		padding: 0;
		border-bottom:1px solid #fff;
		background-image: none; 
		}
		.InfoBox ul.LinksList li:last-child { border-bottom: none; }
												
		.InfoBox ul.LinksList li a {  		
			display: block;
			width: 100%;
			padding:.875em 1.5em;
			text-decoration:none;
			
			-webkit-transition: background 0.5s;
				transition: background 0.5s;
			}
			.InfoBox ul.LinksList li a:hover { 
				background-color: #f8f8f8;
				color: #104080;
				}
				.Grey .InfoBox ul.LinksList li a:hover { background-color: #fff; }
				
				.InfoBox ul.LinksList li ul {
					border-top: 1px solid #fff;
					margin: 0;
					padding:0; 
					}
														
					.InfoBox ul.LinksList li li a { 
						font-weight: normal;
						padding-left: 2.5em;
						
						background: url(../../images/arrow-right-grey.svg) no-repeat 1.5em 1.25em;
						background-size: 6px;
						}
				
						.InfoBox ul.LinksList li li li a { 
							padding-left: 3.5em; 
							background-position: 2.5em 1.25em;
							}
							
							.InfoBox ul.LinksList li li li li a { 
								padding-left: 4.5em; 
								background-position: 3.5em 1.25em;
								}
								
								.InfoBox ul.LinksList li li li li li a { 
									padding-left: 5.5em;
									background-position: 4.5em 1.25em;
									}
									
															
/* ------------------------------------------------- SideNav Module - variation on LinksList module */

.SideNav, .Grey .SideNav {	
	background: #104080; 
	margin-top: 0;
	}	
	
	.SideNav h3.Header a { background: #222; }	
		.SideNav h3.Header a:hover { background: #104080; }
		
	.SideNav ul.LinksList li { border-bottom: 1px solid rgba(255, 255, 255, 0.25); }
			
		.SideNav ul.LinksList li a { color: #fff; }
		
			.SideNav ul.LinksList li a:hover, .Grey .SideNav ul.LinksList li a:hover { 
				background: #222; 
				text-decoration: underline; 
				}
				
				.SideNav ul.LinksList li ul { border-top: 1px solid rgba(255, 255, 255, 0.25); }
					

		.SideNav ul.LinksList li li { background: rgba(0, 0, 0, 0.1); }
		 
			.SideNav ul.LinksList li li a { background-image: none; }
									
				.SideNav ul.LinksList li li a, .SideNav ul.LinksList li li li a, .SideNav ul.LinksList li li li li a, .SideNav ul.LinksList li li li li li a { padding-left: 1.5em; }
																				

/* ------------------------------------------------- Accordions Module */

.InfoBox .Accordion { 
		margin: 0;
		padding:0;
		overflow:hidden;	
		list-style: none; 
		}		
		.InfoBox .Accordion dt { 
			margin:0; 
			padding: 0;
			border-bottom:1px solid #fff;
			position:relative;			
			}
				
			.InfoBox .Accordion dt a {  		
				display: block;
				width: 100%;
				padding: .875em 1.5em .875em 3.125em;
				font-weight: normal;
				text-decoration:none;
				color: #104080;
				
				background-image: url(../../images/arrow-right-grey.svg);
				background-repeat: no-repeat;
				background-position: 1.5em 1.25em;
				background-size: 10px;
				
				-webkit-transition: background-color 0.5s;
					transition: background-color 0.5s;
				}
				.InfoBox .Accordion dt a:hover { 
					background-color: #f8f8f8; 
					text-decoration:underline; 
					}
					.Grey .InfoBox .Accordion dt a:hover { background-color: #fff; }
					
					.InfoBox .Accordion dt.Active a { 
						color: #fff;
						font-weight:normal;
						
						background-color: #104080;
						background-image: url(../../images/arrow-down-white.svg);
						background-position: 1.5em 1.5em;
						background-size: 16px;
						}
						.Grey .InfoBox .Accordion dt.Active a:hover { background-color: #104080; }
						.InfoBox .Accordion dt.Active a:focus { outline: none; } 
					
	.InfoBox .Accordion dd {		
		margin: 0 ;
		padding:  1em 1.5em .75em 1.5em ;
		display: block;
		border-bottom:1px solid #fff;
		background: #f8f8f8;
		}
		.Grey .InfoBox .Accordion dd { background-color: #fff; }
			
	
/* ------------------------------------------------------------------------ Photo Gallery */

.Gallery { margin:.5em 0 1em 0; }

	.GalleryItem { margin-bottom: 1.5em; }
	
		.GalleryItem a { 
			display: block;
			text-decoration: none;
			}
	
		.GalleryItem .Image {
			display: block;	
			width: 100%;
			height: 12em;
			
			background-position: center center;
			background-repeat: no-repeat;
			background-size: cover;
			}
	
		.GalleryItem .Caption {
			display: block;
			width: 100%;
			text-align: center;
			text-decoration: none;
			background: #104080;
			padding: .75em 1.5em;
			color: #fff;
			
			-webkit-transition: all 0.5s;
				transition: all 0.5s;
			}
			.GalleryItem a:hover .Caption { background: #222; }
	

/* ------------------------------------------------------------------------ Tables */

table {
    border-collapse: collapse;
    border-spacing: 0;
	border:none; 
	width:100%;	
	margin:.5em 0 2em 0;
	overflow:auto;
	}	
	table[style] {width:100% !important; }	
	
	tr {
		background: #fff;
		border: none;
		border-bottom:2px solid #eee;
		}		
		tr:nth-child(odd) { background: #f8f8f8; }
	
	th, td {
		text-align: left;
		vertical-align: top;
		font-size: 0.813em;	
		padding:1.25em 1.5em ;
		}	
			
		th {
			background: #104080;
			color: #fff;
			font-weight:normal;
			}
			

/* ------------------------------------------------- Basic Table Responsive Tables */

@media all and (max-width:60em) and (min-width:0) {
	
	.TableWrapper {
		margin: .5em 0 2em 0;
		max-height: 320px;
		overflow: auto;
			-webkit-overflow-scrolling: touch;
		}
		.TableWrapper table { margin: 0; }
		
		
		/* jQuery Basic Table - Author: Jerry Low */

		table.bt thead,
		table.bt tbody th {
		  display: none;
		}
		
		table.bt tfoot th,
		table.bt tfoot td,
		table.bt tbody td {
		  border: none;
		  display: block;
		  vertical-align: top;
		}
		
		table.bt tfoot th:before,
		table.bt tfoot td:before,
		table.bt tbody td:before {
		  content: attr(data-th) ": ";
		  font-weight: normal;
		  width: 6.5em;
		  display: inline-block;
		}
		
		table.bt tfoot th.bt-hide,
		table.bt tfoot td.bt-hide,
		table.bt tbody td.bt-hide {
		  display: none;
		}
		
		table.bt tfoot th .bt-content,
		table.bt tfoot td .bt-content,
		table.bt tbody td .bt-content {
		  vertical-align: top;
		  width: calc(100% - 7.5em); 
		}
		
		table.bt tfoot th,
		table.bt tfoot td,
		table.bt tbody td {
		  padding: .75em 1em;
		  border-bottom:1px solid #eee;
		}
		
		table.bt tfoot th:before,
		table.bt tfoot td:before,
		table.bt tbody td:before {
		  color: #104080;
		  margin-right: 1em;
		  padding: 0 ;
		}
		
		table.bt tfoot th .bt-content,
		table.bt tfoot td .bt-content,
		table.bt tbody td .bt-content {
		  display: inline-block;
		  padding: 0;
		}
		
		table.bt tfoot th:first-of-type:before,
		table.bt tfoot th:first-of-type .bt-content,
		table.bt tfoot td:first-of-type:before,
		table.bt tfoot td:first-of-type .bt-content,
		table.bt tbody td:first-of-type:before,
		table.bt tbody td:first-of-type .bt-content {
		  height: 100%;
		}
		
}


/* ------------------------------------------------------------------------ Forms */
	
hr.Form { margin-top: 3.5em; }

.Error, .Error[style] {
	color: #ca0904 !important;
	font-size: .875em;
	font-weight:bold;
	}
	.Blue .Error[style] { color: #ffaba9 !important; }
	
.RadioCheckHeader {
	margin-top:.5em;
	padding-bottom:.5em;
	font-size: 1.25em;
	line-height: 1.4;
	}
	
.RadioCheckBox { 
	background: #f4f4f4;
	padding: 1em ;
	margin-bottom: 1.5em;
	}
	
.Other {margin: 0 0 .5em 1.5em; }

.RadioTable {width: auto; }

	.RadioTable td {
		padding: 0;
		border: none;
		font-size: 1em;
		}
	
label {
	display:none; 
	margin: 1.125em 0 0.25em 0;
	line-height: 1.4;
	}	
	label.Show {display: block; }
	
	label.RadioCheck, .RadioTable td label {
		display:inline-block; 
		margin: 0 0 0.5em 0;
		width:85%;	
		line-height: 1.4;
		}
		.RadioTable td label {
			margin-left: .25em; 
			width: auto;
			}
			
		label.RadioCheck.Last {margin-bottom:0; }
	
input, select, textarea {
	margin-top: 1em;
	border: 2px solid #ddd;
	border-radius: 0;
	box-shadow:none;
	background: #fff;
	font: 300 1em/1.6 'Open Sans', Arial, Helvetica, sans-serif; 
	color: #333;
	width: 100%;
	padding: .75em 1em ; 
		
	-webkit-transition: border-color 0.5s;	
		transition: border-color 0.5s;
	}
		
	/* all */
	::-webkit-input-placeholder {  
		font-size: 1em; 
		color: #222;
		}

	::-moz-placeholder {  
		font-size: 1em; 
		color: #222;
		} /* firefox 19+ */

	:-ms-input-placeholder { /* ie */
		font-size: 1em; 
		padding: .75em 1em ;
		color: #222;
		} 
	input:-moz-placeholder {  
		font-size: 1em; 
		color: #222;
		}
	

	.SelectStyle {
	    margin-top: 1em;
	    width: 100%;
	    overflow: hidden;
	    background: #fff;
	    background: #fff url("../../images/dropdown-arrow.svg") no-repeat 100% 50% ;
	    background-size: 55px 50px;
		}

		.SelectStyle select {
			margin-top: 0;
			padding-right: 3.25em;
		    box-shadow: none;
		    background: transparent;
		    background-image: none;
		    
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    	appearance: none;
			}
			.SelectStyle select::-ms-expand { display: none; }

	textarea { 
		height: 12.875em;
		width:100%;
		display: block;
		}
		textarea.Description { height: 20em; }

	input[type="image"] {
		height: auto;
		width:auto;
		padding: 0;
		background:transparent;
		vertical-align:top;
		margin-top:.375em;
		}
		
		input[type=checkbox], input[type="radio"] { 
			opacity:0; 
			position:absolute; 
			left:-9999px; 
			}

		input[type=checkbox] + label.Checkbox, input[type=radio] + label.Radio {
			padding-left:1.75em;
			height:22px; 
			display:inline-block;
			line-height:22px;
			background-repeat:no-repeat;
			background-position: 0 0;
			vertical-align:middle;
			cursor:pointer;
			}

		input[type=checkbox]:focus + label.Checkbox, input[type=radio]:focus + label.Radio {  background-position: 0 -22px; }
		
		input[type=checkbox]:checked + label.Checkbox, input[type=radio]:checked + label.Radio {  background-position: 0 -44px; }
				
		label.Checkbox, label.Radio {
			font-size: 1em;
			background-size: 22px 66px;
			-webkit-touch-callout: none;
			-webkit-user-select: none;
			-khtml-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;	
			}
			
			label.Checkbox { background-image:url(../../images/checkbox.svg); }				
			label.Radio { background-image:url(../../images/radio.svg); }
			
@media all and (min-width: 60em) {
	
	input, select, textarea { 
		margin-top: 1.5em;
		font-size: 1.125em; 
		}


	label, .RadioCheckHeader { font-size: 1.125em; }

		.RadioCheckHeader { 
			margin: 1.125em 0 .25em 0; 
			padding-bottom: 0; 
			}
			/*.RadioCheckHeader.Budget {float: left; }
			.RadioCheckHeader.BudgetLanding {margin:1em 0 .75em 0; }*/

				
		label.Checkbox, label.Radio { font-size: 1.25em; }
		input[type=checkbox] + label.Checkbox, input[type=checkbox] + label.Radio { padding-left:1.5em; }
				
		:-ms-input-placeholder { padding: 0.938em 1.125em 1.313em 1.125em; } /* ie */

	.SelectStyle { margin-top: 1.75em; }
				
}
		
	
@media all and (max-width:50em) and (min-width:40em) {
	
	label.RadioCheck, .RadioTable td label { width:75%;	}
		
}
			
@media all and (max-width:64em) and (min-width:0) {
	
	input[type="text"], input[type="submit"], textarea { -webkit-appearance: none; }
	
}
			

/* =============================================================================================
	FOOTER
============================================================================================= */

.PrintFooter { display:none; }

footer { 
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f8f8f8+0,eeeeee+100 */
	background: rgb(244,244,244); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(244,244,244,1) 0%, rgba(238,238,238,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(244,244,244,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(244,244,244,1) 0%,rgba(238,238,238,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */
	padding: 2.5em 0 ;
	}
	
	footer a { text-decoration:none;}

		footer .Address a {
			font-weight: 300;
			font-weight: 300;
			color: #222;
			}
			footer .FooterLinks a {
				font-size: 1.125em;
				font-weight: normal;
				margin: 0 .25em;
				color: #104080;
				text-transform: uppercase;
				}

			footer a:hover,footer .FooterLinks a:hover { color:#1694ce; }

		footer .Copyright { 
			font-size: .875em; 
			text-align: center;
			color: #888;
			}

		.RKD {
			width: 99px; 
			height: 18px;
			background-size:100%;
			margin:0 auto 1em auto;
			}
				
				
		.Social { 
			margin: 1em 0 3em 0;
			text-align: center;
			}
			
			.Social div {display: inline-block;}
		
			.Social a {
				display: block;
				background-color: #1694ce;
				width: 2.5em;
				height: 2.5em;
				margin: 0 1em;
				}
				.Social svg { 
					fill: #fff;
					-webkit-transition: fill 0.5s;	
						transition: fill 0.5s;
					}
					.Social .Facebook svg { width: 10px; }
					.Social .LinkedIn svg { width: 18px; }
					.Social .YouTube svg { width: 21px; }

					.Social a:hover, .Social a:focus { background-color: #104080; }

		.SubFooter {
			border-top: 2px solid #ddd;
			padding-top: 1.5em;
			}
				
		
@media all and (min-width: 40em) {

	footer .Address { 
		font-size: 1.25em; 
		line-height: 1.4;
		}

	footer .Copyright { 
		font-size: .875em; 
		text-align: left;
		}

	.RKD { float: right; }		
		
}

@media all and (min-width: 60em) {

	footer { padding: 3.5em 0;}

		footer .Address { font-size: 1.375em; }

		.Social { margin-bottom: 4em; }

}


/* =============================================================================================
	ONE-OFF ALIGNMENT, MARGIN AND PADDING STYLES - CAN BE USED ON ANYTHING
============================================================================================= */

.AlignL {text-align:left; }
.AlignC {text-align:center; }
.AlignR {text-align:right; }

.MT1, .MT2, .MT3 { margin-top: 1em; }
.MTNeg1 { margin-top: -1em; }

.MB1, .MB2, .MB3 { margin-bottom: 1em; }

.MT0 { margin-top: 0; }
.MB0 { margin-bottom: 0; }

.PT1, .PT2, .PT3 { padding-top: 1em; }

.PB1, .PB2, .PB3 { padding-bottom: 1em; }

.PT0 { padding-top: 0; }
.PB0 { padding-bottom: 0; }

@media all and (min-width: 40em) {
	.FloatL {float: left;}
	.FloatR {float: right;}
} 

@media all and (min-width: 60em) {
	
	.MT2 { margin-top: 2em; }
	.MT3 { margin-top: 3em; }
	
	.MB2 { margin-bottom: 2em; }
	.MB3 { margin-bottom: 3em; }
	
	.PT2 { padding-top: 2em; }
	.PT3 { padding-top: 3em; }
	
	.PB2 { padding-bottom: 2em; }
	.PB3 { padding-bottom: 3em; }

}