/************************************************
*	Media Queries								*
************************************************/

/* Mobile */
		
@media handheld, only screen and (max-width: 1023px) {
	.reveal-modal-bg { 
		position: absolute; 
		}
	.reveal-modal,
	.reveal-modal.small,
	.reveal-modal.medium,
	.reveal-modal.large,
	.reveal-modal.xlarge { 
		width: 60%; 
		top: 60px; 
		left: 15%; 
		margin-left: 0; 
		padding: 20px; 
		height: auto; 
		}
		
	/* Theme iPad */
	
	.container {
		padding: 0px;
		}
	#navigation {
		height: auto;
		position: relative;
		}
	#header {
		margin-top: 0px;
		}
	#homepage .article {
		padding: 12px 4%;
		}
	
		
	}

@media handheld, only screen and (max-width: 767px) {
	.reveal-modal-bg { 
		position: absolute; 
		}
	.reveal-modal,
	.reveal-modal.small,
	.reveal-modal.medium,
	.reveal-modal.large,
	.reveal-modal.xlarge { 
		width: 80%; 
		top: 15px; 
		left: 5%; 
		margin-left: 0; 
		padding: 20px; 
		height: auto; 
		}
}
	
/* Typography */
	
@media handheld, only screen and (max-width: 767px) {
	h1 { 
		font-size: 1.8rem; 
		line-height: 1.2; 
		}
	h2 { 
		font-size: 1.6rem; 
		line-height: 1.2; 
		}
	h3,
	.home_functions h3,
	.page-template-page-home-php h3,
	.page-template-page-home-php h3.title 
	{  
		font-size: 1.5rem; 
		line-height: 1.4; 
		}
	h4 { 
		font-size: 1.3rem; 
		line-height: 1.4; 
		}
	h5 {  
		font-size: 1.1rem; 
		line-height: 1.4; 
		}
	h6 { 
		font-size: 1.0rem; 
		line-height: 1.4; 
		}
	body, p {  
		font-size: 0.9rem; 
		line-height: 1.6; 
		}
	blockquote {
		padding: 12px;
		}
	blockquote, blockquote p {
		font-size: 1rem;
		}
	blockquote p:before {
		margin-left: -14px;
		margin-top: -10px;
		}
	blockquote p:after {
		margin-left: 0px;
		margin-top: -6px;
		}
	.headline {
		font-size: 1.8rem;
		}
	}
	
/* Content */
	
