/* -------------------------------------------

	Name: 		Heartland
	Date:		2017/07/02
	Author:		http://psdhtml.me
		   		   
---------------------------------------------  */
* { margin: 0; padding: 0; }
*, :before, :after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

html { overflow-y: scroll; min-height: 100%; margin: 0 0 1px; font-size: 100.01%; -webkit-tap-highlight-color: rgba(0,0,0,0); -moz-osx-font-smoothing: grayscale; -webkit-overflow-scrolling: touch; -ms-content-zooming: none; }
body { min-height: 100%; background: #fff; font-size: 62.5%; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body, textarea, input, select, option, button { color: #717174; font-family: "Helvetica Neue", Helvetica_Neue, Helvetica, Arial, sans-serif; line-height: 1.53333333333; }
li, dt, dd, p, figure, th, td, caption, legend, pre { font-size: 1.5em; } li *, dt *, dd *, p *, figure *, th *, td *, legend * { font-size: 1em; }
ul, ol, dl, p, figure, table, pre, h1, h2, h3, h4, h5, h6, legend { margin-bottom: 9px; }

article, aside, details, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

.margin_bottom_0 {margin-bottom: 0px !important;}


/*! Layout --------- */
#root { overflow: hidden; position: relative; width: 100%; padding: 65px 0 0; background: #f5f5f5; }
	#top { position: absolute; left: 0; top: 0; width: 100%; height: 65px; background: #fff; }
		#logo { width: 880px; height: 65px; margin: 0 auto; position: relative; }
		#logo > a > img { max-width: 150px !important; position: absolute; margin: auto; top: 0; bottom: 0; padding: 5px 0px; }
		#skip { position: fixed; top: 0; left: -10000px; }
			#skip a:focus, #skip a:active { display: block; position: absolute; left: 10000px; top: 0; z-index: 10001; width: 200px; margin: 15px 0 0 15px; padding: 4px 8px; background: #333; color: #fff; font-weight: 500; font-size: 1.1em; text-align: center; text-decoration: none; }
		#nav { }
			#nav > ul { list-style: none; margin: 0; padding: 0; }
				#nav > ul > li { }
				#nav > ul > li > a { }
	#featured { overflow: hidden; position: relative; height: 600px; background: #000; color: #fff; text-align: center; }	
		#featured header { position: absolute; left: 50%; top: 50%; z-index: 2; width: 880px; margin: 0 auto; }
			#featured h1, #featured h2, #featured h3, #featured h4, #featured h5, #featured h6 { color: #fff; font-size: 6.75em; line-height: 1.11111111111; }
		#featured figure { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1; margin: 0; background: center center no-repeat; background-size: cover; opacity: .45; }
	#content { position: relative; z-index: 2; width: 880px; margin: 0 auto; padding: 64px 0 0; }
		#content > *:last-child { margin-bottom: 64px; }
	#footer { position: relative; z-index: 1; width: 880px; margin: 0 auto; padding: 25px 0 18px; background: #fff; text-align: center; }
		#root #footer:before { top: 0; border-top: 1px solid #e8e8e8; background: #fff; }
		#footer p { font-size: 1.2em; }


/*! Repeatable --------- */
/* clear */			#content:after, #top:after, #footer:after, form p:after, .module-pattern:after, .double:after, .triple:after, .list-c:after, .form-a:after, .list-b:after { content: ""; display: block; overflow: hidden; clear: both; height: 0; }
/* fill */			.list-a a.clone { content: ""; display: block; overflow: hidden; position: absolute; left: 0; top: 0; right: 0; bottom: 0; text-align: left; text-indent: -3000em; }
/* wide */ 			#footer:before, .module-pattern:before, .list-a li:before, .wide-c.adp:before { content: ""; display: block; position: absolute; left: -1000em; top: 0; bottom: 0; z-index: 1; width: 3000em; }
					.wide-c.adp{ position: relative; padding: 20px 0px 10px 0px;}
					.wide-c.adp:before { background-color: #fff; z-index: -1; border-bottom: 1px solid #eee; border-top: 1px solid #eee; }
					.wide-c.adp+article{ margin-top: 40px; }
/* icon */ 			#logo a:before, .jspArrow:before, .popup .box-inset > .close:before { display: block; position: absolute; left: 0; top: 50%; width: 100%; margin: -10px 0 0; font-weight: 400; font-family: i; line-height: 20px; text-align: center; text-indent: 0; }
/* index */			.module-pattern > *, #footer > *, .list-a li > * { position: relative; z-index: 3; }
/* center */ 		#featured header { -moz-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
/* centerY */ 		.list-a figure, .list-a li > div { -moz-transform: translateY(-50%); -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
/* no trans */ 		.list-a .bx-pager .bx-pager-item a.active:after, .list-b .bx-pager .bx-pager-item a.active:after { -moz-transform: none; -webkit-transform: none; -o-transform: none; -ms-transform: none; transform: none; }
/* wide img */		#featured figure img, .list-b img { display: block; position: relative; z-index: 1; width: 100% !important; }


/*! Columns --------- */
.double { display: block; position: relative; }
	.double > * { display: block; clear: none; position: relative; z-index: 2; float: right; border-left: 0 solid rgba(0,0,0,0); }
	.double > *:first-child { float: left; }
.double.a { margin-left: -15px; }
	.double.a > * { width: 50%; border-left-width: 15px; }

.triple { display: block; position: relative; margin-left: -15px; }
	.triple > * { display: block; clear: none; position: relative; z-index: 2; float: left; width: 33.333333333%; border-left: 15px solid rgba(0,0,0,0); }


/*! Modules --------- */
.jspScrollable { width: auto !important; }		
	.jspContainer, .jspPane { width: 100% !important; }		
	.jspContainer { position: relative; z-index: 1; }
		.jspPane { position: absolute; }
			.jspVerticalBar { position: absolute; right: 0; top: 0; z-index: 2; width: 18px; height: 100%; }
				.jspTrack { position: relative; border-left: 1px solid #e8e8e8; background: #fff; }
				.jspDrag { position: relative; background: #fff; left: 0; top: 0; cursor: pointer; }
					.jspDrag:before { content: ""; display: block; position: absolute; left: 3px; right: 3px; top: 3px; bottom: 3px; border-radius: 3px; border: 1px solid #e8e8e8; background: #fafafa; }
			.jspHorizontalBar { position: absolute; left: 0; bottom: 0; z-index: 2; width: 100%; height: 16px; }
				.jspHorizontalBar .jspTrack, .jspHorizontalBar .jspDrag { float: left; height: 100%; }
		.jspArrow { display: block; position: relative; height: 28px; border-left: 1px solid #e8e8e8; background: #fafafa; color: #e8e8e8; font-size: 4px; text-indent: -20000px; cursor: pointer; }
			.jspArrowUp { border-bottom: 1px solid #e8e8e8; }
				.jspArrowUp:before { content: "\e90d"; }
			.jspArrowDown { border-top: 1px solid #e8e8e8; }
				.jspArrowDown:before { content: "\e90c"; }
			.jspArrow.jspDisabled { cursor: default; }
			
.module-pattern { position: relative; margin: 64px 0; padding: 64px 0; }
    .module-pattern.videos { margin-top: 0px; padding-bottom: 0px; }
	.module-pattern:before, .list-a li:nth-child(2n):before { border: 1px solid #e8e8e8; background: #fff; }	
	#content > .module-pattern:first-child { margin-top: -64px; }
		#content > .module-pattern:first-child:before { border-top-width: 0; }
	#content > .module-pattern:last-child { margin-bottom: 0; }	
		#content > .module-pattern:last-child:before { border-bottom-width: 0; }
.module-pattern.a { color: #fff; }
	.module-pattern.a:before { border: 0; background: #ce1025; }
	.module-pattern.a h1, .module-pattern.a h2, .module-pattern.a a { color: #fff; }
	.module-pattern.a .link-a a { border-color: #fff; background: #fff; color: #ce1025; }
	.module-pattern.a h3, .module-pattern.a h4, .module-pattern.a h5, .module-pattern.a h6 { color: #fcca03; }

.notification { overflow: hidden; position: relative; margin: 0 0 37px; padding: 11px 34px 2px 16px; border: 1px solid #e8e8e8; background: #f5f5f5; }
	.notification p { font-size: 1.2em; }
	.notification  > .close { display: block; overflow: hidden; position: absolute; right: 0; top: 0; width: 34px; height: 41px; text-align: left; text-indent: -3000em; text-decoration: none; }
		.notification  > .close:before { content: "\e914"; display: block; position: absolute; left: 0; top: 50%; width: 100%; margin: -20px 0 0; font-family: i; font-weight: 400; font-size: 10px; line-height: 40px; text-align: center; text-indent: 0; }
	.notification + .notification { margin-top: -17px; }
.notification.error { border-color: #edd1d4; background: #f2dede; color: #813130; }
	.notification.error a { color: #813130; }
.notification.success { border-color: #dff0d8; background: #dff0d8; color: #234d24; }
	.notification.success a { color: #234d24; }

.popup { visibility: hidden; position: fixed; left: -100px; right: -100px; top: 0; bottom: 0; z-index: 999; }
	.popup .box-outer { position: absolute; left: 0; top: 0; right: 0; z-index: 2; min-height: 100%; }
		.popup .box-outer > .close { display: block; position: absolute; left: 0; right: 0; top: 0; visibility: hidden; z-index: 1; height: 100%; background: rgba(0,0,0,.4); text-indent: -3000em; cursor: pointer; opacity: 0; }
	.popup .box-inner { position: absolute; left: 50%; top: 50%; z-index: 2; width: 476px; margin: 0 auto; }
	.popup .box-inner { -moz-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
		.popup .box-inner.absolute { position: relative; left: 0; top: 0; margin-top: 20px; margin-bottom: 20px; }
		.popup .box-inner.absolute { -moz-transform: none; -webkit-transform: none; -o-transform: none; -ms-transform: none; transform: none; }
	.popup .box-inset { visibility: hidden; padding: 20px 50px 0; box-shadow: 0 0 55px rgba(92,92,92,.2); border-radius: 3px; background: #fff; opacity: 0; }
	.popup .box-inset { -moz-transform: scale(0,0); -webkit-transform: scale(0,0); -o-transform: scale(0,0); -ms-transform: scale(0,0); transform: scale(0,0); }
		.popup .box-inset > .close { display: block; position: absolute; right: 0; top: 0; z-index: 9; width: 47px; height: 59px; color: #fff; font-size: 13px; font-weight: 400; text-decoration: none; text-align: left; text-indent: -3000em; }
			.popup .box-inset > .close:before { content: "\e910"; }
.popup::-webkit-scrollbar, .popup::-webkit-scrollbar { width: 0; background: none; }
.popup-shown { }
	.popup.shown { overflow-y: scroll; }
		.popup.shown, .popup.shown .box-inset, .popup.shown .close { visibility: visible; opacity: 1; }	
		.popup.shown .box-inset { -moz-transform: none; -webkit-transform: none; -o-transform: none; -ms-transform: none; transform: none; }
.popup { }
	.popup .box-inset > h1:first-child, .popup .box-inset > h2:first-child, .popup .box-inset > h3:first-child, .popup .box-inset > h4:first-child, .popup .box-inset > h5:first-child, .popup .box-inset > h6:first-child { position: relative; margin: -21px -50px 24px; padding: 15px 59px 15px 63px; border-radius: 3px 3px 0 0; background: #ce1025; color: #fff; font-size: 2.52em; font-weight: 700; text-align: left; }
		.popup .box-inset > h1:first-child i, .popup .box-inset > h2:first-child i, .popup .box-inset > h3:first-child i, .popup .box-inset > h4:first-child i, .popup .box-inset > h5:first-child i, .popup .box-inset > h6:first-child i { display: block; position: absolute; left: 25px; top: 50%; margin: -15px 0 0; font-size: 22px; line-height: 30px; }
	.popup .submit { margin: 33px -50px 0; }
		.popup .submit button { display: block; float: none; width: 100%; height: 59px; margin: 0; padding: 0 10px; border-radius: 0 0 3px 3px; border: 0; font-size: 25.2px; }
	.popup .checklist-a { margin-left: -25px; }	

.wide-a, .wide-b, .wide-c { margin-left: auto; margin-right: auto; }
	.wide-a { max-width: 830px; }
	.wide-b { max-width: 660px; }
	.wide-c { max-width: 728px; }
	.wide-c .form-a { max-width: none; }
.wide-d { margin-left: -180px; margin-right: -180px; }


/*! Headers --------- */
h1, h2, h3, h4, h5, h6 { margin: 30px 0 12px; color: #ce1025; font-size: 2.625em; font-weight: 700; line-height: 1.1555555555; }
h1, h2 { margin-bottom: 10px; font-size: 4.5em; text-align: center; }
	h1 + h2, h1 + h3, h1 + h4, h1 + h5, h1 + h6, h1 + h1, h2 + h1, h2 + h2, h2 + h3, h2 + h4, h2 + h5, h2 + h6 { margin-top: 20px; }


/*! Content --------- */
b, strong, .strong { font-weight: 700; }
blockquote { margin: 1em 40px; }
dfn, em, i, .em { font-style: italic; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
small { font-size: 85%; }
strike, del, .strike { text-decoration: line-through; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
	sup { top: -0.5em; }
	sub { bottom: -0.25em; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

.text-lowercase { text-transform: lowercase; }
.text-uppercase { text-transform: uppercase; }

.size-a { margin-top: 21px; font-size: 1.875em; line-height: 1.44; }

.overlay-a { color: #ce1025; }
.overlay-b { color: #717174; }


/*! Links --------- */
a { background: none; color: #ce1025; text-decoration: none; cursor: pointer; } /*---*/ a span { cursor: pointer; }
	a:hover, a:focus, a:active { text-decoration: underline; outline: none; }

.link-a { margin-top: 19px; font-size: 2.25em; font-weight: 700; }
	.link-a a { display: inline-block; padding: 15px 38px; border: 1px solid #850a18; background: #ce1025; color: #fff; line-height: 1.1555555555; text-align: center; text-decoration: none; }
	.list-b + .link-a { margin-top: 12px; }
.link-a.small { font-size: 1.2em; font-weight: 400; }
	.link-a.small a { min-width: 160px; padding: 12px 24px; }
	.link-a.small a i { display: inline-block; position: relative; top: 1px; margin: 0 2px 0 0; font-size: 11px; line-height: 1px; }
	

/*! Lists --------- */
ul, ol, dd, blockquote { padding-left: 40px; }
	ul ul, ul ol, ol ol, ol ul { margin-bottom: 0; }
	li { margin-bottom: 15px; }
		li i { position: relative; top: 1px; margin: 0 3px 0 0; font-size: 15px; line-height: 1px; }

.list-a { list-style: none; margin: 64px 0; padding: 0; border-bottom: 0 solid #e8e8e8; text-align: center; }
	.list-a li { position: relative; height: 380px; font-size: 1em; }
		.list-a li:nth-child(2n) { border-top: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; background: #fff; }
			.list-a li:nth-child(2n):before { top: -1px; bottom: -1px; }
		.list-a li > div { position: absolute; right: 0; top: 50%; width: 410px; }
	.list-a h1, .list-a h2, .list-a h3, .list-a h4, .list-a h5, .list-a h6 { margin: 0 0 7px; color: #3d3d3e; font-size: 3em; line-height: 1.13333333333; }
	.list-a p { font-size: 1.875em; }
		.list-a p a { color: #fcca03; text-decoration: none; }
			.list-a p a.play { display: block;}
			.list-a p a .icon-play:before { content: "\e901"; font-family: i; font-size: 38px; color: #ce1024; font-weight: 400; line-height: 60px}
	.list-a a.figure { position: absolute; left:0; top: 50%; }		
	.list-a figure { padding: 3px; border: 1px solid #ebebeb; background: #fff; color: #fff; }
		.list-a figure:before { content: ""; display: block; position: absolute; left: 3px; top: 3px; right: 3px; bottom: 3px; z-index: 2; background: url(../images/list-a.png) no-repeat; background-size: 100% 100%; }
		.list-a figure i { display: block; position: absolute; left: 18px; top: auto; bottom: 18px; z-index: 3; margin: 0; font-size: 17px; line-height: 17px; }
	.list-a a.clone { z-index: 9; text-align: left; text-indent: -3000em; }
	.list-a .bx-pager, .list-b .bx-pager { padding: 20px 0 0; text-align: center; }
		.list-a .bx-pager .bx-pager-item, .list-b .bx-pager .bx-pager-item { display: inline-block; padding: 0 3px; }
		.list-a .bx-pager .bx-pager-item a, .list-b .bx-pager .bx-pager-item a { display: inline-block; overflow: hidden; position: relative; width: 12px; height: 12px;text-align: left; text-indent: -3000em; }
			.list-a .bx-pager .bx-pager-item a:after, .list-b .bx-pager .bx-pager-item a:after { content: ""; display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: auto; height: auto; margin: 0; padding: 0; border-radius: 9px; border: 0; background: #ce1025; text-align: left; text-indent: -3000em; }
			.list-a .bx-pager .bx-pager-item a:after, .list-b .bx-pager .bx-pager-item a:after { -moz-transform: scale(.5,.5); -webkit-transform: scale(.5,.5); -o-transform: scale(.5,.5); -ms-transform: scale(.5,.5); transform: scale(.5,.5); }
			.list-a .bx-pager .bx-pager-item a.active, .list-b .bx-pager .bx-pager-item a.active { cursor: default; }
	h1 + .list-a, h2 + .list-a, h3 + .list-a, h4 + .list-a, h5 + .list-a, h6 + .list-a { margin-top: -46px; }
			
.list-b { list-style: none; margin: 28px 0 0 -60px; padding: 0; color: #3d3d3e; text-align: center; }
	.list-b li { float: left; width: 33.333333333%; margin: 0 0 32px; border-left: 60px solid rgba(0,0,0,0); font-size: 1.2em; }
		.list-b li:nth-child(3n) + li { clear: both; }
	.list-b .img { display: block; margin: 0 0 10px; padding: 3px; border: 1px solid #e8e8e8; background: #fff; color: #fff; font-size: .58333333333em; }
		.list-b .img span { display: block; padding: 8px 10px; background: #58585b; }
		.list-b li.a .img span { background: #dd1f26; }
	.list-b a { display: block; color: #3d3d3e; text-decoration: none; }
	.list-b:last-child { margin-bottom: -10px; }
	.list-b i { margin: 0 2px 0 0; font-size: 11px; }
		
.list-c { list-style: none; padding: 0; }
	.list-c li { float: left; margin: 0 15px 0 0; }
	.list-c i { display: inline-block; position: relative; top: 1px; margin: 0 3px 0 0; font-size: 16px; line-height: 1px; }

.list-cols { list-style: none; padding: 0; }
.list-cols { -moz-column-count: 5; -webkit-column-count: 5; -o-column-count: 5; -ms-column-count: 5; column-count: 5; -moz-column-gap: 20px; -webkit-column-gap: 20px; -o-column-gap: 20px; -ms-column-gap: 20px; column-gap: 20px; }

.list-checks { list-style: none; max-width: 490px; margin: 30px auto 44px; padding: 0; }
	.list-checks li { position: relative; margin: 0 0 1px; padding: 0 0 0 27px; font-size: 1.875em; }
		.list-checks li:before { content: ""; display: block; position: absolute; left: 0; top: 8px; width: 27px; height: 15px; background: url(../images/list-checks.svg) no-repeat; background-size: auto 100%; }
	
	
/*! Media --------- */
img, iframe, object, embed { max-width: 100% !important; }
img { height: auto !important; image-rendering: optimizeQuality; -ms-interpolation-mode: bicubic; }
.lt-ie9 img { max-width: none !important; }
	img::selection { background: transparent; }
	img::-moz-selection { background: transparent; }


/*! Forms --------- */
fieldset, hr { border-width: 0; }
	legend { position: absolute; left: 0; top: -3000em; padding: 0; border: 0; white-space: normal; }
	input, select, textarea { -moz-appearance: none; -webkit-appearance: none; appearance: none; }
	input, select, textarea { position: relative; z-index: 1; margin: 0; padding: 0; box-shadow: none; border-radius: 0; font-size: 1em; line-height: normal; text-align: left; text-transform: none; outline: none; }
	input, select, textarea, button, input[type="button"], input[type="reset"], input[type="submit"] { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
		input { }
			input[type="search"], input[type="number"], input[type="date"], input[type="time"] { -moz-appearance: textfield; -webkit-appearance: textfield; appearance: textfield; }
				input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-outer-spin-button, input::-webkit-inner-spin-button, input::-webkit-clear-button, input::-webkit-calendar-picker-indicator { display: none; -webkit-appearance: none; visibility: hidden !important; height: auto; margin: 0; }
				input::-o-outer-spin-button, input::-o-inner-spin-button { -o-appearance: none; margin: 0; }		
			input[type="checkbox"], input[type="radio"] { height: auto; padding: 0; border: 0; background: none; line-height: 1; }
			input[type="color"] { padding: 0; cursor: pointer; }
			input[type="date"] { display: -webkit-inline-flex; }
		textarea { overflow: auto; vertical-align: top; resize: vertical; }
		select { line-height: 1; text-overflow: ''; text-indent: 0.01px; -moz-appearance: none; -webkit-appearance: none; appearance: none;  } 
			select::-ms-expand { display: none; }
	button, input[type="button"], input[type="reset"], input[type="submit"] { display: block; overflow: visible; position: relative; z-index: 3; height: auto; margin: 0; box-shadow: none; text-transform: none; text-indent: 0; cursor: pointer; outline: none; -webkit-appearance: button; -webkit-font-smoothing: inherit; } 
		button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; outline: none; }
	form [disabled] { cursor: default; }
	form > div { position: relative; }
::-webkit-input-placeholder { opacity: 1; color: inherit; }
::-moz-placeholder { opacity: 1; color: inherit; }
:-moz-placeholder { opacity: 1; color: inherit; }
:-ms-input-placeholder { opacity: 1; color: inherit; }
::-ms-input-placeholder { opacity: 1; color: inherit; }
	:focus::-webkit-input-placeholder { opacity: 0; }
	:focus::-moz-placeholder { opacity: 0; }
	:focus:-moz-placeholder { opacity: 0; }
	:focus:-ms-input-placeholder { opacity: 0; }
	:focus::-ms-input-placeholder { opacity: 0; }

form { }
	label { display: block; position: relative; left: 0; top: 0; z-index: 2; margin: 0 0 12px; font-weight: 400; line-height: 1.1555555555; }
	form p { position: relative; clear: both; }
	input { height: 42px; padding: 0 15px; }
	select { height: 42px; padding: 12px 42px 11px 12px; } 
		option { background: #fff; }
	.select { display: block; position: relative; }
		.select select { display: block; position: relative; z-index: 3; width: 100%; background: none; }
		.select:before { content: "\e90c"; display: block; position: absolute; right: 0; top: 0; bottom: 0; width: 38px; border: 1px solid #e8e8e8; background: #fafafa; color: #e8e8e8; font-style: normal; font-size: 6px; font-family: i; line-height: 40px; text-align: center; }
	textarea { height: 226px; min-height: 226px; padding: 12px 12px 12px 15px; }  
	input, select, textarea { display: block; width: 100%; border: 1px solid #e8e8e8; background: #fff; color: #adadae; font-size: 12px; } 
		.error input, .error select, .error textarea, .error .select:before, .error.select:before, #root .error label i { border-color: #ce1025; color: #ce1025; }
		.error .select:before, .error.select:before { background: #fae7e9; }
	button, input[type="button"], input[type="reset"], input[type="submit"] { display: inline-block; overflow: hidden; margin: 6px 0 0; padding: 15px 38px; border: 1px solid #850a18; background: #ce1025; color: #fff; font-size: 22.5px; font-weight: 700; line-height: 1.1555555555; text-align: center; text-decoration: none; }
		button i { display: inline-block; position: relative; top: 1px; margin: 0 3px 0 0; }

.checklist-a { position: relative; list-style: none; margin: 0 0 22px; padding: 0; color: #3d3d3e; text-align: left; }
	.checklist-a li { margin: 0 0 12px; font-size: 1.68em; }
	.checklist-a label { margin: 0; padding: 0 0 0 27px; }
		.checklist-a label input, .checklist-a .input { display: block; position: absolute; left: 0; top: 0; line-height: 19px; }
		.checklist-a .input { width: 19px; height: 19px; border-radius: 19px; border: 1px solid #e8e8e8; background: #fff; background: url(../images/list-checks.svg) -3000em -3000em no-repeat; background-size: auto 6px; cursor: pointer; }
			.checklist-a label.active .input { background-position: center center; }
			.checklist-a label.radio.active .input { cursor: default; }
.checklist-a.a { }
	.checklist-a.a li { font-size: 2em; }
	.checklist-a.a label { padding-left: 22px; color: #717174; }
		.checklist-a.a .input { top: 4px; width: 15px; height: 15px; border-color: #717174; background: none; }
		.checklist-a.a label.active { color: #ce1025; }	
			.checklist-a.a label.active .input:before { content: ""; display: block; position: absolute; left: 3px; top: 3px; right: 3px; bottom: 3px; border-radius: 9px; background: #ce1025; }
.inline p { display: inline-block; }
	.inline .checklist-a { display: inline-block; margin: 0; }
		.inline p + .checklist-a { top: -3px; margin-left: 11px; }
		.inline .checklist-a li { display: inline-block; margin: 0 24px 0 0; }
						
.checklist-b { overflow-y: auto; overflow-x: hidden; list-style: none; max-width: 188px; margin: 22px 0 25px; padding: 0; box-shadow: 0 0 38px #f6f6f6; border-radius: 3px; border: 1px solid #e8e8e8; background: #fafafa; color: #717174; outline: none; }
	.checklist-b li { margin: 0; border-top: 1px solid #e8e8e8; font-size: 1.344em; }
		.checklist-b li:first-child { border: 0; }
		.checklist-b li:nth-child(2n-1) { background: #fff; }
	.checklist-b label { overflow: hidden; height: 27px; margin: 0; padding: 0 6px 0 29px; color: #717174; font-weight: 700; line-height: 27px; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
		.checklist-b label input, .checklist-b .input { display: block; position: absolute; left: 7px; top: 8px; line-height: 15px; }
		.checklist-b .input { overflow: hidden; width: 13px; height: 13px; border-radius: 15px; border: 1px solid #d5d5d5; background: #fff; color: #d5d5d5; font-size: 4px; font-weight: 400; font-family: i; cursor: pointer; }
			.checklist-b .input:before { content: "\e911"; display: block; position: absolute; left: 0; top: 0; width: 100%; line-height: 11px; text-align: center; text-indent: 0; }
			.checklist-b label.active .input { border-color: #46a046; background: #46a046; color: #fff; }
	.checklist-b.scrolled { height: 280px; }
	
.form-a { max-width: 728px; margin: 19px auto 11px; }
	.form-a h3, .form-a h4, .form-a h5, .form-a h6 { margin: 0 0 12px; color: #717174; font-weight: 400; font-size: 1.5em; line-height: 1.1555555555; }
	.form-a button { display: block; width: 100%; }
	.form-a .has-icon input { padding-right: 40px; }
	#root .form-a .has-icon label.clone, .form-a .has-icon i { display: block; overflow: hidden; position: absolute; left: auto; top: auto; right: 0; bottom: 0; z-index: 3; width: 42px; height: 42px; margin: 0; color: #e0e0e1; font-size: 14px; line-height: 42px; text-align: center; }
		#root .form-a .has-icon label.clone { text-align: left; text-indent: -3000em; }
		.form-a .has-icon label.clone i { display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0; line-height: 42px; text-align: center; text-indent: 0; }
		.form-a .has-icon i.icon-envelope { font-size: 10px; }
.form-a.a { }
	.form-a.a p { margin-bottom: 15px; }
.form-a.b { margin-top: 35px; margin-left: -15px; }
	.form-a.b p { float: left; clear: none; width: 25%; border-left: 15px solid rgba(0,0,0,0); }
	.form-a.b button { display: block; float: none; height: 42px; margin: 0; padding: 0 10px; font-size: 12px; }
		.form-a.b button i { font-size: 11px; }
	

/*! Tables --------- */
table { display: table; width: 100%; border-collapse: collapse; border-spacing: 0; }
	th, td { padding: 5px 10px; border: 1px solid #eee; font-weight: 400; text-align: left; }


/*! Helpers --------- */
/* Commented out. It causes select issue on moz */
/* *, *:before, *:after { -moz-transition: visibility 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, background-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, border-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s; -webkit-transition: visibility 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, background-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, border-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s; -o-transition: visibility 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, background-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, border-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s; -ms-transition: visibility 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, background-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, border-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s; transition: visibility 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, background-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, border-color 0.4s ease-in-out 0s, color 0.4s ease-in-out 0s, opacity 0.4s ease-in-out 0s; -moz-transform-origin: center center; -webkit-transform-origin: center center; -o-transform-origin: center center; -ms-transform-origin: center center; -webkit-transition-delay: -0.1s; } */
.list-a .bx-pager .bx-pager-item a:after, .list-b .bx-pager .bx-pager-item a:after, .popup .box-inset, .popup .close { -moz-transition: all 0.4s ease-in-out 0s; -webkit-transition: all 0.4s ease-in-out 0s; -o-transition: all 0.4s ease-in-out 0s; -ms-transition: all 0.4s ease-in-out 0s; transition: all 0.4s ease-in-out 0s; }

.clear { clear: both; overflow: hidden; width: 100%; height: 0; }
.hidden, [hidden], template, #nav em, .js #featured figure img, .js .form-a.b label, .list-a a.clone *, .js .checklist-b label input, .js .checklist-a label input { position: absolute; left: -3000em; top: 0; right: auto; bottom: auto; }

hr, .hr { display: block; overflow: hidden; width: 100%; height: 1px; margin: 15px 0; padding: 0; border: 0; border-top: 1px solid #ccc; background: none; font-size: 0; } .hr hr { display: none; }

.size-a:first-child, .link-a:first-child, .form-a.a button, .form-a:first-child, .form-a.a:first-child, .module-pattern:first-child, .list-checks:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, .form-a.b:first-child, .list-b:first-child, .list-a:first-child, .form-a:first-child, .checklist-b:first-child { margin-top: 0; }
#root .mb-a, #featured header > *:last-child, .list-a li > div > *:last-child, .form-a:last-child { margin-bottom: 0; }
.list-c li:last-child, .inline .checklist-a li:last-child { margin-right: 0; }

#root .mb-b { margin-bottom: 48px; }


/*! Warnings --------- */
p.lt-ie9 { position: fixed; left: 0; top: 0; z-index: 1000; width: 100%; height: 28px; background: #333; color: #fff; font-size: 1.2em; font-family: Arial, Helvetica, sans-serif; line-height: 28px; text-align: center; }
	p.lt-ie9 a { color: #fff; font-weight: 700; text-decoration: underline; }
	p.lt-ie9 a:hover, p.lt-ie9 a:focus, p.lt-ie9 a:active { text-decoration: none; }
.lt-ie9 body { padding-top: 28px; }


/*! Miscellaneous --------- */
audio, canvas, iframe, img, svg, video { border-width: 0; vertical-align: middle; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
svg:not(:root) { overflow: hidden; }
@-ms-viewport { width: auto; } 

::selection { background: #ce1025; color: #fff; text-shadow: none; }
::-moz-selection { background: #ce1025; color: #fff; text-shadow: none; }

#root .desktop-hide, #root .tablet-only, #root .mobile-only { position: absolute; left: -3000em; top: -3000em; bottom: inherit; right: inherit; }


/*! Fonts --------- */
@font-face { font-family: 'Helvetica_Neue'; src: url('fonts/helveticaneueltstd-bd.eot'); src: url('fonts/helveticaneueltstd-bd.eot?#iefix') format('embedded-opentype'), url('fonts/helveticaneueltstd-bd.woff2') format('woff2'), url('fonts/helveticaneueltstd-bd.woff') format('woff'), url('fonts/helveticaneueltstd-bd.ttf') format('truetype'), url('fonts/helveticaneueltstd-bd.svg#helvetica_neue_lt_std75_bold') format('svg'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'Helvetica_Neue'; src: url('fonts/helveticaneueltstd-bdit.eot'); src: url('fonts/helveticaneueltstd-bdit.eot?#iefix') format('embedded-opentype'), url('fonts/helveticaneueltstd-bdit.woff2') format('woff2'), url('fonts/helveticaneueltstd-bdit.woff') format('woff'), url('fonts/helveticaneueltstd-bdit.ttf') format('truetype'), url('fonts/helveticaneueltstd-bdit.svg#helvetica_neue_lt_std76BdIt') format('svg'); font-weight: 700; font-style: italic; }
@font-face { font-family: 'Helvetica_Neue'; src: url('fonts/helveticaneueltstd-md.eot'); src: url('fonts/helveticaneueltstd-md.eot?#iefix') format('embedded-opentype'), url('fonts/helveticaneueltstd-md.woff2') format('woff2'), url('fonts/helveticaneueltstd-md.woff') format('woff'), url('fonts/helveticaneueltstd-md.ttf') format('truetype'), url('fonts/helveticaneueltstd-md.svg#helvetica_neue_lt_std65Md') format('svg'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'Helvetica_Neue'; src: url('fonts/helveticaneueltstd-mdit.eot'); src: url('fonts/helveticaneueltstd-mdit.eot?#iefix') format('embedded-opentype'), url('fonts/helveticaneueltstd-mdit.woff2') format('woff2'), url('fonts/helveticaneueltstd-mdit.woff') format('woff'), url('fonts/helveticaneueltstd-mdit.ttf') format('truetype'), url('fonts/helveticaneueltstd-mdit.svg#helvetica_neue_lt_std66MdIt') format('svg'); font-weight: 400; font-style: italic; }


/*! Icons --------- */
@font-face { font-family: 'i'; src: url('icons/icons.eot'); src: url('icons/icons.eot#iefix') format('embedded-opentype'), url('icons/icons.ttf') format('truetype'), url('icons/icons.woff') format('woff'), url('icons/icons.svg#icons') format('svg'); font-weight: 400; font-style: normal; }
[class^="icon-"], [class*=" icon-"] { font-family: 'i' !important; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
	.icon-bulb:before { content: "\e90f"; }
	.icon-check:before { content: "\e911"; }
	.icon-chevron-down:before { content: "\e90c"; }
	.icon-chevron-left:before { content: "\e90e"; }
	.icon-chevron-right:before { content: "\e90b"; }
	.icon-chevron-up:before { content: "\e90d"; }
	.icon-document:before { content: "\e90a"; }
	.icon-download:before { content: "\e907"; }
	.icon-download2:before { content: "\e912"; }
	.icon-envelope:before { content: "\e908"; }
	.icon-logo:before { content: "\e905"; }
	.icon-map:before { content: "\e906"; }
	.icon-pdf:before { content: "\e913"; }
	.icon-phone:before { content: "\e903"; }
	.icon-user:before { content: "\e904"; }
	.icon-video:before { content: "\e901"; }
	.icon-vimeo:before { content: "\e909"; }
	.icon-x:before { content: "\e910"; }
	.icon-x2:before { content: "\e914"; }
	.icon-zoom:before { content: "\e902"; }
	.icon-zoom-in:before { content: "\e900"; }
	.icon-key:before { content: "\e084"; }


/*! Fancybox --------- */
.fancybox-wrap, .fancybox-skin, .fancybox-outer, .fancybox-inner, .fancybox-image, .fancybox-wrap iframe, .fancybox-wrap object, .fancybox-nav, .fancybox-nav span, .fancybox-tmp { padding: 0; margin: 0; border: 0; outline: none; vertical-align: top; }
.fancybox-overlay, .fancybox-overlay * { -moz-transition: none; -webkit-transition: none; -o-transition: none; -ms-transition: none; transition: none; }
.fancybox-wrap, .fancybox-wrap * { transition: none; -moz-transition: none; -webkit-transition: none; -o-transition: none; -ms-transition: none; }
	.fancybox-wrap { position: absolute; top: 0; left: 0; z-index: 8020; }
	.fancybox-skin { position: relative; background: #fff; color: #444; text-shadow: none; }
	.fancybox-opened { z-index: 8030; }
		.fancybox-opened .fancybox-skin { -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); }
	.fancybox-outer, .fancybox-inner { position: relative; }
		.fancybox-inner { overflow: hidden; }
	.fancybox-type-iframe .fancybox-inner { -webkit-overflow-scrolling: touch; }
	.fancybox-error { color: #444; font: 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0; padding: 15px; white-space: nowrap; }
	.fancybox-image, .fancybox-iframe { display: block; width: 100%; height: 100%; }
		.fancybox-image { max-width: 100%; max-height: 100%; }
	#fancybox-loading { }
		#fancybox-loading { display: block; position: fixed; top: 50%; left: 50%; z-index: 8060; width: 100px; height: 100px; margin: -50px 0 0 -50px; cursor: pointer; }
		#fancybox-loading:before { content: ""; display: block; position: absolute; left: 50%; top: 50%; z-index: 90000001; width: 100px; height: 100px; margin: -50px 0 0 -50px; border-radius: 100px; border: 2px solid rgba(255,255,255,.2); border-left-color: #fff; }
		#fancybox-loading:before { -moz-transform: translateZ(0); -webkit-transform: translateZ(0); -o-transform: translateZ(0); -ms-transform: translateZ(0); -moz-animation: spin 1.1s infinite linear; -webkit-animation: spin 1.1s infinite linear; -o-animation: spin 1.1s infinite linear; -ms-animation: spin 1.1s infinite linear; animation: spin 1.1s infinite linear; } 
	.fancybox-close { position: absolute; top: -14px; right: -14px; z-index: 8040; width: 28px; height: 28px; box-shadow: -1px 1px 2px rgba(0,0,0,.5); border-radius: 20px; border: 2px solid #fff; background: #000; color: #fff; font-family: i; font-size: 10px; font-weight: 400; line-height: 23px; text-align: center; cursor: pointer; }
		.fancybox-close:before, .fancybox-close:after { content: ""; display: block; position: absolute; left: 50%; top: 50%; border-radius: 4px; background: #fff; }
		.fancybox-close:before, .fancybox-close:after { -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
			.fancybox-close:before { width: 14px; height: 4px; margin: -2px 0 0 -7px; }
			.fancybox-close:after { width: 4px; height: 14px; margin: -7px 0 0 -2px; }
	.fancybox-nav { position: absolute; top: 0; width: 40%; height: 100%; cursor: pointer; text-decoration: none; -webkit-tap-highlight-color: rgba(0,0,0,0); z-index: 8040; }
		.fancybox-nav span { display: block; position: absolute; top: 50%; z-index: 8040; width: 28px; height: 28px; margin-top: -14px; border-radius: 20px; border: 2px solid #fff; background: #000; color: #fff; font-family: i; font-size: 10px; font-weight: 400; line-height: 23px; opacity: 0; text-align: center; cursor: pointer; }
		.fancybox-nav:hover span { opacity: 1; }
			.fancybox-nav span:before, .fancybox-nav span:after { content: ""; display: block; position: absolute; background: #fff; }
				.fancybox-nav span:before { top: 11px; width: 9px; height: 3px; }
				.fancybox-nav span:after { bottom: 11px; width: 9px; height: 3px; }
				.fancybox-prev span:before, .fancybox-next span:after { -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -o-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }
				.fancybox-prev span:after, .fancybox-next span:before { -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
	.fancybox-prev { left: 0; }
	.fancybox-next { right: 0; }
		.fancybox-prev span { left: 14px; box-shadow: -1px 1px 2px rgba(0,0,0,.5); }
			.fancybox-prev span:before, .fancybox-prev span:after { left: 9px; }
			.fancybox-prev span:before { -moz-transform-origin: 0 100%; -webkit-transform-origin: 0 100%; -o-transform-origin: 0 100%; -ms-transform-origin: 0 100%; transform-origin: 0 100%; }
			.fancybox-prev span:after { -moz-transform-origin: 0 0; -webkit-transform-origin: 0 0; -o-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; }
		.fancybox-next span { right: 14px; box-shadow: 1px 1px 2px rgba(0,0,0,.5); }
			.fancybox-next span:before, .fancybox-next span:after { right: 9px; }
			.fancybox-next span:before { -moz-transform-origin: 100% 100%; -webkit-transform-origin: 100% 100%; -o-transform-origin: 100% 100%; -ms-transform-origin: 100% 100%; transform-origin: 100% 100%; }
			.fancybox-next span:after { -moz-transform-origin: 100% 0; -webkit-transform-origin: 100% 0; -o-transform-origin: 100% 0; -ms-transform-origin: 100% 0; transform-origin: 100% 0; }
	.fancybox-tmp { position: absolute; top: -99999px; left: -99999px; visibility: hidden; max-width: 99999px; max-height: 99999px; overflow: visible !important; }

/*.fancybox-lock { overflow: hidden !important; width: auto; }
	.fancybox-lock body { overflow: hidden !important; }
	.fancybox-lock-test { overflow-y: hidden !important; }*/
	.fancybox-overlay { position: absolute; top: 0; left: 0; overflow: hidden; display: none; z-index: 8010; background: rgba(0,0,0,.7); cursor: pointer; }
		.fancybox-overlay-fixed { position: fixed; bottom: 0; right: 0; }
		/*.fancybox-lock .fancybox-overlay { overflow: auto; overflow-y: scroll; }*/

.fancybox-title { visibility: hidden; font: normal 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif; position: relative; text-shadow: none; z-index: 8050; }
.fancybox-opened .fancybox-title { visibility: visible; }
	.fancybox-title-float-wrap { position: absolute; bottom: 0; right: 50%; margin-bottom: -35px; z-index: 8050; text-align: center; }
		.fancybox-title-float-wrap .child { display: inline-block; margin-right: -100%; padding: 2px 20px; background: transparent; /* Fallback for web browsers that doesn't support RGBa */
background: rgba(0, 0, 0, 0.8); -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; text-shadow: 0 1px 2px #222; color: #FFF; font-weight: bold; line-height: 24px; white-space: nowrap; }
	.fancybox-title-outside-wrap { position: relative; margin-top: 10px; color: #fff; }
	.fancybox-title-inside-wrap { padding-top: 10px; }
	.fancybox-title-over-wrap { position: absolute; bottom: 0; left: 0; color: #fff; padding: 10px; background: #000; background: rgba(0, 0, 0, .8); }

#fancybox-buttons { position: fixed; left: 0; width: 100%; z-index: 8050; }
	#fancybox-buttons.top { top: 10px; }
	#fancybox-buttons.bottom { bottom: 10px; }
	#fancybox-buttons ul { display: block; width: 166px; height: 30px; margin: 0 auto; padding: 0; list-style: none; border: 1px solid #111; border-radius: 3px; -webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); -moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); background: rgb(50,50,50); background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51))); background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 ); }
		#fancybox-buttons ul li { float: left; margin: 0; padding: 0; }
			#fancybox-buttons a { display: block; width: 30px; height: 30px; text-indent: -9999px; background-color: transparent; background-image: url(../images/fancybox/fancybox_buttons.png); background-repeat: no-repeat; outline: none; opacity: 0.8; }
				#fancybox-buttons a:hover { opacity: 1; }
				#fancybox-buttons a.btnPrev { background-position: 5px 0; }
				#fancybox-buttons a.btnNext { background-position: -33px 0; border-right: 1px solid #3e3e3e; }
				#fancybox-buttons a.btnPlay { background-position: 0 -30px; }
				#fancybox-buttons a.btnPlayOn { background-position: -30px -30px; }
				#fancybox-buttons a.btnToggle { background-position: 3px -60px; border-left: 1px solid #111; border-right: 1px solid #3e3e3e; width: 35px; }
				#fancybox-buttons a.btnToggleOn { background-position: -27px -60px; }
				#fancybox-buttons a.btnClose { border-left: 1px solid #111; width: 35px; background-position: -56px 0px; }
				#fancybox-buttons a.btnDisabled { opacity : 0.4; cursor: default; }

#fancybox-thumbs { position: fixed; left: 0; width: 100%; overflow: hidden; z-index: 8050; }
	#fancybox-thumbs.bottom { bottom: 2px; }
	#fancybox-thumbs.top { top: 2px; }
	#fancybox-thumbs ul { position: relative; list-style: none; margin: 0; padding: 0; }
		#fancybox-thumbs ul li { float: left; padding: 1px; opacity: 0.5; }
			#fancybox-thumbs ul li.active { opacity: 0.75; padding: 0; border: 1px solid #fff; }
			#fancybox-thumbs ul li:hover { opacity: 1; }
		#fancybox-thumbs ul li a { display: block; position: relative; overflow: hidden; border: 1px solid #222; background: #111; outline: none; }
		#fancybox-thumbs ul li img { display: block; position: relative; border: 0; padding: 0; max-width: none; }


/* Animations --------- */
@-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } }
@-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-o-keyframes spin { 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } }
@-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }


/* Responsive --------- */
@media only screen and (max-width: 62.5em) { /* 1000 */
#featured { height: 490px; }

.wide-d { margin-left: 0; margin-right: 0; }
}
@media only screen and (max-width: 56.25em) { /* 900 */
#logo, #content, #footer, #featured header { width: 720px; }

#content { padding-top: 50px; }
	#content > *:last-child { margin-bottom: 50px; }
#featured { }
	#featured h1, #featured h2, #featured h3, #featured h4, #featured h5, #featured h6 { font-size: 5.5em; }

h1, h2 { font-size: 3.6em; }

.list-a { margin: 50px 0; }
	.list-a li { height: 304px; }	
		.list-a li > div { width: 320px; }
	.list-a figure { max-width: 342px; }
	.list-a h1, .list-a h2, .list-a h3, .list-a h4, .list-a h5, .list-a h6 { font-size: 2.4em; }
	.list-a p { font-size: 1.5em; }
		.list-a p a:after { margin: 9px 0 0; font-size: 30px; line-height: 30px; }
.module-pattern { margin: 50px 0; padding: 50px 0; }

textarea { height: 180px; min-height: 180px; }  

#root .desktop-hide, #root .tablet-only { position: relative; left: 0; top: 0; }
#root .desktop-only, #root .tablet-hide { position: absolute; left: -3000em; top: -3000em; bottom: inherit; right: inherit; }
}
@media only screen and (max-width: 47.5em) { /* 760 */
#logo, #content, #footer, #featured header { width: auto; }
#content, #footer { padding-left: 20px; padding-right: 20px; }

#root { padding-top: 50px; }
#top, #logo { height: 50px; }
	#logo a { width: 100%; }	
		#root #logo a:before { width: 100%; font-size: 20px; }
#featured { height: 260px; }	
	#featured header { left: 20px; right: 20px; }
	#featured header { -moz-transform: translateY(-50%); -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
	#featured h1, #featured h2, #featured h3, #featured h4, #featured h5, #featured h6 { font-size: 3.5em; }
#content { padding-top: 20px; }
	#content > *:last-child { margin-bottom: 20px; }
	#content > .module-pattern:first-child { margin-top: -20px; }
#footer { padding-top: 15px; padding-bottom: 8px; }

#root .form-a p, .list-b li { float: none; width: 100%; }

h1, h2 { font-size: 3em; }
h3, h4, h5, h6 { font-size: 1.875em; }
li, dt, dd, p, figure, th, td, caption, legend, pre, .size-a, .form-a h3, .form-a h4, .form-a h5, .form-a h6, .list-checks li, .list-a p { font-size: 1.4em; }

li { margin-bottom: 7px; }

.inline { }
	.inline p { display: block; }
	.inline .checklist-a { display: block; margin-bottom: 22px; text-align: center; }
	.inline p + .checklist-a { top: 0; margin-left: 0; }
.link-a, button, input[type="button"], input[type="reset"], input[type="submit"] { font-size: 18px; }
.list-a { margin: 30px -20px; padding: 0 20px 10px; border-bottom-width: 1px; }
	.list-a li { height: auto; margin: 0; padding: 0 0 1px; }
		.list-a li:first-child { padding-top: 0; }
		.list-a li > div { position: relative; top: 0; width: auto; }
	.list-a a.figure { position: relative; top: 0; margin: 0 0 20px; }	
		.list-a figure { position: relative; max-width: none;}
			.list-a figure img { display: block; position: relative; z-index: 1; width: 100% !important; }
	h1 + .list-a, h2 + .list-a, h3 + .list-a, h4 + .list-a, h5 + .list-a, h6 + .list-a { margin-top: 0; }
.list-b { margin-top: 15px; margin-left: 0; }
	.list-b li { margin: 0; border-left-width: 0; }
	.list-b .img { margin-bottom: 10px; }
.list-checks { max-width: 390px; margin: 0 auto 20px; }
	.list-checks li { padding-left: 22px; }
		.list-checks li:before { top: 6px; width: 22px; height: 12px; }
.list-cols { -moz-column-count: 2; -webkit-column-count: 2; -o-column-count: 2; -ms-column-count: 2; column-count: 2; }
.module-pattern { margin: 30px 0; padding: 20px 0; }
.notification { margin-bottom: 20px; }
	.notification + .notification { margin-top: -10px; }
.size-a, .form-a, .form-a.a, .form-a.b { margin-top: 0; }

textarea { height: 120px; min-height: 120px; }  

.list-a li > div, .list-a figure { -moz-transform: none; -webkit-transform: none; -o-transform: none; -ms-transform: none; transform: none; }
#root .tablet-hide, #root .mobile-only { position: relative; left: 0; top: 0; }
#root .tablet-only, #root .mobile-hide { position: absolute; left: -3000em; top: -3000em; bottom: inherit; right: inherit; }

.clipspan{ display: none !important; }	
}
@media only screen and (max-width: 31.25em) { /* 500 */
.popup { overflow-x: hidden; left: 0; right: 0; }
	.popup .box-inner { left: 20px; right: 20px; width: auto; }
	.popup .box-inner { -moz-transform: translateY(-50%); -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
	.popup .box-inner.absolute { left: 0; right: 0; margin-left: 20px; margin-right: 20px; }
}
@media only screen and (max-width: 25em) { /* 400 */
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }	

#featured { height: 220px; }
	#featured h1, #featured h2, #featured h3, #featured h4, #featured h5, #featured h6 { font-size: 3em; }

h1, h2 { font-size: 2.5em; }

.list-a { }
	.list-a h1, .list-a h2, .list-a h3, .list-a h4, .list-a h5, .list-a h6 { font-size: 2em; }
}

/* man's code TODO: remove after finished */;
.error {
	border: 1px solid #ff0000;
}

.error-message {
	display: none;
	font-size: 1.2em;
	padding: 11px 15px;
	border: 1px solid #edd1d4;
	color: #813130;
	background-color: #f2dede;
}

.error-message ul {
	padding-left: 30px;
}

.error-message ul,
.error-message li {
	margin-bottom: 0px;
}

.error-message ul li {
	font-size: 1em;
}

.error-message label {
	margin: 0px;
	border: none;
	line-height: 23px;
}

#feedback .error-message {
	margin-bottom: 6px;
}

form .has-error {
	color: #ce1025;
}

form .has-error .input {
	border: 1px solid #ce1025;
}

.throbber{
	display: none;
    position: absolute;
    top:0px;
    left:0px;
    right: 0px;
    bottom:0px;
    background-color: #fff;
    background-image: url("/images/loader.gif");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1000;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60);
    opacity: 0.6;
}

.downloading {
	display: none;
	position: fixed;
	z-index: 999;
	top: 0px;
	left: 0px;
	background-color: #222;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	width: 100%;
	height: 100%;
	opacity: 0.8;
	color: #ffffff;
}

.downloading:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.custom-tooltip,
.tooltip {
    position: relative;
    display: inline-block;
}

.custom-tooltip .tooltiptext,
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 110%;
    left: 50%;
    margin-left: -58px;
    font-size: 12px !important;
}

#form-signup .custom-tooltip .tooltiptext,
#form-signup .tooltip .tooltiptext {
    width: 150px;
}

.custom-tooltip .tooltiptext::after,
.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}

.custom-tooltip:hover .tooltiptext,
.tooltip:hover .tooltiptext {
    visibility: visible;
}

.sales-download {
	padding-top: 10px;
}

.sales-download > a {
	display: inline-block;
	text-decoration: underline;
}

.sales-download > span {
	padding: 0px 10px;
}

.download-all {
	margin-bottom: 15px;
}

a.signin {
    display: block;
    float: right;
    margin-top: 22px;
    color: #58585b;
    font-weight: bolder;
}

a.signin:hover {
    text-decoration: none;
    color: #00bdf6;
}

a.form-blue_link {
    color: #00bdf6;
}

a.btn-create-account, button.btn-create-account {
    padding: 15px 20px;
}

.upload-label {
    display: inline-block;
    background-color: #fff;
    width: calc(100% - 110px);
    border: 1px solid #e8e8e8;
    height: 36px;
    color: #adadae;
    font-size: 12px;
    float: left;
    padding: 7px 15px;
}
.upload-btn-wrapper {
    float: right;
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.upload-btn-wrapper .upload-btn {
    color: #fff;
    background-color: #ce1025;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: bold;
    margin-top: 0;
}

.upload-btn-wrapper input[type=file] {
    font-size: 100px;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}

@media only screen and (max-width: 450px) {
    #top{ padding-left: 10px !important; padding-right: 10px !important; }
    a.signin { font-size: 13px; margin-top: 18px !important; text-align: right;}
    #logo > a > img { width: 120px; }
}

@media only screen and (min-width: 450px) {
    .download-all {
            margin-right: 1em;
    }
    a.signin { font-size: 1.1em }
}