/* Artfully Masterminded by ZURB */

/*
	Eric Meyer's CSS Reset
	http://meyerweb.com/eric/tools/css/reset/
	v2.0 | 20110126
	License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
html {
	font-size: 62.5%;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

sub {vertical-align: sub;}
sup {vertical-align: super;}

body { background: #fff; font-family: Arial, "Helvetica Neue", "HelveticaNeue", Helvetica, "Lucida Grande", sans-serif; font-size: 13px; font-size: 1.3rem; line-height: 18px; color: #555; position: relative; -webkit-font-smoothing: antialiased; }

/* --------------------------------------------------
:: Misc
---------------------------------------------------*/
.left        { float: left; }
.right       { float: right; }
.text-left   { text-align: left; }
.text-right  { text-align: right; }
.text-center { text-align: center; }
.hide        { display: none; }
.highlight   { background: #ff0; }

#googlemap img, object, embed { max-width: none; }

#map_canvas embed { max-width: none; }
#map_canvas img { max-width: none; }
#map_canvas object { max-width: none; }

/* --------------------------------------------------
:: Grid

This is the mobile-friendly, responsive grid that
lets Foundation work much of its magic.

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

.container { padding: 0 20px; }

.row { width: 100%; max-width: 1000px; min-width: 727px; margin: 0 auto; }
/* To fix the grid into a certain size, set max-width to width */
.row .row { min-width: 0; }

.column, .columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; }
.column:first-child, .columns:first-child { margin-left: 0; }
[class*="column"] + [class*="column"]:last-child { float: right; }
[class*="column"] + [class*="column"].end { float: left; }

.row .one { width: 4.27503%; }
.row .two { width: 12.97730%; }
.row .three { width: 21.67957%; }
.row .four { width: 30.37999%; }
.row .five { width: 39.08411%; }
.row .six { width: 47.78638%; }
.row .seven { width: 56.48865%; }
.row .eight { width: 65.19092%; }
.row .nine { width: 73.89319%; }
.row .ten { width: 82.59546%; }
.row .eleven { width: 91.29773%; }
.row .twelve { width: 100%; }

.row .offset-by-one { margin-left: 12.97730%; }
.row .offset-by-two { margin-left: 21.67957%; }
.row .offset-by-three { margin-left: 30.38184%; }
.row .offset-by-four { margin-left: 39.08226%; }
.row .offset-by-five { margin-left: 47.78638%; }
.row .offset-by-six { margin-left: 56.48865%; }
.row .offset-by-seven { margin-left: 65.19092%; }
.row .offset-by-eight { margin-left: 73.89319%; }
.row .offset-by-nine { margin-left: 82.59546%; }
.row .offset-by-ten { margin-left: 91.29773%; }

.row .centered { float: none; margin: 0 auto; }

.row .offset-by-one:first-child { margin-left: 8.626165%; }
.row .offset-by-two:first-child { margin-left: 17.328435%; }
.row .offset-by-three:first-child { margin-left: 26.030705%; }
.row .offset-by-four:first-child { margin-left: 34.731125%; }
.row .offset-by-five:first-child { margin-left: 43.435245%; }
.row .offset-by-six:first-child { margin-left: 52.137515%; }
.row .offset-by-seven:first-child { margin-left: 60.839785%; }
.row .offset-by-eight:first-child { margin-left: 69.542055%; }
.row .offset-by-nine:first-child { margin-left: 78.244325%; }
.row .offset-by-ten:first-child { margin-left: 86.946595%; }
.row .offset-by-eleven:first-child { margin-left: 95.648865%; }

/* Source Ordering */
.push-two { left: 17.328435%; }
.push-three { left: 26.030705%; }
.push-four { left: 34.731125%; }
.push-five { left: 43.435245%; }
.push-six { left: 52.137515%; }
.push-seven { left: 60.839785%; }
.push-eight { left: 69.542055%; }
.push-nine { left: 78.244325%; }
.push-ten { left: 86.946595%; }

.pull-two { right: 17.328435%; }
.pull-three { right: 26.030705%; }
.pull-four { right: 34.731125%; }
.pull-five { right: 43.435245%; }
.pull-six { right: 52.137515%; }
.pull-seven { right: 60.839785%; }
.pull-eight { right: 69.542055%; }
.pull-nine { right: 78.244325%; }
.pull-ten { right: 86.946595%; }