@media only screen and (max-width: 767px) {		

	/* Theme iPhone */
	
	.container {
		padding: 0px;
		}
	#header {
		padding: 0px;
		}
	.home #header, #header {
		position: relative;
	}
	#header .site-title {
		font-size: 2.4rem;
		}
	#custom-header {
		padding: 0px 4%;
		}
	#navigation {
		background: none;
		top: 0px;
		overflow: hidden;
		}
	.menu {
		width: 100%;
		}
	.menu a { 
		border-radius: 0px;
		-moz-border-radius: 0px;
		-khtml-border-radius: 0px;
		-webkit-border-radius: 0px;
		}
	#header a,
	#header a:hover,
	.transparent-nav #header a,
	.transparent-nav #header a:hover
	{
		background:none;
		color: #333 !important;
	}
	#navigation .menu a.sf-with-ul:hover,
	.menu li.sfHover
	{
		background:none !important;
		color:#fff;
	}
	.menu li {
		width: 50%;
		text-align: center;
		}
	.menu li a {
		display: block;
		margin: 0px -1px -1px 0px;
		}
	.sub-menu, .menu li li {
		display: none;
		}
	.menu a.sf-with-ul {
		padding-right: 12px;
		}
	a > .sf-sub-indicator {
		display: none;
		}
	.featured-slideshow .slide-info .slide-text {
		margin-top: -20px;
		}
	.featured-slideshow .slide-info h2.title a {
		font-size: 1.4rem;
		letter-spacing: -0.6px;
		}
	.featured-slideshow .slide-info {
		display: none;
		}
	.featured-slideshow .feature-vid {
		margin: 24px !important;
		padding: 12px;
		}
	.featured-slideshow .feature-vid iframe,
	.featured-slideshow .feature-vid embed,
	.featured-slideshow .feature-vid object {
		max-height: none;
		}
	.featured-slideshow .slide-info.video-info {
		display: none;
		}
	.format-quote.blog-page blockquote:before {
		margin-top: -12px;
		margin-left: -20px;
		}
	.format-quote.blog-page blockquote:after {
		margin-top: -10px;
		}
	.format-image, .format-standard, .format-video {
		min-height: 0px;
		}
	.feature-vid iframe,
	.feature-vid embed,
	.feature-vid object {
		max-height: 180px;
		}
	.article .feature-img, 
	.article .feature-vid {
		padding: 12px;
		}
	.homepage_top {
		margin: 0 0 25px 0;
	}
	.homepage_top .widget_sp_image {
		min-height: auto;
	}
	.feature-icon-new {
		width:50px;
		height:50px;
		border-radius:25px;
		background:#fff;
	}
	.active .feature-icon-new {
		background:#F14B21;
	}
	.homepage_bottom .widget_sp_image-description, .homepage_bottom h4 {
		width: 80%;
		padding: 0 10%;
		text-align: center !important;
	}
	.featured-slideshow .slide-info,.play_icon {
	display: none;
	}
	.homepage_mid .testimonial_wrapper p {
		width: 100%;
	}
	.page-template-page-home-php a.btn {
		float: none;
		margin: 0 0 20px 0;
	}
	.or { display:none; }
	.postmeta p, 
	.postdate p,
	.postauthor p {
		font-size: 0.7rem;
		}
	.postauthor p {
		float: none;
		display: block;
		text-align: left;
		}
	.postauthor p.right {
		padding-top: 0px;
		}
	.postcomments {
		padding:0 20px;
	}
	.full-width .article, .article {
		padding: 12px 4% 12px 4%;
		}
	#portfolio .three.columns {
		float: none;
		}
	#portfolio .number-next,
	#portfolio .number-prev {
		display: inline-block;
		background: #FFFFFF;  
		height: 24px;
		width: 24px;
		font-size: 0.9em;
		font-weight: bold;
		text-align: center; 
		text-decoration: none;
		line-height: 24px;
		margin-right: 4px; 
		padding: 0px; 
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		}
	#footer {
		padding: 20px 4%;
		text-align: center;
		}
	#footer .widget.copyright {
		text-align: center;
	}
	#footer .widget {
		margin-bottom: 25px;
	}
	#footer p {
		font-size: 0.7rem;
		}
	#footer .left {
		width: 100%;
		text-align: center;
		padding-bottom: 10px;
		}
	#footer .right {
		width: 100%;
		text-align: center;
		margin: 0px auto 0px;
		padding-top: 10px;
		}
	#footer .social-icons {
		float: none;
		}
	#footer .social-icons li {
		float: none;
		display: inline-block;
		margin: 5px 0px 0px 2px;
		}
	.container ul.products li.product {
		width: 100%;
		}
	.alignleft {
		float: none;
		display: block;
		margin: 12px auto 12px;
		}
	.alignright {
		float: none;
		display: block;
		margin: 12px auto 12px;
		}
		
	/* Grid */
	
	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; 
		}
	[class*="column"]:before, [class*="column"]:after { 
		content:""; 
		display:table; 
		}
	[class*="column"]:after { 
		clear: both; 
		}
	
	.offset-by-one, .offset-by-two, .offset-by-two-and-half, .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-padding {
		padding:12px 4%;
	}
	
	/* 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%; }
	
	.pricing_grid {
		width: 96%;
		margin: 0 2%;
	}
	.pricing_right_link {
		position: relative;
		width: 100%;
		text-align: center;
		float: left;
		bottom: 0;
	}
	.extra-text {
		display:none;
	}
	.testimonials .testimonial_wrapper img {
		float:none;
		margin:auto;
		display:block;
	}
	.page-template-page-home-php .testimonials .testimonial_wrapper .quote {
		padding:20px;
		width:100%;
	}
	.home_resources .columns {
		text-align:center;
	}
	
	.appeared, .appeared .callout, .appeared li, .appeared img {
    	transition-delay: 0s !important;
    	transition: all 0s !important;
	}
	#demoPageWrapper .gform_heading {
		width: 100%;
		float: none;
	}
	#demoFormWrapper .gform_wrapper span.gform_description, #demoPageWrapper .gform_wrapper span.gform_description {
		display:none;
	}
	#demoFormWrapper .gform_body, #demoFormWrapper .gform_footer, #demoPageWrapper .gform_body, #demoPageWrapper .gform_footer {
		width: 300px;
		float: none;
	}
	#demoFormWrapper .row, #demoPageWrapper .row {
		background:none;
	}
	#demoFormWrapper li label, #demoFormWrapper .gform_wrapper .top_label .gfield_label, #demoPageWrapper li label, #demoPageWrapper .gform_wrapper .top_label .gfield_label {
		background:none;
	}
	.container .gform_wrapper input[type="text"] {
		margin-left:0;
	}
	#demoFormWrapper #gform_submit_button_20, #demoPageWrapper #gform_submit_button_20, #demoFormWrapper #gform_submit_button_21, #demoPageWrapper #gform_submit_button_21, #demoFormWrapper #gform_submit_button_22, #demoPageWrapper #gform_submit_button_22  {
		margin-left:0;
		width:100%;
	}
	.page-id-993 .container .gform_wrapper, .page-id-3214 .container .gform_wrapper, .page-id-3204 .container .gform_wrapper, .page-id-3102 .container .gform_wrapper, .page-id-3314 .container .gform_wrapper, .container #gform_wrapper_20 {
		padding-bottom:0;
	}
}
	
	
/* 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; 
		}
	.zilla-one-half { width: 92% !important;padding: 0 4%; }
	.zilla-one-third { width: 92% !important;padding: 0 4%; }
	.zilla-two-third { width: 92% !important;padding: 0 4%; }
	.zilla-one-fourth { width: 92% !important;padding: 0 4%; }
	.zilla-three-fourth { width: 92% !important;padding: 0 4%; }
	.zilla-one-fifth { width: 92% !important;padding: 0 4%; }
	.zilla-two-fifth { width: 92% !important;padding: 0 4%; }
	.zilla-three-fifth { width: 92% !important;padding: 0 4%; }
	.zilla-four-fifth { width: 92% !important;padding: 0 4%; }
	.zilla-one-sixth { width: 92% !important;padding: 0 4%; }
	.zilla-five-sixth { width: 92% !important;padding: 0 4%; }
	.testimonial_grid ul li {
		width: 48%;
		margin: 25px 1% 25px 1%;
	}
	.three_grid_wrapper ul li.three_col_testimonials {
	width: 92%;
	padding: 0 4%;
	margin: 25px 0 25px 0;
	}
	.testimonials .row .four {
		width: 90%;
		margin: 0 10%;
	}
}
	
	

/* -------------------------------------------------- 
	:: 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-desktops { display: table !important; }
table.hide-on-phones { display: table !important; }	
table.hide-on-tablets { display: table !important; }

@media only screen and (max-width: 1280px) and (min-width: 768px) {
	.touch table.hide-on-phones { display: table !important; }
	.touch table.hide-on-desktops { display: table !important; }
	.touch table.show-on-tablets { display: table !important; }
}

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