@media (max-width: 1550px) { 
	.wrapper { max-width: 1100px; margin: 0 auto; }
	#header #logo,
	#header.smaller #logo { width: 240px; height: 80px; background: url(_gfxlib/logo480.png) no-repeat center; background-size: contain; }
	.fullwidthpromo { flex-direction: column; flex-wrap: wrap; }
	#ajaxform { width: 80%; margin: 1rem 10%; }
	.formblock { width: 90%; }
	.fullwidthpromo .mapblock { width: 96%; }
}
@media (max-width: 1150px) {
	.wrapper { max-width: 960px; margin: 0 auto; }
	#header { height: auto; }
	#header #logo,
	#header.smaller #logo { float: none; margin: 5px auto 10px auto; width: 240px; height: 80px; background: url(_gfxlib/logo480.png) no-repeat center; background-size: contain; }
	#header.smaller  { position: relative; transition: all 0.4s ease-in-out; -webkit-transition: all 0.4s ease-in-out; -moz-transition: all 0.4s ease-in-out; }
	#topauth { display: none; }
	#header #topcontacttext { display: none; }
	#header #topcontact { margin-top: -60px; font-size: 2rem; width: auto; }
	#contactlink { top: 100px; } /* Offset the -100px in Smooth Scroll */
	#menuwrapper { margin: 2rem 0 0 0; width: 100%; max-width: none; float: none; display: block; text-align: center; }
	#menu { display:none; }
	#menu .resmenu { display: block; }
	.slicknav_menu { display:block; }
	#mainbanner { padding: 0; max-height: none; margin-top: 100px; }
	#mainbanner .mainimage .caption { position: absolute; width: 90%; max-width: none; margin: auto; top: 200px; left: 30px; margin-left: -20px; }
	#mainbanner .wrapper .caption h1, .mainimage .caption h1, #mainbanner .wrapper .caption h2, .mainimage .caption h2 { font-size: 3rem; }
	#mainbanner .wrapper .caption h2, .mainimage .caption h2 { font-size: 2rem; }
	#signinform { width: 98%; margin: 0 1%; }
	.toppad { margin-top: 150px; }
	#signuplink { float: left; width: 100%; margin-bottom: 150px; }
	.fullwidthpromo { flex-direction: column; flex-wrap: wrap; }
	#ajaxform { width: 98%; margin: 1rem 1%; }
	.sectionflex .flexpromo { width: 80%; margin: 2rem 10%; }
}
@media (max-width:990px) {
	.wrapper { max-width: auto; width: 100%; margin: 0 auto; }
	#mainbanner .mainimage img { height: 500px; width: auto; overflow: hidden; }
	#mainbanner { height: 500px; }
	.contentwrapper .testimonialimage { margin: 1rem 0; width: 100%; }
	.formblock { width: 90%; }
	.fullwidthpromo .mapblock { width: 96%; }
	.homeflexwrapper .highlightbox .title h2 { font-size: 1.25rem; }
	.fullwidthpromo .textblock h2 { font-size: 2rem; }
	.fullwidthpromo .textblock p { font-size: 1.25rem; }
	.homeflexwrapper { margin: 2rem 0; }
	.homeflexwrapper .highlightbox { width: 48%; }
	.formblock { width: 90%; padding: 1rem 1%; margin: 0 4%; }
	.sectionflex70 { width: 90%; margin: 0 5%; }
}
@media (max-width:769px) {
	#mainbanner .wrapper .caption h1, .mainimage .caption h1, #mainbanner .wrapper .caption h2, .mainimage .caption h2 { font-size: 2.5rem; }
	#mainbanner .wrapper .caption h2, .mainimage .caption h2 { font-size: 1.75rem; }
	.sectionrow section { padding: 2rem 0; }
	.sectionflex .flexitem { width: 30%; margin: 2rem 5%; }
	.sectionflex .flexpromo { width: 80%; margin: 2rem 10%; }
	.sectionflex .flex40, .sectionflex .flex50 { width: 80%; margin: 1rem 10%; }
	.sectionrow .profileimage { width: 50%; margin: 1rem 25%; }
	.homeflexwrapper .highlightbox { width: 100%; flex-direction: column; margin: 0 0 2rem 0; }
	.homeflexwrapper .highlightbox .image { width: 100%; }
	.homeflexwrapper .highlightbox .contentwrap { width: 94%; }
	.contentwrapper .testimonialimage { margin: 1rem 0; width: 100%; flex-wrap: wrap; }
	.contentwrapper .testimonialimage .image { float: left; width: 100%; }
	.contentwrapper .testimonialimage .text { width: 90%; }
	.contentwrapper .testimonial p,
	.contentwrapper .testimonialimage p { font-size: 1.5rem; }
	#footer #creditswrapper #copyright,
	#footer #creditswrapper #webcredit { width: 98%; margin: 1em 1%; }
	#footer { text-align: center; }
	#footer #creditswrapper #webcredit { text-align: center; }
	#footer #social,
	#footer #logos { float: none; width: 100%; display: inline-block; margin: .5rem 0 0 0; text-align: center; }
	#footer #social img,
	#footer #logos img,
	#footer #logos i { margin: .5rem; float: none; display: inline-block; }
	#footer #social i { font-size: 2rem; }
	.brandwrap img { max-width: 150px; height: auto; margin: 0 auto; }
}
@media (max-width:650px) {
	.toppad { margin-top: 120px; }
	.sectionrow section .narrow { width: 90%; margin: 0 auto; }
	.sectionflex .flexpromo { width: 90%; margin: 2rem 5%; }
	.sectionflex .flexpromo .image { height: 150px; }
	.sectionflex .flexpromo h2 { margin: 1rem 0 0 0; }
	.contentwrapper { margin: 10px 5%; padding: 10px 0; }
	.contentwrapper .preview #contentform { width: 96%; margin: 1em 2%; max-width: none; }
	.contentwrapper .preview .imgright { width: 80%; margin: 1em 10%; }
	#contentform #ajaxform .formlayout { width: 96%; margin: 0 2%; }
	.contentwrapper .profile,
	.contentwrapper .profile.profileright { float: left; width: 80%; margin: 1rem 0; padding: 0 10%; }
	.contentform .formlayout li.halfwidth { width: 98%; }
}
@media (max-width:550px) {
	#header #logo,
	#header.smaller #logo { float: none; margin: 10px auto; width: 210px; height: 70px; background: url(_gfxlib/logo480.png) no-repeat center; background-size: contain; }
	.contenttable th,
	.contenttable td { font-size: 90%; }
	.contenttable .resphide { display: none; }
	.contentwrapper .image50 img { float: left; width: 90%; margin: .125rem 5%; }
	.contentwrapper .image50 img.responsivehide { display: none; }
	.sectionrow .profileimage { width: 70%; margin: 1rem 15%; }
}