img, object, embed { height: auto; }
img { -ms-interpolation-mode: bicubic; }
#map_canvas img, .map_canvas img {max-width: none!important;}

 /* Nicolas Gallagher's micro clearfix */
 .row:before, .row:after, .clearfix:before, .clearfix:after { content:""; display:table; }
 .row:after, .clearfix:after { clear: both; }
 .row, .clearfix { zoom: 1; }

/*  --------------------------------------------------
:: Block grids

These are 2-up, 3-up, 4-up and 5-up ULs, suited
for repeating blocks of content. Add 'mobile' to
them to switch them just like the layout grid
(one item per line) on phones

For IE7/8 compatibility block-grid items need to be
the same height. You can optionally uncomment the
lines below to support arbitrary height, but know
that IE7/8 do not support :nth-child.
-------------------------------------------------- */

.block-grid { display: block; overflow: hidden; }
.block-grid>li { display: block; height: auto; float: left; }

.block-grid.two-up { margin-left: -4% }
.block-grid.two-up>li { margin-left: 4%; width: 46%; margin-bottom: 4%;}
/*  .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */

.block-grid.three-up { margin-left: -2% }
.block-grid.three-up>li { margin-left: 2%; width: 31.2%; margin-bottom: 2%;}
/*  .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */

.block-grid.four-up { margin-left: -2% }
.block-grid.four-up>li { margin-left: 2%; width: 23%; margin-bottom: 2%;}
/*  .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */

.block-grid.five-up { margin-left: -1.5% }
.block-grid.five-up>li { margin-left: 1.5%; width: 18.5%; margin-bottom: 1.5%;}
/*  .block-grid.five-up>li:nth-child(5n+1) {clear: left;} */

/* Mobile */
@media only screen and (max-width: 767px) {
	body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
	.container { min-width: 0; margin-left: 0; margin-right: 0; }
	.row { width: 100%; min-width: 0; margin-left: 0; margin-right: 0; }
	.row .row .column, .row .row .columns { padding: 0; }
	.column, .columns { width: auto !important; float: none; margin-left: 0; margin-right: 0; }
	.column:last-child, .columns:last-child { margin-right: 0; float: none; }
	[class*="column"] + [class*="column"]:last-child { float: none; }
	.column:before, .columns:before, .column:after, .columns:after { content:""; display:table; }
	.column:after, .columns:after { clear: both; }

	.offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten, .offset-by-eleven, .centered { margin-left: 0 !important; }

	.push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto; }
	.pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto; }

	/* Mobile 4-column Grid */
	.row .phone-one:first-child, .row .phone-two:first-child, .row .phone-three:first-child, .row .phone-four:first-child { margin-left: 0; }
	.row .phone-one:last-child, .row .phone-two:last-child, .row .phone-three:last-child, .row .phone-four:last-child { float: right; }

	.row .phone-one, .row .phone-two, .row .phone-three, .row .phone-four { margin-left: 4.4%; float: left; min-height: 1px; position: relative; padding: 0; }

	.row .phone-one     { width: 21.68% !important; }
	.row .phone-two     { width: 47.8% !important; }
	.row .phone-three   { width: 73.9% !important; }
	.row .phone-four    { width: 100% !important; }

	.row .push-one-phone { left: 26.08%; }
	.row .push-two-phone { left: 52.2% }
	.row .push-three-phone { left: 78.3% }

	.row .pull-one-phone { right: 26.08% }
	.row .pull-two-phone { right: 52.2% }
	.row .pull-three-phone { right: 78.3%; }
}

/* --------------------------------------------------
:: Block Grids
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
	.block-grid.mobile { margin-left: 0; }
	.block-grid.mobile > li { float: none; width: 100%; margin-left: 0; }
}

/* --------------------------------------------------
:: Mobile Visibility Affordances
---------------------------------------------------*/

.show-on-phones { display: none !important; }
.show-on-tablets { display: none !important; }
.show-on-desktops { display: block !important; }

.hide-on-phones { display: block !important; }
.hide-on-tablets { display: block !important; }
.hide-on-desktops { display: none !important; }

/* Modernizr-enabled tablet targeting */
@media only screen and (max-width: 1280px) and (min-width: 768px) {
	.touch .hide-on-phones { display: block !important; }
	.touch .hide-on-tablets { display: none !important; }
	.touch .hide-on-desktops { display: block !important; }

	.touch .show-on-phones { display: none !important; }
	.touch .show-on-tablets { display: block !important; }
	.touch .show-on-desktops { display: none !important; }
}


@media only screen and (max-width: 767px) {
	.hide-on-phones { display: none !important; }
	.hide-on-tablets { display: block !important; }
	.hide-on-desktops { display: block !important; }

	.show-on-phones { display: block !important; }
	.show-on-tablets { display: none !important; }
	.show-on-desktops { display: none !important; }
}


/* Specific overrides for elements that require something other than display: block */

table.show-on-phones { display: none !important; }
table.show-on-tablets { display: none !important; }
table.show-on-desktops { display: table !important; }

table.hide-on-phones { display: table !important; }
table.hide-on-tablets { display: table !important; }
table.hide-on-desktops { display: none !important; }


/* Modernizr-enabled tablet targeting */
@media only screen and (max-width: 1280px) and (min-width: 768px) {
	.touch table.hide-on-phones { display: table !important; }
	.touch table.hide-on-tablets { display: none !important; }
	.touch table.hide-on-desktops { display: table !important; }

	.touch table.show-on-phones { display: none !important; }
	.touch table.show-on-tablets { display: table !important; }
	.touch table.show-on-desktops { display: none !important; }
}


@media only screen and (max-width: 767px) {
	table.hide-on-phones { display: none !important; }
	table.hide-on-tablets { display: table !important; }
	table.hide-on-desktops { display: table !important; }

	table.show-on-phones { display: table !important; }
	table.show-on-tablets { display: none !important; }
	table.show-on-desktops { display: none !important; }
}


/* --------------------------------------------------
:: Forms
---------------------------------------------------*/


@media only screen and (max-width: 767px) {
	div.form-field input, div.form-field input.small, div.form-field input.medium, div.form-field input.large, div.form-field input.oversize, input.input-text, input.input-text.oversize, textarea,
	form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { display: block; width: 100%; padding: 6px 2% 4px; font-size: 18px; }
	form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; }
	form.nice div.form-field.error small, form.nice small.error { padding: 6px 2%; display: block; }
	form.nice div.form-field.error .small + small, form.nice .small + .error { width: auto; }
	form.nice div.form-field.error .medium + small, form.nice .medium + .error { width: auto; }
	form.nice div.form-field.error .large + small, form.nice .large + .error { width: auto; }
	form.nice div.form-field.error .expand + small, form.nice .expand + .error { width: auto; }
}


/* --------------------------------------------------
:: UI
---------------------------------------------------*/

/* Buttons */
@media only screen and (max-width: 767px) {
	.button { display: block; }
	button.button, input[type="submit"].button { width: 100%; padding-left: 0; padding-right: 0; margin-bottom: 5px; }
}

/* Tabs */

@media only screen and (max-width: 767px) {
	dl.tabs.mobile, dl.nice.tabs.mobile { width: auto; margin: 20px -20px 40px; height: auto; }
	dl.tabs.mobile dt, dl.tabs.mobile dd, dl.nice.tabs.mobile dt, dl.nice.tabs.mobile dd { float: none; height: auto; }

	dl.tabs.mobile dd a { display: block; width: auto; height: auto; padding: 18px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 0 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; }
	dl.tabs.mobile dd a.active { height: auto; margin: 0; border-width: 1px 0 0; }

	.nice.tabs.mobile { border-bottom: solid 1px #ccc; height: auto; }
	.nice.tabs.mobile dd a { padding: 18px 20px; border: none; border-left: none; border-right: none; border-top: 1px solid #ccc; background: #fff; }
	.nice.tabs.mobile dd a.active { border: none; background: #00a6fc; color: #fff; margin: 0; position: static; top: 0; height: auto; }
	.nice.tabs.mobile dd:first-child a.active { margin: 0; }

	dl.contained.mobile, dl.nice.contained.mobile { margin-bottom: 0; }
	dl.contained.tabs.mobile dd a { padding: 18px 20px; }
	dl.nice.contained.tabs.mobile dd a { padding: 18px 20px; }

	dl.tabs.mobile + ul.contained { margin-left: -20px; margin-right: -20px; border-width: 0 0 1px 0; }
}

/* Video */

@media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) {
	.flex-video { padding-top: 0; }
}
