/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media screen {
	
	/* -------- overall -------- */
	
	html {
		height:100%;
	}
	
	body {
		margin:0;
		font-family:proxima-nova,sans-serif;
		font-size:16px;
		font-weight:300;
		line-height:130%;
		background-color:#eee;
		color:#222;
	}
		
	.site_maxwidth {
		width:100%;
		max-width:1920px;
		margin:0 auto;
		background-color:#fff;
		overflow:hidden;
	}
	
	.panel_maxwidth {
		width:90%;
		max-width:1600px;
		margin:0 auto;
	}
	
	.panel_padding {
		padding:32px 0;
	}
	
	.panel_padding.more_padding {
		padding:64px 0;
	}
		
	p {
		margin:0.75em 0;
	}
		
	h1,h2,h3,h4 {
		line-height:105%;
		margin-top:1.25em;
		margin-bottom:0.75em;
	}
	
	h1 {
		font-size:2em;
	}
	
	h2 {
		font-size:1.8em;
	}
	
	h3 {
		font-size:1.6em;
	}
	
	h4 {
		font-size:1.2em;
	}
	
	a {
		color:#005698;
	}
	
	p:first-child,
	h1:first-child,
	h2:first-child,
	h3:first-child,
	h4:first-child,
	h5:first-child {
		margin-top:0;
	}
	
	p:last-child,
	h1:last-child,
	h2:last-child,
	h3:last-child,
	h4:last-child,
	h5:last-child {
		margin-bottom:0;
	}
	
	hr {
		color:#ddd;
		margin:3em 0;
	}
	
	figure {
		margin:1.2em 0;
	}
	
	blockquote {
		margin:1.2em 0;
		padding:0 0 0 1.2em;
		border-left:2px solid #ddd;
	}
		
	/* ---- buttons ---- */
	
	.button {
		display:inline-block;
		line-height:105%;
		padding:8px 12px;
		border:none;
		border-radius:8px;
		background-color:#222;
		color:#fff;
		text-decoration:none;
		font-weight:500;
	}
	
	.button.large {
		padding:12px 16px;
	}
	
	.button.darkblue {
		background-color:#005698;
	}
	
	.button.blue {
		background-color:#37aae1;
	}
		
	.button.white {
		background-color:#fcfcfc;
		color:#222;
	}
	
	.button.grey {
		background-color:#eee;
		color:#222;
	}
	
	.button.bluegrey {
		background-color:#c6d4d9;
		color:#222;
	}
	
	.button.outline {
		background-color:transparent;
		border:1px solid #222;
	}
	
	.button.outline.darkblue {
		border-color:#005698;
		color:#005698;
	}
	
	.button.outline.blue {
		border-color:#37aae1;
		color:#37aae1;
	}
	
	.button.outline.white {
		border-color:#fff;
		color:#fff;
	}
	
	/* ---- forms ---- */
  	
	.form {
		
	}
	
	.form .freeform-row {
		flex-direction:column;
		margin:0 -8px;
	}
	
	.form .freeform-row .freeform-column {
		padding:8px 0;
		margin:0 8px;
	}
	
	.form .freeform-row .freeform-column .freeform-label {
		font-weight:500;
		margin:0 0 4px 0;
	}
	
	.form .freeform-row .freeform-column .freeform-input {

	}
	
	.form input[type='text'],
	.form input[type='email'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='password'],
	.form input[type='date'],
	.form input[type='time'],
	.form input[type='search'],
	.form input[type='url'] {
		height:40px;
		padding:0 8px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		background-color:#fff;
		color:#222;
		font-size:16px;
	}
	
	.form input[type='text']:focus,
	.form input[type='email']:focus,
	.form input[type='number']:focus,
	.form input[type='tel']:focus,
	.form input[type='password']:focus,
	.form input[type='date']:focus,
	.form input[type='time']:focus,
	.form input[type='search']:focus,
	.form input[type='url']:focus {
		border-color:#666;
		outline:none;
		box-shadow:none;
	}
	
	.form input[type='text']:invalid,
	.form input[type='email']:invalid,
	.form input[type='number']:invalid,
	.form input[type='tel']:invalid,
	.form input[type='password']:invalid,
	.form input[type='date']:invalid,
	.form input[type='time']:invalid,
	.form input[type='search']:invalid,
	.form input[type='url']:invalid {
		border-bottom-color:#dc5d08;
		box-shadow:none;
		outline:none;
	}
	
	.form textarea {
		padding:8px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		resize:vertical;
		min-height:160px;
	}
  
  .form textarea.address {
    min-height:50px;
  }
	
	.form textarea:focus {
		border-color:#666;
		outline:none;
		box-shadow:none;
	}
	
	.form textarea:invalid {
		border-bottom-color:#dc5d08;	
	}
	
	.form .checkbox_label {
		display:block;
		padding:8px;
		background-color:#fff;
		margin:2px 0;
	}
	
	.form .checkbox_label.checked {
		background-color:#37aae1;
		color:#fff;
	}
	
	.form button.button {
		border:none;
	}
	
	body[data-popup='quote'] {
		background-color:#f5f5f5;
		max-width:768px;
	}
	
	#popup_quote {
		box-sizing:border-box;
		max-width:768px;
		background-color:#f5f5f5;
		color:#222;
		font-size:16px;
	}
	
	.popup .popup_top {
		padding:24px 16px;
		background-color:#37aae1;
		background-size:cover;
		background-position:center center;
		color:#fff;
	}
	
	.popup .popup_top .headline {
		margin-bottom:0.25em;
	}
	
	.popup .popup_top .subline {
		margin:0;
	}
	
	.popup .popup_main {
		padding:24px 16px;
	}

	/* -------- header -------- */
	
	#header {
		position:relative;
		background-color:#fff;
		/*box-shadow:0 0 8px rgba(0,0,0,0.1);*/
		z-index:900;
	}
	
	#header .header_top .get_quote,
	#header .header_bot .get_quote {
		display:inline-block;
		padding:8px;
		background-color:#005698;
		color:#fff;
		text-decoration:none;
		border-radius:4px;
		font-size:0.8em;
		font-weight:700;
		line-height:100%;
	}
	
	#header .header_top {
		display:flex;
		justify-content:space-between;
		padding:16px;
	}
	
	#header .header_top .top_left {
		display:flex;
		justify-content:flex-start;
		align-items:center;
	}
		
	#header .header_top .top_right {
		display:flex;
		justify-content:flex-end;
		align-items:center;
		margin:0 0 0 16px;
	}
	
	#header .header_top .logo {
		display:inline-block;
	}
	
	#header .header_top .logo img {
		width:128px;
		height:auto;
		vertical-align:middle;
	}
	
	#header .header_top .get_quote {
		
	}
	
	#header .header_top .nav_button {
		display:inline-block;
		padding:8px;
		margin:0 0 0 8px;
	}
	
	#header .header_top .nav_button img {
		width:24px;
		height:auto;
		vertical-align:middle;
	}
		
	#header .header_bot {
		background-color:#f9f9f9;
		display:none;
	}
	
	#header.open .header_bot {
		display:block;
	}
	
	#header .header_bot .get_quote_wrap {
		padding:8px 16px 16px 16px;
	}
	
	#header .header_bot .get_quote {
		
	}
	
	#header .header_bot .phone_wrap {
		
	}
	
	#header .header_bot .phone {
		color:#005698;
		font-weight:700;
	}
	
	#header .header_bot ul {
		padding:0;
		margin:0;
	}
	
	#header .header_bot ul li {
		list-style:none;
	}
	
	#header .header_bot ul li a {
		display:block;
		text-decoration:none;
		color:#222;
		font-weight:500;
	}
			
	#header .header_bot > ul > li > a {
		padding:8px 16px;
		font-size:1.2em;
	}
		
	#header .header_bot > ul > li:first-child > a {
		padding-top:16px;
	}
	
	#header .header_bot > ul > li > ul > li > a {
		padding:4px 16px 4px 24px;
	}
	
	/* -------- footer -------- */
	
	#footer {
		background-color:#222;
		color:#fff;
	}
	
	#footer a {
		color:#fff;
		text-decoration:none;
	}
	
	#footer .footer_top {
		
	}
	
	#footer .footer_top .cols {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	#footer .footer_top .col {
		margin:8px;
	}
	
	#footer .footer_top .col.logo img {
		width:128px;
		height:auto;
	}
	
	#footer .footer_top .col.contact .phone {
		font-size:1.2em;
	}
	
	#footer .footer_top .col.icons {
		display:flex;
	}
	
	#footer .footer_top .col.icons .icon {
		margin:0 12px 0 0;
	}
	
	#footer .footer_top .col.icons .icon img {
		width:auto;
		height:auto;
		max-width:24px;
		max-height:24px;
		vertical-align:middle;
	}
	
	#footer .footer_bottom {
		background-color:#111;
		padding:16px 0;
		font-size:0.9em;
		color:#ccc;
	}
	
	#footer .footer_bottom .item {
		display:inline-block;
		color:#ccc;
	}
	
	#footer .footer_bottom .divider {
		display:inline-block;
	}
	
	/* -------- page general -------- */
	
	.page_intro {
		margin:0 0 32px 0;
	}
	
	.page_intro .page_headline {
		color:#003d6b;
		margin:0;
	}
	
	.page_intro .page_subline {
		font-weight:500;
		font-size:1.1em;
		line-height:130%;
		margin:8px 0 0 0;
	}
	
	#basic_page .panel_maxwidth {
		max-width:1280px;
	}
	
	/* -------- home -------- */
	
	#home_feature {
		position:relative;
		display:flex;
		align-items:center;
		background-color:#37aae1;
		color:#fff;
		min-height:320px;
		z-index:10;
	}
	
	#home_feature .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		background-size:cover;
		background-position:center center;
	}
	
	#home_feature .bg.bg_mobile {
		display:block;
	}
	
	#home_feature .bg.bg_tablet {
		display:none;
	}
	
	#home_feature .bg.bg_desktop {
		display:none;
	}
	
	#home_feature .bg.bg_video {
		display:none;
		width:100%;
		height:100%;
		object-fit:cover;
	}
	
	#home_feature .fg {
		width:100%;
		z-index:20;
	}
	
	#home_feature .panel_maxwidth {
		display:flex;
		width:80%;
	}
	
	#home_feature .fg .text {
		
	}
	
	#home_feature .fg .image {
		display:none;
	}
	
	#home_feature .fg .image .cutout {
		
	}
	
	#home_feature .h1 {
		position:absolute;
		left:-9000px;
	}
	
	#home_feature .headline {
		font-size:1.8em;
		font-weight:700;
		line-height:105%;
		margin:0 0 12px 0;
	}
	
	#home_feature .subline {
		color:#dff5ff;
		font-size:1.1em;
		font-weight:500;
		line-height:120%;
	}
	
	#home_feature .action {
		margin:12px 0 0 0;
	}
	
	#home_boxes {
		position:relative;
		z-index:20;
	}
	
	#home_boxes .box {
		position:relative;
		display:flex;
		align-items:center;
		padding:32px 10%;
		background-size:cover;
		background-position:center center;
	}
	
	#home_boxes .box .headline {
		margin-bottom:0.5em;
	}
	
	#home_boxes .box .subline {
		
	}
		
	#home_boxes .box .cols {
		display:flex;
		align-items:center;
	}
	
	#home_boxes .box .col_image {
		margin:0 24px 0 0;
		text-align:center;
	}
	
	#home_boxes .box .col_image .cutout {
		width:auto;
		height:auto;
		max-width:48px;
		max-height:96px;
		vertical-align:middle;
	}
	
	#home_boxes .box_residential {
		background-color:#005698;
		color:#fff;
	}
	
	#home_boxes .box_residential .action {
		display:flex;
	}
	
	#home_boxes .box_residential .action .select {
		background-color:#fcfcfc;
		border:none;
		width:96px;
		border-top-left-radius:8px;
		border-bottom-left-radius:8px;
		padding:0 12px;
	}
	
	#home_boxes .box_residential .action .button {
		border-top-left-radius:0;
		border-bottom-left-radius:0;
	}
	
	#home_boxes .box_commercial {
		background-color:#f5f5f5;
	}
	
	#home_boxes .box_batteries {
		background-color:#37aae1;
		color:#fff;
	}
	
	#home_boxes .box_grants {
		background-color:#eeeeee;
	}
	
	#home_boxes .box_grants .headline {
		font-weight:500;
	}
	
	#home_boxes .box_photo {
		background-color:#999;
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			display:grid;
			grid-template-columns:auto;
			grid-auto-rows:minmax(256px,auto);
		}

		#home_boxes .box {
			
		}
				
	}
	
	#panel_benefits .panel_maxwidth {
		width:80%;
	}
		
	#panel_benefits .headline {
		text-align:center;
		color:#005698;
		font-weight:500;
	}
	
	#panel_benefits .items {
		display:flex;
		flex-direction:column;
		margin:-12px;
	}
	
	#panel_benefits .items .item {
		margin:12px auto;
		text-align:center;
	}
	
	#panel_benefits .items .item .image {
		display:flex;
		justify-content:center;
		align-items:flex-end;
		height:64px;
		margin:0 0 16px 0;
	}
	
	#panel_benefits .items .item .image .icon {
		width:auto;
		height:auto;
		max-width:64px;
		max-height:64px;
		vertical-align:bottom;
	}
	
	#panel_benefits .items .item .text {
		max-width:192px;
		margin:0 auto;
	}
	
	#panel_benefits .items .item .text .item_headline {
		font-size:1.2em;
		margin:0 0 0.25em 0;
		line-height:110%;
	}
	
	#panel_benefits .items .item .text .excerpt {
		margin:0.25em 0 0 0;
	}
	
	#home_testimonial {
		position:relative;
		display:flex;
		align-items:center;
		background-size:cover;
		background-position:center center;
		min-height:256px;
	}
	
	#home_testimonial .overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#eee;
		opacity:0.75;
		z-index:10;
	}
	
	#home_testimonial .panel_maxwidth {
		position:relative;
		width:80%;
		z-index:20;
	}
	
	#home_testimonial .items {
		max-width:512px;
		margin:0 auto 0 0;
		color:#003d6b;
	}
	
	#home_testimonial .items .item {
		display:block;
		color:#222;
		text-decoration:none;
	}
	
	#home_testimonial .items .item .text {
		color:#003d6b;
		font-size:1.2em;
		font-weight:500;
		line-height:120%;
	}
	
	#home_testimonial .items .item.google {
		margin:0 0 24px 0;
	}
	
	#home_testimonial .items .item.google .stars {
		display:flex;
		margin:0 0 12px 0;
	}
	
	#home_testimonial .items .item.google .stars .star {
		width:auto;
		height:auto;
		max-width:24px;
		max-height:24px;
		margin:0 8px 0 0;
	}
	
	#home_testimonial .items .item.google .quote {
		font-size:1em;
		font-weight:300;
		line-height:120%;
		color:#666;
		margin:8px 0 0 0;
	}
	
	#home_testimonial .items .item.sunwiz {
		display:flex;
		flex-direction:column;
	}
	
	#home_testimonial .items .item.sunwiz .icon {
		margin:0 0 12px 0;
	}
	
	#home_testimonial .items .item.sunwiz .icon .icon_img {
		width:auto;
		height:auto;
		max-width:64px;
		max-height:64px;
		vertical-align:top;
	}
	
	#home_testimonial .items .item.sunwiz .text br {
		display:none;
	}
	
	#panel_brands {
		
	}
	
	#panel_brands .top {
		max-width:512px;
		margin:0 auto;
		text-align:center;
	}
	
	#panel_brands .headline {
		color:#005698;
		font-weight:500;
	}
	
	#panel_brands .items {
		display:flex;
		margin:24px auto 0 auto;
		justify-content:center;
		max-width:1024px;
	}
	
	#panel_brands .items .item {
		flex:1 1 auto;
		width:100%;
		margin:0 2%;
	}
	
	#panel_brands .items .item img {
		width:90%;
		height:90%;
		object-fit:contain;
		filter:grayscale(100%);
		opacity:0.5;
	}
	
	#panel_get_quote {
		background-size:cover;
		background-position:center center;
		object-position:center center;
	}
	
	#panel_get_quote .panel_maxwidth {
		max-width:1280px;
	}
	
	#panel_get_quote .box {
		background-color:#37aae1;
		color:#fff;
		padding:32px 24px;
		max-width:512px;
		margin:0 auto 0 0;
	}
	
	#panel_get_quote .headline {
		margin:0 0 0.25em 0;
		line-height:105%;
	}
	
	#panel_get_quote .subline {
		margin:0.5em 0;
		line-height:120%;
	}
	
	#panel_get_quote .action {
		margin:0.75em 0 0 0;
	}
	
	#alert_bar {
		position:relative;
		display:block;
		z-index:10;
		padding:24px 0;
		background-color:#003d6b;
		color:#fff;
	}
	
	#alert_bar .inner {
		display:flex;
		flex-direction:column;
		width:90%;
		max-width:1024px;
		margin:0 auto;
	}
	
	#alert_bar .col_text {
		
	}
	
	#alert_bar .headline {
		line-height:105%;
		font-size:1.4em;
		font-weight:700;
		margin:0 0 8px 0;
	}
	
	#alert_bar .message {
		line-height:120%;
		font-size:1em;
		font-weight:500;
	}
	
	#alert_bar .col_action {
		margin:12px 0 0 0;
	}
	
	/* -------- services list -------- */
	
	#page_service_list {
		background-color:#f5f5f5;
	}
		
	#page_service_list .boxes {
		display:flex;
		flex-direction:column;
	}
	
	#page_service_list .boxes .box {
		text-decoration:none;
		background-color:#fff;
		background-size:cover;
		background-position:center center;
		color:#222;
	}
	
	#page_service_list .boxes .box.residential {
		background-color:#37aae1;
		color:#fff;
	}
	
	#page_service_list .boxes .box.commercial {
		background-color:#005698;
		color:#fff;
	}
	
	#page_service_list .boxes .box.maintenance {
		background-color:#fff;
	}
	
	#page_service_list .boxes .box.batteries {
		background-color:#dbe6ea;
	}
	
	#page_service_list .boxes .box.leasing {
		background-color:#ddd;
	}
	
	#page_service_list .boxes .box.photo {
		
	}
	
	#page_service_list .boxes .box {
		display:flex;
		align-items:center;
		padding:24px;
	}
	
	#page_service_list .boxes .box .cols {
		display:flex;
		flex-direction:column;
		width:100%;
	}
	
	#page_service_list .boxes .box .cols .col_image {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 128px;
		margin:0 0 24px 0;
	}
	
	#page_service_list .boxes .box .cols .col_image .cutout {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:128px;
	}
	
	#page_service_list .boxes .box .cols .col_text {
		flex:1 1 auto;
	}
	
	#page_service_list .boxes .box .headline {
		margin:0 0 8px 0;
		line-height:105%;
	}
	
	#page_service_list .boxes .box .subline {
		margin:8px 0;
		line-height:130%;
	}
	
	#page_service_list .boxes .box .action {
		margin:12px 0 0 0;
	}
	
	#page_service_list .boxes .box .action .button {
		margin:4px 4px 0 0;
	}
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			display:grid;
			grid-template-columns:auto;
			grid-auto-rows:minmax(256px,auto);
			grid-gap:16px;
		}

		#page_service_list .boxes .box {
			
		}
				
	}
		
	/* -------- service detail -------- */
	
	#page_service_detail .panel_headline {
		color:#005698;
	}
	
	#banner_headline {
		background-color:#37aae1;
		background-size:cover;
		background-position:center center;
		color:#fff;
		padding:64px 0 24px 0;
	}
	
	#service_intro {
		
	}
	
	#service_intro .panel_maxwidth {
		max-width:1280px;
	}
	
	#service_intro .cols {
		display:flex;
		flex-direction:column;
	}
	
	#service_intro .col_main {
		margin:0 0 32px 0;
		padding:0 0 32px 0;
		border-bottom:1px solid #ddd;
	}
	
	#service_intro .col_sidebar {
		
	}
	
	#service_intro .col_sidebar .headline {
		font-size:1.6em;
		line-height:105%;
		margin:0 0 8px 0;
	}
	
	#service_intro .col_sidebar .subline {
		color:#666;
	}
	
	#service_intro .col_sidebar .form .freeform-row {
		flex-direction:column;
	}
	
	#service_intro .intro_image {
		margin:0 0 24px 0;
	}
	
	#service_intro .intro_image img {
		width:100%;
		height:auto;
		vertical-align:top;
	}
	
	#service_intro .intro_content {
		
	}
	
	#service_intro .intro_content p {
		font-weight:500;
		font-size:1.1em;
		line-height:120%;
	}
	
	#service_intro .intro_content .checklist {
		margin:32px 0 0 0;
		padding:0;
	}
	
	#service_intro .intro_content .checklist li {
		list-style:none;
		display:flex;
		font-weight:700;
		line-height:120%;
		margin:8px 0;
	}
	
	#service_intro .intro_content .checklist li .tick {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	#service_intro .intro_content .checklist li .tick img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	#service_intro .intro_content .checklist li .text {
		flex:1 1 auto;
	}
	
	#service_more {
		background-color:#f5f5f5;
	}
	
	#service_more .cols {
		display:flex;
		flex-direction:column;
	}
	
	#service_more .col_text {
		display:flex;
		padding-right:5%;
		padding-left:5%;
	}
	
	#service_more .col_text p {
		line-height:130%;
	}
		
	#service_more .col_text .inner {
		
	}
	
	#service_more .col_text .action {
		margin:24px 0 0 0;
	}
	
	#service_more .col_image {
		flex:0 0 256px;
		background-color:#ccc;
	}
	
	#service_more .col_image img {
		width:100%;
		height:100%;
		object-fit:cover;
	}
	
	#panel_brands_alt {
		
	}
	
	#panel_brands_alt .panel_maxwidth {
		max-width:1280px;
	}
	
	#panel_brands_alt .cols {
		display:flex;
		flex-direction:column;
	}
	
	#panel_brands_alt .col_text {
		margin:0 0 24px 0;
	}
	
	#panel_brands_alt .col_text p {
		line-height:130%;
	}
	
	#panel_brands_alt .col_logos {
		
	}
	
	#panel_brands_alt .col_logos .items {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		margin:-8px;
	}
	
	#panel_brands_alt .col_logos .items .item {
		flex:1 1 auto;
		width:100%;
		max-width:64px;
		max-height:64px;
		margin:8px;
	}
	
	#panel_brands_alt .col_logos .items .item img {
		width:90%;
		height:90%;
		object-fit:contain;
		object-position:center center;
		filter:grayscale(100%);
		opacity:0.5;
	}
	
	#service_process {
		padding:16px;
		background-color:#ccc;
		background-size:cover;
		background-position:center center;
	}
	
	#service_process .box {
		background-color:#fff;
		padding:32px 16px;
	}
	
	#service_process .intro {
		margin:0 0 16px 0;
		text-align:center;
	}
	
	#service_process .steps {
		display:flex;
		flex-direction:column;
		max-width:1280px;
		margin:0 auto;
	}
	
	#service_process .steps .col {
		position:relative;
		display:flex;
		flex-direction:column;
	}
	
	#service_process .steps .line {
		position:absolute;
		z-index:10;
		top:0;
		bottom:0;
		left:14px;
		width:4px;
		background-color:#aad8f0;
	}
	
	#service_process .steps .step {
		position:relative;
		z-index:20;
		display:flex;
		flex-direction:row;
		flex:1 1 auto;
		padding:12px 0;
	}
		
	#service_process .steps .col_1 .step.first_in_col:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		bottom:50%;
		left:0;
		width:32px;
		background-color:#fff;
		z-index:5;
	}
		
	#service_process .steps .col_2 .step.last_in_col:before {
		position:absolute;
		display:block;
		content:'';
		top:50%;
		bottom:0;
		left:0;
		width:32px;
		background-color:#fff;
		z-index:5;
	}	
	
	#service_process .steps .step .icon {
		position:relative;
		display:flex;
		align-items:center;
		flex:0 0 32px;
		margin:0 16px 0 0;
		z-index:10;
	}
	
	#service_process .steps .step .icon .circle {
		position:relative;
		display:flex;
		justify-content:center;
		align-items:center;
		width:32px;
		height:32px;
		border-radius:50%;
		font-size:1.2em;
		font-weight:700;
		text-align:center;		
		background-color:#37aae1;
		color:#fff;
		z-index:15;
	}
	
	#service_process .steps .step.first_step .icon .circle:before,
	#service_process .steps .step.last_step .icon .circle:before {
		position:absolute;
		content:'';
		top:-2px;
		right:-2px;
		bottom:-2px;
		left:-2px;
		border:1px solid #37aae1;
		border-radius:50%;
		z-index:5;
	}
	
	#service_process .steps .step.first_step .icon .circle:after,
	#service_process .steps .step.last_step .icon .circle:after {
		position:absolute;
		content:'';
		top:-1px;
		right:-1px;
		bottom:-1px;
		left:-1px;
		border:1px solid #fff;
		border-radius:50%;
		z-index:10;
	}
	
	#service_process .steps .step .text {
		flex:1 1 auto;
	}
	
	#service_process .steps .step .headline {
		margin:0 0 8px 0;
		font-size:1.2em;
		line-height:105%;
	}
	
	#service_process .steps .step .excerpt p {
		line-height:120%;
	}
	
	#service_pricing {
		background-color:#f5f5f5;
	}
	
	#service_pricing .panel_maxwidth {
		max-width:1024px;
	}
	
	#service_pricing .intro.panel_maxwidth {
		max-width:768px;
	}
	
	#service_pricing .intro {
		margin-bottom:32px;
		text-align:center;
	}
	
	#service_pricing .intro p {
		line-height:130%;
	}
	
	#service_pricing .intro .action {
		margin:24px 0 0 0;
	}
	
	#service_pricing .pricing_table {
		display:flex;
		flex-direction:column;
	}
	
	#service_pricing .pricing_table .col {
		box-sizing:border-box;
		margin:4px;
		background-color:#fff;
		padding:32px 24px;
		text-align:center;
	}
	
	#service_pricing .pricing_table .col .row {
		display:flex;
		align-items:center;
		height:48px;
		line-height:110%;
		font-size:1.2em;
		font-weight:500;
	}
	
	#service_pricing .pricing_table .col .row .inner {
		width:100%;
	}
	
	#service_pricing .pricing_table .col .row_kw {
		font-size:1.4em;
		font-weight:700;
	}
	
	#service_pricing .pricing_table .col .row_kw .number {
		font-size:1.8em;
	}
	
	#service_pricing .pricing_table .col .row .small {
		font-size:0.8em;
		font-weight:300;
	}
	
	#service_pricing .pricing_table .col .row_area,
	#service_pricing .pricing_table .col .row_savings {
		height:64px;
	}
	
	#service_pricing .pricing_table .col .row_price {
		font-weight:700;
	}
	
	#service_pricing .pricing_table .col .row_price .number {
		font-size:1.2em;
	}
	
	#service_pricing .pricing_extras {
		margin-top:24px;
	}
	
	#service_pricing .pricing_extras .items {
		display:flex;
		flex-direction:column;
		margin:-12px;
	}
	
	#service_pricing .pricing_extras .item {
		display:flex;
		flex-direction:column;
		margin:12px;
		text-align:center;
	}
	
	#service_pricing .pricing_extras .item .image {
		margin:0 0 16px 0;
	}
	
	#service_pricing .pricing_extras .item .image img {
		width:auto;
		height:auto;
		max-width:32px;
		max-height:32px;
		vertical-align:top;
	}
	
	#service_pricing .pricing_extras .item .text {
		
	}
	
	#service_pricing .pricing_extras .item .text .headline {
		font-size:1.1em;
		margin:0 0 4px 0;
		line-height:105%;
	}
	
	#service_pricing .pricing_extras .item .text .subline {
		font-size:0.9em;
		margin:0;
		line-height:110%;
	}
	
	#service_pricing .pricing_terms {
		margin-top:24px;
		text-align:center;
	}
	
	#service_pricing .pricing_terms p {
		font-size:0.8em;
		line-height:110%;
	}
	
	#maintenance_intro {
		
	}
	
	#maintenance_intro .panel_maxwidth {
		max-width:1280px;
	}
	
	#maintenance_intro .cols {
		display:flex;
		flex-direction:column-reverse;
	}
	
	#maintenance_intro .cols .col_text {
		
	}
	
	#maintenance_intro .cols .col_image {
		margin:0 0 24px 0;
	}
	
	#maintenance_intro .cols .col_image .image {
		width:100%;
		height:auto;
		vertical-align:top;
	}
	
	#maintenance_services .panel_maxwidth {
		max-width:1280px;
	}
	
	#maintenance_services {
		background-color:#f5f5f5;
	}
	
	#maintenance_services .panel_top {
		width:100%;
		max-width:512px;
		margin:0 auto 32px auto;
	}
	
	#maintenance_services .items {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	#maintenance_services .items .item {
		box-sizing:border-box;
		background-color:#fff;
		margin:8px;
		padding:16px;
	}
	
	#maintenance_services .items .item .top {
		display:flex;
		flex-direction:column;
		margin:0 0 12px 0;
	}
	
	#maintenance_services .items .item .top .left {
		margin:0 0 12px 0;
	}
	
	#maintenance_services .items .item .circle {
		display:flex;
		justify-content:center;
		align-items:center;
		text-align:center;
		background-color:#37aae1;
		width:64px;
		height:64px;
		border-radius:50%;
		color:#fff;
	}
	
	#maintenance_services .items .item .circle .inner {
		
	}
	
	#maintenance_services .items .item .circle.with_suffix .inner {
		margin-top:-8px;
	}
	
	#maintenance_services .items .item .circle .price {
		font-weight:500;
	}
	
	#maintenance_services .items .item .circle .price .number {
		font-size:1.2em;
		font-weight:700;
	}
	
	#maintenance_services .items .item .circle .suffix {
		font-size:0.75em;
		line-height:110%;
		margin:-4px;
	}
	
	#maintenance_services .items .item .top .right {
		
	}
	
	#maintenance_services .items .item .headline {
		margin:0 0 4px 0;
		font-size:1.4em;
	}
	
	#maintenance_services .items .item .subline {
		color:#005698;
		font-weight:500;
		font-style:italic;
		line-height:120%;
	}
	
	#maintenance_services .items .item .bot {
		line-height:120%;
	}
	
	#maintenance_services .items .item .bot p {
		
	}
	
	#batteries_intro {
		
	}
	
	#batteries_intro .panel_maxwidth {
		max-width:1280px;
	}
	
	#batteries_intro .cols {
		display:flex;
		flex-direction:column-reverse;
	}
	
	#batteries_intro .cols .col_text {
		
	}
	
	#batteries_intro .cols .col_text .action {
		margin:16px 0 0 0;
	}
	
	#batteries_intro .cols .col_image {
		margin:0 0 24px 0;
		text-align:center;
	}
	
	#batteries_intro .cols .col_image .image {
		width:192px;
		height:auto;
		vertical-align:top;
	}
	
	#batteries_options {
		background-color:#eee;
	}
	
	#batteries_options .panel_maxwidth {
		max-width:1280px;
	}
	
	#batteries_options .top {
		margin:0 0 24px 0;
	}
	
	#batteries_options .options {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	#batteries_options .option {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		margin:8px;
	}
	
	#batteries_options .option .col_image {
		position:relative;
		border-bottom:1px solid #ddd;
	}
	
	#batteries_options .option .col_image .diagram {
		position:relative;
		width:100%;
		height:auto;
		vertical-align:top;
		z-index:10;
	}
		
	#batteries_options .option .col_image .zoom {
		position:absolute;
		top:calc(50% - 32px);
		left:calc(50% - 32px);
		width:64px;
		height:64px;
		opacity:0;
		z-index:30;
	}
		
	#batteries_options .option .col_text {
		padding:24px;
	}
	
	#batteries_options .option .col_text .info {
		
	}
	
	#batteries_options .option .col_text .info .headline {
		font-size:1.4em;
	}
	
	#batteries_options .option .col_text .info ul {
		padding:0 0 0 16px;
		margin:8px 0 0 0;
	}
	
	#batteries_options .option .col_text .info ul li {
		margin:8px 0;
		line-height:110%;
	}
	
	#batteries_options .option .col_text .products {
		display:flex;
		flex-direction:column;
		margin:24px 0 0 0;
	}
	
	#batteries_options .option .col_text .products .product {
		display:flex;
		flex-direction:column;
		color:#222;
		text-decoration:none;
	}
	
	#batteries_options .option .col_text .products .product .image {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 auto;
		margin:0 0 16px 0;
	}
	
	#batteries_options .option .col_text .products .product .image img {
		width:auto;
		height:auto;
		max-width:96px;
		max-height:96px;
	}
	
	#batteries_options .option .col_text .products .product .text {
		text-align:center;
	}
	
	#batteries_options .option .col_text .products .product .text .line1 {
		font-size:1.2em;
		font-weight:700;
		line-height:110%;
	}
	
	#batteries_options .option .col_text .products .product .text .line2 {
		font-size:0.9em;
		line-height:110%;
		margin:4px 0 0 0;
	}
	
	#batteries_more_info {
		background:linear-gradient(180deg, #fff 0%, #f5f5f5 100%); 
	}
	
	#batteries_more_info .panel_maxwidth {
		max-width:1024px;
	}
	
	#batteries_more_info .top {
		margin-bottom:24px;
	}
	
	#batteries_more_info .items {
		display:flex;
		flex-direction:column;
		margin:-16px;
	}
	
	#batteries_more_info .items .item {
		margin:16px;
	}
	
	#batteries_more_info .items .item .headline {
		font-size:1.4em;
		margin:0 0 8px 0;
	}
			
	/* -------- products -------- */
	
	#page_product_list {
		background-color:#f5f5f5;
	}
	
	.category_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.category_list .list_item_category {
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		align-item:center;
		margin:8px;
		padding:32px 24px;
		background-color:#fff;
		color:#222;
		text-decoration:none;
	}
	
	.category_list .list_item_category .image {
		display:flex;
		justify-content:center;
		align-items:center;
		margin:0 0 24px 0;
	}
	
	.category_list .list_item_category .image .cutout {
		width:auto;
		height:auto;
		max-width:160px;
		max-height:160px;
		vertical-align:top;
	}
	
	.category_list .list_item_category .text {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		text-align:center;
		flex:1 1 auto;
	}
	
	.category_list .list_item_category .text .top {
		flex:1 1 auto;
	}
	
	.category_list .list_item_category .text .item_headline {
		color:#005698;
		margin:0 0 0.25em 0;
		line-height:105%;
	}
	
	.category_list .list_item_category .text .item_subline {
		color:#37aae1;
		font-weight:500;
		line-height:120%;
	}
	
	.category_list .list_item_category .text .item_content {
		color:#444;
		font-weight:300;
		margin:0.75em 0;
		line-height:120%;
	}
	
	.category_list .list_item_category .text .action {
		margin:1em 0 0 0;
	}
	
	.product_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.product_list .product_item {
		background-color:#fcfcfc;
		margin:8px;
		color:#222;
		text-decoration:none;
	}
	
	.product_list .product_item .image {
		display:flex;
		justify-content:center;
		align-items:center;
		height:160px;
		border-bottom:1px solid #eee;
	}
	
	.product_list .product_item .image .cutout {
		width:auto;
		height:auto;
		max-width:160px;
		max-height:128px;
	}
	
	.product_list .product_item .text {
		padding:16px;
	}
	
	.product_list .product_item .text .headline {
		font-size:1.2em;
		margin:0;
	}
	
	.product_list .product_item .text .excerpt {
		margin:8px 0 0 0;
	}
	
	.product_list .product_item .text .action {
		margin:12px 0 0 0;
	}
  
  /* -------- products individual page -------- */
	#page_product_individual {
		background-color:#f5f5f5;
	}
  
  #page_product_individual .product{
    display: flex;
    flex-wrap: wrap;
  }
  
  #page_product_individual .product .breadcrumbs{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
  }
  
  #page_product_individual .product .breadcrumbs img{
    width: 5px; 
    margin: 0 6px 0 8px;
  }
  
  #page_product_individual .product .breadcrumbs a{
    text-decoration: none;
    font-style: italic;
    transition-duration: .2s;
  }
  
  #page_product_individual .product .breadcrumbs a:hover{
    color: #37aae1;
  }
  
  #page_product_individual .product > div{
    flex: 0 0 100%; 
  }
  
  #page_product_individual .product > div.content h1.page_headline{
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0;
    z-index: -9999;
    opacity: 0;
  }
  
  #page_product_individual .product > div.content .logo{
    height: auto;
    width: 200px;
    max-width: 100%;
    margin: 0 0 30px 0;
  }
  
  #page_product_individual .product > div.content .downloads{
    margin: 25px 0 0 0;
  }
  
  #page_product_individual .product > div.content .downloads > h3{
    color: #505050;
    font-weight: 500;
  }

  #page_product_individual .product > div.content .downloads ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  
  #page_product_individual .product > div.content .downloads ul li{
    margin: 10px 0;
  }
    
  #page_product_individual .download_item{
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    background: #fff;
    border-radius: 2px;
    box-shadow: 2px 2px 5px #00000005;
    cursor: pointer !important;
    transition-duration: .2s;
  }
  
  #page_product_individual .download_item:hover{
    transform: translateX(3px);
  }
  
  #page_product_individual .download_item:hover .download_item_photo:after{
    background: rgb(255 255 255 / 10%);
  }
  
  /*#page_product_individual .download_item:hover .download_item_content > div h3{
    color: #37aae1;
  }*/
    
  #page_product_individual .download_item .download_item_photo{
    position: relative;
    display: flex;
    flex: 0 0 40%;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    /*background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background: linear-gradient(45deg, #bababa, #f5f5f5) !important;*/
    height: auto;
  }

  #page_product_individual .download_item .download_item_photo:after{
    content: "";
    display: block;
    padding-bottom: 100%;
  }
  
  #page_product_individual .download_item .download_item_photo img{
    position: absolute;
    display: block;
    width: 100%;
    height: auto;
  }
  
  #page_product_individual .download_item .download_item_content{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex: 0 0 60%;
  }
  
  #page_product_individual .download_item .download_item_content > div{
    padding: 30px 10% 30px 8%;
  }
  
  #page_product_individual .download_item .download_item_content > div h3{
    display: flex;
    align-items: center;
    flex: 0 0 100%;
    font-size: 22px;
    font-weight: 500;
    line-height: 140%;
    margin: 0 0 10px 0;
  }
  
  #page_product_individual .download_item .download_item_content > div h3 img{
    height: 10px;
    margin-left: 10px;
  }
  
  #page_product_individual .download_item .download_item_content > div p{
    flex: 0 0 100%;
    margin: 0;
    color: #929292;
  }
  
  #page_product_individual .download_item .download_item_content > div p.click-to-download{
      font-size: 14px !important;
      color: #005698 !important;
      margin: 10px 0 0 !important;
      font-weight: 500;
      background: #f3f3f3;
      display: inline-block;
      padding: 7px 10px;
      border-radius: 3px;
  }

  #page_product_individual .product > div.content .warranties{
    margin: 25px 0 0 0;
  }
  
  #page_product_individual .product > div.content .warranties > h3{
    color: #505050;
    font-weight: 500;
  }
  

  #page_product_individual .product > div.content .warranties ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  
  #page_product_individual .product > div.content .warranties ul li{
    margin: 10px 0;
  }
    
  #page_product_individual .warranty_item{
    display: flex;
    flex-wrap: wrap;
    text-decoration: none;
    background: #fff;
    padding: 30px;
    border-radius: 2px;
    cursor: pointer !important;
    transition-duration: .2s;
  }
  
  #page_product_individual .warranty_item:hover{
    transform: translateX(3px);
  }
  
  #page_product_individual .warranty_item h3{
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    margin: 0;
  }
  
  #page_product_individual .warranty_item h3 img{
    height: 10px;
    margin-left: 10px;
  }

  
  
  /**/
  
  #page_product_individual .product > div.image{

  }
  
  #page_product_individual .product > div.image img{
    display: block;
    width: 100%;
  }
  
  #page_product_individual .product > div.image .get_quote{
    display: block;
    background-color: #37aae1;
    color: #fff;
    padding: 100px 50px;
    margin: 30px 0 0 0;
    text-align: right;
    text-decoration: none;
    transition-duration: .2s;
  }
  
  #page_product_individual .product > div.image .get_quote:hover{
    transform: translateY(-2px);
  }
  
  #page_product_individual .product > div.image .get_quote:hover p.button{
    background-color: #1c74b9;
  }
  
  #page_product_individual .product > div.image .get_quote p{
    font-size: 20px;
    line-height: 140%;
    max-width: 400px;
    margin-left: auto;
  }
  
  #page_product_individual .product > div.image .get_quote p.button{
    background-color: #505050;
    font-size: initial;
    transition-duration: .2s;
  }
  
	/* -------- promotions -------- */	
	
	#page_promotions {
		background-color:#f5f5f5;
	}
	
	#promotion {
		background-color:#fcfcfc;
	}
	
	#promotion .panel_maxwidth {
		max-width:1280px;
	}
	
	#promotion .cols {
		display:flex;
		flex-direction:column-reverse;
	}
	
	#promotion .col_details {
		
	}
	
	#promotion .col_details p {
		font-size:1.1em;
		line-height:130%;
		margin:1em 0;
	}
	
	#promotion .col_poster {
		margin:0 0 24px 0;
	}
	
	#promotion .col_poster .poster_img {
		width:100%;
		height:auto;
		max-width:512px;
		vertical-align:top;
	}
	  
	/* -------- news -------- */
	
	#page_news {
		background-color:#f5f5f5;
	}
	
	.news_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.news_list .news_item {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
	}
	
	.news_list .news_item .image {
		position:relative;
		flex:0 0 160px;
		background-color:#ccc;
		background-size:cover;
		background-position:center center;
	}
	
	.news_list .news_item .image .img {
		display:none;
		position:relative;
	}
	
	@supports( object-fit:cover ){
		
		.news_list .news_item .image .img {
			width:100%;
			height:100%;
			object-fit:cover;
		}
		
	}
	
	.news_list .news_item .bot {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		flex:1 1 auto;
	}
	
	.news_list .news_item .text {
		padding:16px;
	}
	
	.news_list .news_item .text .headline {
		font-size:1.2em;
		line-height:110%;
		margin:0 0 8px 0;
	}
	
	.news_list .news_item .text .headline a {
		color:#005698;
		text-decoration:none;
	}
	
	.news_list .news_item .text .date {
		margin:8px 0;
		font-weight:500;
		color:#666;
	}
	
	.news_list .news_item .text .subline {
		line-height:120%;
	}
	
	.news_list .news_item .action {
		padding:0 16px 16px 16px;
	}
	
	#news_article {
		
	}
	
	#news_article .panel_maxwidth {
		max-width:1280px;
	}
	
	#news_article .cols {
		display:flex;
		flex-direction:column;
	}
	
	#news_article .cols .col_article {
		margin:0 0 32px 0;
	}
	
	#news_article .article_headline {
		color:#005698;
	}
	
	#news_article .date {
		color:#999;
	}
	
	#news_article .thumbnail {
		margin:24px 0;
	}
	
	#news_article .thumbnail img {
		width:auto;
		height:auto;
		max-width:768px;
		max-height:512px;
		vertical-align:top;
	}
	
	#news_article .cols .col_sidebar {
		
	}
	
	#news_article .sidebar_item {
		margin:0 0 16px 0;
		padding:16px;
	}
	
	#news_article .sidebar_item .headline {
		margin:0 0 12px 0;
	}
	
	#news_article .sidebar_item.more_articles {
		background-color:#f9f9f9;
	}
	
	#news_article .sidebar_item.more_articles ul {
		padding:0;
		margin:8px 0 0 0;
	}
	
	#news_article .sidebar_item.more_articles ul li {
		padding:8px 0;
		list-style:none;
		line-height:110%;
		border-top:1px dotted #ccc;
	}
	
	#news_article .sidebar_item.more_articles ul li a {
		text-decoration:none;
		color:#222;
	}
	
	#news_article .sidebar_item.get_quote {
		background-color:#005698;
		color:#fff;
	}
	  
	.pagination {
		display:flex;
		flex-wrap:wrap;
		margin-top:32px;
	}
	
	.pagination .item {
		padding:12px 16px;
		line-height:100%;
		margin:0 2px;
		background-color:#eee;
		color:#ccc;
		font-weight:700;
		text-decoration:none;
	}
	
	.pagination .item.enabled {
		color:#003d6b;
		background-color:#fff;
	}
	
	.pagination .item.current {
		background-color:#005698;
		color:#fff;
	} 
	
	/* -------- testimonials -------- */
	
	body[data-section-id='1'][data-type-id='12'] #banner_headline {
		text-align:center;
	}
	
	#reviews_list_panel {
		background-color:#f9f9f9;
	}
	
	#reviews_list_panel .panel_maxwidth {
		max-width:1024px;
	}
	
	.reviews_featured {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.reviews_featured .item {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		margin:8px;
	}
	
	.reviews_featured .item .col_video {
		padding:16px;
	}
	
	.reviews_featured .item .col_video .iframe_wrap {
		position:relative;
		width:100%;
		padding-top:60%;
	}
	
	.reviews_featured .item .col_video .iframe_wrap iframe {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	.reviews_featured .item .col_text {
		padding:0 16px 16px 16px;
	}
	
	.reviews_featured .item .col_text .headline {
		font-size:1.4em;
		line-height:105%;
		margin:0 0 12px 0;
		color:#003d6b;
	}
	
	.reviews_featured .item .col_text .content {
		margin:12px 0 0 0;
		font-size:0.9em;
		line-height:120%;
		color:#666;
	}
	
	.reviews_featured .item .col_text .person {
		margin:12px 0 0 0;
		color:#37aae1;
	}
	
	.reviews_featured .item .col_text .person .row {
		margin:4px 0 0 0;
		line-height:120%;
	}
	
	.reviews_featured .item .col_text .person .name {
		font-weight:700;
	}
	
	.reviews_standard {
		padding:16px 0;
	}
	
	.reviews_standard .item {
		padding:24px 16px;
		border-bottom:1px solid #ddd;
	}
	
	.reviews_standard .item .headline {
		font-size:1.4em;
		line-height:105%;
		margin:0 0 12px 0;
		color:#003d6b;
	}
	
	.reviews_standard .item .content {
		margin:12px 0 0 0;
		font-size:0.9em;
		line-height:120%;
		color:#666;
	}
	
	.reviews_standard .item .person {
		margin:12px 0 0 0;
		color:#37aae1;
		font-weight:500;
	}
	
	.reviews_standard .item .person .row {
		margin:4px 0 0 0;
		line-height:120%;
	}
	
	.reviews_standard .item .person .name {
		font-weight:700;
	}
		
	/* -------- about -------- */
	
	#page_about {
		
	}
	
	#page_about .panel_maxwidth {
		max-width:1024px;
	}
	
	#about_banner {
		position:relative;
		z-index:10;
		background-color:#ccc;
		position:relative;
		height:256px;
	}
	
	#about_banner .background {
		width:100%;
		height:100%;
		object-fit:cover;
	}
	
	#about_master {
		position:relative;
		z-index:20;
	}
	
	#about_master .title_box {
		box-sizing:border-box;
		background-color:#005698;
		color:#fff;
		padding:24px;
		margin-top:-64px;
	}
	
	#about_master .title_box .page_headline {
		margin:0 0 8px 0;
		position:absolute;
		left:-9999px;
	}
	
	#about_master .title_box .page_subline {
		max-width:512px;
		margin:0 auto;
		font-weight:500;
	}
	
	#about_master .cols {
		display:flex;
		flex-direction:column;
	}
	
	#about_master .cols .col_logos {
		margin:0 0 32px 0;
	}
	
	#about_master .cols .col_logos .logos {
		width:100%;
		height:auto;
		max-width:480px;
		vertical-align:top;
	}
	
	#about_master .cols .col_text p {
		font-weight:500;
		line-height:140%;
	}
		
	#about_cec {
		background-color:#f5f5f5;
	}
	
	#about_cec .cols {
		display:flex;
		flex-direction:column;
	}
	
	#about_cec .cols .col_logos {
		margin:0 0 32px 0;
	}
	
	#about_cec .cols .col_logos .logos {
		width:100%;
		height:auto;
		max-width:480px;
		vertical-align:top;
	}
	
	#about_cec .cols .col_text p {
		font-weight:500;
		line-height:140%;
	}
	
	#about_video {
		background-color:#ccc;
	}
	
	#about_video .video_box {
		position:relative;
		width:100%;
		max-width:768px;
		margin:0 auto;
		background-size:cover;
		background-position:center center;
	}
	
	#about_video .video_box_inner {
		padding-top:56.2963%;
	}
	
	#about_video .video_iframe {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		width:100%;
		height:100%;
	}
	
	/* -------- contact -------- */
	
	#contact_main {
		background-color:#f5f5f5;
	}
	
	#contact_main .cols {
		display:flex;
		flex-direction:column;
	}
	
	#contact_main .cols .col_details {
		margin:0 0 32px 0;
	}
	
	#contact_main .panel_headline {
		color:#005698;
	}
	
	#contact_main .contact_items {
		
	}
	
	#contact_main .contact_items .item {
		display:flex;
		padding:12px;
		margin:4px 0;
		background-color:#fcfcfc;
		font-weight:500;
		line-height:110%;
		text-decoration:none;
		color:#222;
	}
	
	#contact_main .contact_items .item .icon {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 16px;
		margin:0 12px 0 0;
	}
	
	#contact_main .contact_items .item .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	#contact_main .contact_items .item .label {
		
	}
	
	#contact_main .contact_items .item .label span {
		display:inline-block;
	}
	
	#contact_main .contact_extras {
		margin:24px 0 0 0;
	}
	
	#contact_main .contact_extras p {
		font-size:0.9em;
		line-height:120%;
	}
	
	#contact_main .cols .col_map {
		
	}
	
	#contact_main .map_box {
		position:relative;
		display:block;
		background-color:#dde1e4;
	}
	
	#contact_main .map_box .map_img {
		position:relative;
		display:block;
		width:100%;
		height:auto;
		vertical-align:top;
		z-index:10;
	}
	
	#contact_main .map_box:before {
		position:absolute;
		display:block;
		content:'';
		opacity:0;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#fff;
		z-index:20;
	}

	#contact_main .map_box .zoom {
		position:absolute;
		top:calc(50% - 32px);
		left:calc(50% - 32px);
		width:64px;
		height:64px;
		opacity:0;
		z-index:30;
	}
	
	/* -------- calculator -------- */
	
	#calculator .calculator_panel {
		background-color:#f5f5f5;
	}
	
	#calculator .panel_maxwidth {
		max-width:1024px;
	}
	
	#calculator .questions {
		
	}
	
	#calculator .question {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		padding:24px;
		margin:0 0 16px 0;
	}
	
	#calculator .question .col_number {
		margin:0 0 16px 0;
	}
	
	#calculator .question .col_number .circle {
		display:flex;
		justify-content:center;
		align-items:center;
		width:24px;
		height:24px;
		border-radius:50%;
		background-color:#005698;
		color:#fff;
		font-weight:700;
	}
	
	#calculator .question .col_text {
		
	}
	
	#calculator .question .headline {
		color:#003d6b;
		margin:0 0 12px 0;
		font-size:1.4em;
		line-height:105%;
	}
	
	#calculator .question .subline {
		color:#999;
		line-height:120%;
		margin:12px 0;
	}
	
	#calculator .question .inputs {
		box-sizing:border-box;
		margin:16px 0 0 0;
		font-weight:500;
	}
	
	#calculator .question .inputs select {
		width:100%;
		border:1px solid #ccc;
		padding:0 12px;
		height:40px;
	}
	
	#calculator .question .inputs .checkbox_list,
	#calculator .question .inputs .radio_list {
		display:flex;
		flex-direction:column;
		margin:-4px;
	}
	
	#calculator .question .inputs .checkbox_list.inline,
	#calculator .question .inputs .radio_list.inline {
		flex-direction:row;
		
	}
	
	#calculator .question .inputs .checkbox_list .checkbox,
	#calculator .question .inputs .radio_list .radio {
		display:flex;
		flex:0 0 auto;
		background-color:#f5f5f5;
		padding:12px;
		margin:4px;
	}
	
	#calculator .question .inputs .checkbox_list .checkbox .input,
	#calculator .question .inputs .radio_list .radio .input {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	#calculator .question .inputs .checkbox_list .checkbox .label,
	#calculator .question .inputs .radio_list .radio .label {
		flex:1 1 auto;
		padding:0 4px 0 0;
	}
	
	#calculator .question .inputs .checkbox_list .checkbox.checked,
	#calculator .question .inputs .radio_list .radio.checked {
		background-color:#37aae1;
		color:#fff;
	}
	
	#calculator .results {
		margin:32px 0 0 0;
	}
	
	#calculator .result {
		padding:24px;
		background-color:#fff;
		border:1px solid #37aae1;
	}
	
	#calculator .result .headline {
		color:#003d6b;
		margin:0 0 8px 0;
	}
	
	#calculator .result .result_row {
		margin:16px 0 0 0;
	}
	
	#calculator .result .result_row .line1 {
		font-weight:700;
		margin:0 0 8px 0;
	}
	
	#calculator .result .result_row .line2 {
		display:flex;
		align-items:center;
		font-weight:500;
	}
	
	#calculator .result .result_row .line2 input {
		box-sizing:border-box;
		width:96px;
		height:48px;
		padding:0 12px;
		font-size:1.2em;
		font-weight:700;
		border:1px solid #ccc;
		text-align:right;
		-moz-appearance:textfield;
	}
	
	#calculator .result .result_row .line2 input::-webkit-inner-spin-button,
	#calculator .result .result_row .line2 input::-webkit-outer-spin-button {
		-webkit-appearance:none;
	}
	
	#calculator .result .result_row .line2 input:focus {
		border-color:#999;
		outline:none;
		box-shadow:none;
	}
	
	#calculator .result .result_row .line2 .label {
		margin:0 0 0 8px;
		line-height:110%;
	}
	
	#calculator .result .result_row .line2 .label.label_left {
		margin:0 8px 0 0;
	}
	
	#calculator .result .rec_system .line2 input {
		border:1px solid #f5f5f5;
	}
		
	#calculator .result .rec_system .line2 input:focus {
		border-color:#f5f5f5;
	}
	
	#calculator .result .rec_system .line3 {
		font-size:0.9em;
		color:#999;
		margin:8px 0 0 0;
	}
	
	#calculator .result .divider {
		margin:16px 0;
		border-top:1px solid #ccc;
	}
	
	#calculator .result .action {
		
	}
	
	/* ---- finance options ---- */
	
	#finance_page {
		background-color:#f5f5f5;
	}
	
	.finance_options {
		margin:32px 0;
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.finance_options .option {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		color:#222;
		padding:24px;
		margin:8px;
	}
	
	.finance_options .option .logo {
		display:flex;
		align-items:center;
		margin:0 0 16px 0;
		flex:0 0 64px;
	}
	
	.finance_options .option .logo img {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:64px;
		vertical-align:top;
	}
	
	.finance_options .option .bot {
		flex:1 1 auto;
		display:flex;
		flex-direction:column;
		justify-content:space-between;
	}
	
	.finance_options .option .text {
		
	}
		
	.finance_options .option .text .headline {
		font-size:1.4em;
	}
	
	.finance_options .option .text .subline {
		margin:0 0 12px 0;
		font-size:1.1em;
	}
	
	.finance_options .option .text ul {
		padding:0 0 0 16px;
	}
	
	.finance_options .option .action {
		margin:16px 0 0 0;
	}
	
		
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 480px) {
	
	/* -------- overall -------- */
	
	.panel_padding {
		padding:48px 0;
	}
	
	.panel_padding.more_padding {
		padding:96px 0;
	}
	
	/* ---- text ---- */
	
	/* ---- buttons ---- */
	
	.button {
		padding:12px 16px;
	}
	
	.button.large {
		padding:16px 24px;
	}
	
	/* ---- forms ---- */
	
	.popup .popup_top {
		padding:32px 24px;
	}
	
	.popup .popup_main {
		padding:32px 24px;
	}
	
	/* -------- header -------- */
	
	#header .header_top {
		padding:16px 24px;
	}
	
	#header .header_top .logo img {
		width:160px;
	}
	
	#header .header_top .nav_button {
		margin-left:16px;
	}
	
	#header .header_top .nav_button img {
		width:30px;
	}
	
	#header .header_bot > ul > li > a {
		padding:8px 24px;
	}
	
	#header .header_bot > ul > li > ul > li > a {
		padding:4px 24px 4px 32px;
	}
	
	#header .header_bot .get_quote_wrap {
		padding:8px 24px 16px 24px;
	}
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	
	
	/* -------- home -------- */
	
	#home_feature {
		min-height:384px;
	}
	
	#home_feature .headline {
		font-size:2em;
		margin-bottom:16px;
	}
	
	#home_feature .subline {
		font-size:1.2em;
	}
	
	#home_feature .action {
		margin-top:16px;
	}
	
	#home_boxes .box .col_image {
		margin:0 32px 0 0;
	}
	
	#home_boxes .box .col_image .cutout {
		width:auto;
		height:auto;
		max-width:64px;
		max-height:96px;
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			grid-auto-rows:minmax(320px,auto);
		}

		#home_boxes .box {

		}
				
	}
		
	#home_testimonial {
		min-height:384px;
	}
	
	#home_testimonial .items .item.google {
		margin:0 0 48px 0;
	}
	
	#home_testimonial .items .item.sunwiz {
		flex-direction:row;
		align-items:center;
	}
	
	#home_testimonial .items .item.sunwiz .icon {
		margin:0 16px 0 0;
	}
	
	#panel_get_quote .box {
		padding:64px 32px;
	}
	
	#panel_get_quote .headline {
		margin-bottom:0.3em;
	}
	
	#panel_get_quote .subline {
		margin:0.75em 0;
		font-size:1.1em;
	}
	
	#panel_get_quote .action {
		margin:1.25em 0 0 0;
	}
	
	#alert_bar {
		padding:32px 0;
	}
	
	/* -------- services list -------- */
	
	#page_service_list .boxes .box {
		padding:32px;
	}
	
	#page_service_list .boxes .box .cols {
		flex-direction:row;
		align-items:center;
	}
	
	#page_service_list .boxes .box .cols .col_image {
		margin:0 32px 0 0;
		flex-basis:64px;
	}
	
	#page_service_list .boxes .box .cols .col_image .cutout {
		max-width:64px;
	}
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			grid-auto-rows:minmax(320px,auto);
		}
						
	}
	
	/* -------- service detail -------- */
	
	#banner_headline {
		padding:96px 0 32px 0;
	}
	
	#service_process {
		padding:24px;
	}
	
	#service_process .box {
		padding:48px 24px;
	}
	
	#service_process .steps .step {
		padding:16px 0;
	}
	
	#service_process .steps .step .icon {
		margin-right:24px;
	}
	
	#service_pricing .intro {
		margin-bottom:48px;
	}
	
	#service_pricing .pricing_table {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	#service_pricing .pricing_table .col {
		flex:0 0 auto;
		flex-basis:calc(50% - 8px);
	}
	
	#service_pricing .pricing_extras {
		margin-top:32px;
	}
	
	#service_pricing .pricing_extras .items {
		flex-direction:row;
	}
	
	#service_pricing .pricing_extras .item {
		flex:0 0 auto;
		flex-basis:calc(33.333% - 24px);
	}
	
	#service_pricing .pricing_terms {
		margin-top:32px;
	}
	
	#maintenance_services .items .item {
		padding:24px;
	}
	
	#maintenance_services .items .item .top {
		flex-direction:row;
		align-items:center;
		margin-bottom:16px;
	}
	
	#maintenance_services .items .item .top .left {
		margin:0 16px 0 0;
	}
	
	#maintenance_services .items .item .headline {
		
	}
	
	#batteries_options .top {
		margin-bottom:32px;
	}
	
	#batteries_options .option .col_text {
		padding:32px;
	}
	
	#batteries_options .option .col_text .products .product {
		flex-direction:row;
		align-items:center;
	}
	
	#batteries_options .option .col_text .products .product .image {
		margin:0 24px 0 0;
	}
	
	#batteries_options .option .col_text .products .product .text {
		text-align:left;
	}
	
	#batteries_more_info .top {
		margin-bottom:32px;
	}
			
	/* -------- products -------- */
	
	.category_list .list_item_category {
		padding:48px 32px;
	}
	
	.category_list .list_item_category .image {
		margin-bottom:32px;
	}
	
	.product_list {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.product_list .product_item {
		flex:0 0 auto;
		flex-basis:calc( 50% - 16px );
	}
	
	/* -------- promotions -------- */	
	
	#page_promotions {
		
	}
	
	
	
  	/* -------- news -------- */
  
	.news_list {
		
	}
	
	.news_list .news_item {
		
	}
	
	.news_list .news_item .image {
		flex:0 0 256px;
	}
	
	.news_list .news_item .text {
		padding:24px;
	}
	
	.news_list .news_item .action {
		padding:0 24px 24px 24px;
	}
	
	#news_article .sidebar_item {
		padding:24px;
	}
		
	#page_news_individual > div{
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	}

	#page_news_individual .content{
	flex: 0 0 65%;
	}

	#page_news_individual .sidebar{
	flex: 0 0 35%; 
	}

	/* -------- about -------- */
	
	#about_banner {
		height:320px;
	}
	
	#about_master .title_box {
		padding:32px;
		margin-top:-96px;
	}
	
	/* -------- contact -------- */
	
	#contact_main .cols .col_details {
		margin-bottom:48px;
	}
	
	#contact_main .contact_items .item {
		padding:16px;
		font-size:1.1em;
	}
	
	#contact_main .contact_items .item .icon {
		flex:0 0 20px;
		margin:0 12px 0 0;
	}
	
	#contact_main .contact_items .item .icon img {
		max-width:20px;
		max-height:20px;
	}
	
	#contact_main .contact_extras {
		margin-top:32px;
	}
	
	#contact_main .contact_extras p {
		font-size:1em;
	}
	
	/* -------- calculator -------- */
	
	#calculator .question {
		flex-direction:row;
		padding:48px 48px 48px 32px;
	}
	
	#calculator .question .col_number {
		margin:0 24px 0 0;
	}
	
	#calculator .question .col_number .circle {
		width:32px;
		height:32px;
	}
	
	#calculator .result {
		padding:32px;
	}
	
	#calculator .result .divider {
		margin:24px 0;
	}
	
	#calculator .result .action {
		
	}
	
	/* -------- testimonials -------- */
	
	.reviews_featured .item .col_video {
		padding:24px;
	}
	
	.reviews_featured .item .col_text {
		padding:0 24px 24px 24px;
	}
	
	.reviews_standard .item {
		padding:32px 24px;
	}
	
	/* ---- finance options ---- */
	
	#finance_page {
		background-color:#f5f5f5;
	}
	
	.finance_options {
		margin:32px 0;
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.finance_options .option {
		padding:32px;
	}
	
	.finance_options .option .logo {
		margin:0 0 24px 0;
	}
	
	.finance_options .option .logo img {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:64px;
		vertical-align:top;
	}
	
	.finance_options .option .text {
		
	}
		
	.finance_options .option .text .subline {
		margin:0 0 16px 0;
	}
	
	.finance_options .option .action {
		margin:24px 0 0 0;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 768px) {
	
	/* -------- overall -------- */
	
	.panel_padding {
		padding:64px 0;
	}
	
	.panel_padding.more_padding {
		padding:128px 0;
	}
	
	/* ---- text ---- */
	
	/* ---- buttons ---- */
		
	/* ---- forms ---- */
	
	.form .freeform-row {
		flex-direction:row;
	}
	
	.form input[type='text'],
	.form input[type='email'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='password'],
	.form input[type='date'],
	.form input[type='time'],
	.form input[type='search'],
	.form input[type='url'] {
		height:48px;
		padding:0 12px;
	}
	
	.popup .popup_top {
		padding:48px;
	}
	
	.popup .popup_main {
		padding:48px;
	}
	
	/* -------- header -------- */
	
	#header .header_top {
		padding:24px 32px;
	}
	
	#header .header_top .logo img {
		width:160px;
	}
	
	#header .header_top .nav_button {
		margin-left:16px;
	}
	
	#header .header_top .nav_button img {
		
	}
	
	#header .header_bot > ul > li > a {
		padding:12px 32px;
	}
	
	#header .header_bot > ul > li:first-child > a {
		padding-top:24px;
	}
	
	#header .header_bot > ul > li > ul > li > a {
		padding:6px 32px 6px 40px;
	}
	
	#header .header_bot .get_quote_wrap {
		padding:12px 32px 24px 32px;
	}
	
	/* -------- footer -------- */
	
	#footer .footer_top .cols {
		flex-direction:row;
		justify-content:center;
		align-items:center;
		margin:0 -16px;
	}
	
	#footer .footer_top .col {
		flex:0 1 auto;
		margin:0 16px;
	}
	
	#footer .footer_top .col.icons {
		text-align:right;
	}
	
	#footer .footer_top .col.icons .icon {
		margin:0 0 0 16px;
	}
	
	#footer .footer_bottom {
		text-align:center;
	}
	
	/* -------- page general -------- */
	
	.page_intro {
		
	}
	
	.page_intro .page_headline {
		font-size:2.2em;
	}
	
	.page_intro .page_subline {
		font-size:1.2em;
	}
	
	/* -------- home -------- */
	
	#home_feature {
		min-height:480px;
	}
	
	#home_feature .bg.bg_mobile {
		display:none;
	}
	
	#home_feature .bg.bg_tablet {
		display:block;
	}
	
	#home_feature .bg.bg_desktop {
		display:none;
	}
	
	#home_feature[data-layout='personCutout'] .panel_maxwidth {
		flex-direction:row-reverse;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image {
		display:block;
		flex:0 0 256px;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image .cutout {
		position:absolute;
		right:-15%;
		bottom:0;
		width:auto;
		height:512px;
	}
		
	#home_feature .text {
		position:relative;
		z-index:20;
		width:420px;
	}
	
	#home_feature .headline {
		font-size:2.2em;
		margin-bottom:24px;
	}
	
	#home_feature .subline {
		font-size:1.3em;
	}
	
	#home_feature .action {
		margin-top:24px;
	}
		
	#home_boxes .box_residential {
		justify-content:center;
	}
	
	#home_boxes .box_residential .col_image .cutout {
		max-width:128px;
		max-height:160px;
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			grid-template-columns:1fr 1fr;
			grid-auto-rows:minmax(320px,auto);
		}

		#home_boxes .box {
			
		}
		
		#home_boxes .box_residential {
			grid-column:1/3;
		}
				
	}
	
	#panel_benefits .items {
		display:flex;
		justify-content:center;
		flex-direction:row;
		flex-wrap:wrap;
		margin:-16px;
	}
	
	#panel_benefits .items .item {
		flex:0 0 auto;
		flex-basis:calc(40% - 32px);
		margin:16px;
	}
	
	#panel_benefits .items .item .text {
		
	}
	
	#home_testimonial {
		min-height:480px;
	}
	
	#home_testimonial .items .item {
		
	}
	
	#home_testimonial .items .item .text {
		font-size:1.4em;
	}
	
	#home_testimonial .items .item.google {
		
	}
	
	#home_testimonial .items .item.google .stars {
		margin-bottom:24px;
	}
	
	#home_testimonial .items .item.google .stars .star {
		max-width:32px;
		max-height:32px;
	}
	
	#home_testimonial .items .item.google .quote {
		font-size:1.1em;
		margin-top:12px;
	}
	
	#home_testimonial .items .item.sunwiz {
		
	}
	
	#home_testimonial .items .item.sunwiz .icon {
		margin-right:24px;
	}
	
	#home_testimonial .items .item.sunwiz .icon .icon_img {
		max-width:96px;
		max-height:96px;
	}
	
	#home_testimonial .items .item.sunwiz .text br {
		display:inline-block;
	}
		
	#panel_brands .items {
		margin:64px auto 0 auto;
	}
	
	#panel_get_quote .box {
		padding:96px 64px;
	}
	
	#panel_get_quote .headline {
		font-size:2em;
	}
	
	#panel_get_quote .subline {
		font-size:1.2em;
	}
	
	#alert_bar {
		padding:32px 0;
	}
	
	#alert_bar .inner {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
	
	#alert_bar .col_text {
		
	}
	
	#alert_bar .col_action {
		margin:0 0 0 32px;
	}
		
	/* -------- services list -------- */
	
	#page_service_list .boxes .box {
		padding:48px;
	}
	
	#page_service_list .boxes .box .cols .col_image {
		margin:0 48px 0 0;
		flex-basis:96px;
	}
	
	#page_service_list .boxes .box .cols .col_image .cutout {
		max-width:96px;
		max-height:160px;
	}
	
	#page_service_list .boxes .box .subline {
		font-size:1.1em;
	}
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			grid-template-columns:1fr 1fr;
			grid-auto-rows:minmax(320px,auto);
		}
				
		#page_service_list .boxes .box.residential {
			grid-column:1/3;
			justify-content:center;
		}
		
		#page_service_list .boxes .box.residential .cols {
			max-width:640px;
		}
				
	}
	
	/* -------- service detail -------- */
	
	#banner_headline {
		padding-top:128px;
	}
	
	#banner_headline .page_headline {
		font-size:2.2em;
	}
	
	#service_intro .cols {
		flex-direction:row;
	}
	
	#service_intro .col_main {
		margin:0 48px 0 0;
		border:none;
		padding:0;
	}
	
	#service_intro .intro_image {
		margin-bottom:32px;
	}
	
	#service_intro .col_sidebar {
		flex:0 0 256px;
	}
	
	#service_intro .col_sidebar .sidebar_quote {
		
	}
	
	#service_more .cols {
		flex-direction:row;
	}
	
	#service_more .col_text {
		flex:1 1 auto;
		justify-content:flex-end;
		align-items:center;
	}
	
	#service_more .col_text .inner {
		max-width:544px;
	}
	
	#service_more .col_text .action {
		margin-top:32px;
	}
	
	#service_more .col_image {
		flex:0 0 50%;
	}
	
	#panel_brands_alt .cols {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
	
	#panel_brands_alt .col_text {
		flex:0 0 47.5%;
	}
	
	#panel_brands_alt .col_logos {
		flex:0 0 47.5%;
	}
	
	#panel_brands_alt .col_logos .items {
		
	}
	
	#service_process .box {
		padding:48px 32px;
	}
	
	#service_process .intro {
		margin-bottom:24px;
	}
	
	#service_process .steps {
		flex-direction:row;
		justify-content:space-between;
	}
	
	#service_process .steps .col {
		flex:0 0 47.5%;
	}
	
	#service_process .steps .col_1 .step.last_in_col:before {
		position:absolute;
		display:block;
		content:'';
		top:50%;
		bottom:0;
		left:0;
		width:100%;
		background:linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
		z-index:5;
	}
	
	#service_process .steps .col_2 .step.first_in_col:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		bottom:50%;
		left:0;
		width:32px;
		background:linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		z-index:5;
	}
	
	#service_pricing .pricing_table .col {
		padding:64px 32px;
	}
	
	#service_pricing .pricing_extras {
		margin-top:48px;
	}
	
	#service_pricing .pricing_extras .item .image img {
		max-width:48px;
		max-height:48px;
	}
	
	#service_pricing .pricing_terms {
		margin-top:48px;
	}
	
	#maintenance_intro .cols {
		flex-direction:row;
		align-items:center;
	}
	
	#maintenance_intro .cols .col_image {
		flex:0 0 40%;
		margin:0 0 0 5%;
	}
	
	#maintenance_services .panel_top {
		text-align:center;
	}
		
	#maintenance_services .items .item {
		padding:32px;
	}
	
	#maintenance_services .items .item .top {
		margin-bottom:24px;
	}
	
	#maintenance_services .items .item .top .left {
		margin:0 24px 0 0;
	}
	
	#maintenance_services .items .item .circle {
		width:96px;
		height:96px;
	}
	
	#maintenance_services .items .item .circle .price {
		font-size:1.2em;
	}
	
	#maintenance_services .items .item .headline {
		font-size:1.6em;
	}
	
	#maintenance_services .items .item .subline {
		font-size:1.2em;
	}
	
	#batteries_options .top {
		margin-bottom:48px;
		text-align:center;
	}
	
	#batteries_intro .cols {
		flex-direction:row;
		align-items:center;
	}
	
	#batteries_intro .cols .col_image {
		flex:0 0 40%;
		margin:0 0 0 5%;
	}
	
	#batteries_options .option {
		flex-direction:row;
		align-items:center;
	}
	
	#batteries_options .option .col_image {
		width:100%;
		max-width:512px;
		border:none;
		border-right:1px solid #ddd;
	}
	
	#batteries_options .option .col_text {
		width:100%;
	}
	
	#batteries_more_info .top {
		margin-bottom:48px;
		text-align:center;
	}
	
	#batteries_more_info .items {
		flex-direction:row;
		flex-wrap:wrap;
		margin:-16px -32px;
	}
	
	#batteries_more_info .items .item {
		flex:0 0 auto;
		flex-basis:calc(50% - 64px);
		margin:16px 32px;
	}
	
	/* -------- products -------- */
	
	.category_list {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.category_list .list_item_category {
		flex:0 0 auto;
		flex-basis:calc( 50% - 16px );
	}
	
	.category_list .list_item_category .image {
		flex:0 0 160px;
	}
	
	.product_list .product_item .text {
		padding:24px;
	}
  
  /* -------- products individual page -------- */
  	
  #page_product_individual .product > div.content {
    flex: 0 0 55%; 
  }
  
  #page_product_individual .product > div.image{
    flex: 0 0 45%; 
  }
  
  #page_product_individual .product > div.content > div{
    padding-right: 10%;
  }
  
  #page_product_individual .product > div.content .page_content{
    font-size: 20px;
    line-height: 140%;
  }
  
  #page_product_individual .product > div.content .downloads{
    margin: 70px 0 0 0;
  }
  
  #page_product_individual .product > div.content .warranties{  
    margin: 70px 0 0 0;
  }
  
  #page_product_individual .download_item .download_item_photo{
    flex: 0 0 30%;
  }
  
  #page_product_individual .download_item .download_item_content{
    flex: 0 0 70%;
  }
  
  #page_product_individual .download_item .download_item_content > div p{
    font-size: 20px;
    line-height: 140%;
  }

  /**/
  #page_product_individual .product > div.image{
  }
  
	/* -------- promotions -------- */	
	
	#page_promotions {
		
	}
	
	#promotion .cols {
		flex-direction:row;
	}
	
	#promotion .cols .col_poster {
		flex:0 0 40%;
		margin:0 0 0 10%;
	}
  
  	/* -------- testimonials -------- */
		
	.reviews_featured .item {
		flex-direction:row;
		align-items:center;
	}
	
	.reviews_featured .item .col_video {
		flex:0 0 256px;
		padding:32px;
	}
	
	.reviews_featured .item .col_text {
		padding:32px 32px 32px 0;
	}
	
	.reviews_standard .item {
		padding:48px 32px;
	}

  	/* -------- news -------- */
	
	.news_list {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.news_list .news_item {
		flex:0 0 auto;
		flex-basis:calc(50% - 16px);
	}
	
	.news_list .news_item .image {
		
	}
	
	.news_list .news_item .text {
		
	}
	
	.news_list .news_item .action {
		
	}
	
	#news_article .sidebar_item {
		padding:32px;
	}
	
	/* -------- about -------- */
	
	#about_banner {
		height:480px;
	}
	
	#about_master .title_box {
		text-align:center;
		padding:48px 64px;
	}
	
	#about_master .title_box .page_headline {
		font-size:2.6em;
		line-height:105%;
	}
	
	#about_master .title_box .page_subline {
		font-size:1.2em;
		font-weight:500;
		line-height:130%;
	}
	
	#about_master .cols {
		flex-direction:row;
		align-items:center;
	}
	
	#about_master .cols .col_logos {
		flex:1 1 480px;
		margin:0 32px 0 0;
	}
	
	#about_master .cols .col_text {
		flex:1 1 480px;
		margin:0 0 0 32px;
	}
	
	#about_master .cols .col_text p {
		font-size:1.1em;
	}
	
	#about_cec .cols {
		flex-direction:row-reverse;
		align-items:center;
	}
	
	#about_cec .cols .col_logos {
		flex:1 1 480px;
		margin:0 0 0 32px;
	}
	
	#about_cec .cols .col_text {
		flex:1 1 480px;
		margin:0 32px 0 0;
	}
		
	#about_cec .cols .col_text p {
		font-size:1.1em;
	}
	
	/* -------- contact -------- */
	
	#contact_main .cols {
		flex-direction:row;
	}
	
	#contact_main .cols .col_details {
		margin:0 64px 0 0;
		flex:1 1 auto;
	}
	
	#contact_main .cols .col_map {
		flex:0 0 256px;
	}
	
	/* -------- calculator -------- */
	
	#calculator .question {
		flex-direction:row;
		padding:64px 64px 64px 48px;
	}
	
	#calculator .question .headline {
		font-size:1.6em;
	}
	
	#calculator .result {
		padding:48px;
	}
	
	#calculator .result .result_row {
		margin-top:24px;
	}
	
	#calculator .result .result_row .line1 {
		font-size:1.2em;
	}
	
	#calculator .result .result_row.line2 .label {
		margin-left:12px;
	}
	
	#calculator .result .divider {
		margin:32px 0;
	}
	
	#calculator .result .action {
		
	}
		
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1024px) {
	
	/* -------- overall -------- */
		
	/* ---- text ---- */
	
	/* ---- buttons ---- */
	
	/* ---- forms ---- */
	
	/* -------- header -------- */
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	/* -------- home -------- */
	
	#home_feature {
		min-height:512px;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image {
		flex:0 0 320px;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image .cutout {
		right:0;
	}
	
	#home_feature .text {
		width:512px;
	}
	
	#home_feature .headline {
		font-size:2.4em;
	}
	
	#home_feature .subline {
		
	}
	
	#home_feature .action {
		
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			grid-auto-rows:minmax(384px,auto);
		}
						
	}
	
	#home_testimonial {
		min-height:512px;
	}
		
	/* -------- services list -------- */
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			grid-auto-rows:minmax(384px,auto);
		}
						
	}
	
	/* -------- service detail -------- */
	
	#banner_headline {
		padding-top:160px;
	}
	
	#service_intro .col_main {
		margin-right:64px;
	}
	
	#service_intro .col_sidebar {
		flex:0 0 320px;
	}
	
	#service_process {
		padding:32px;
	}
	
	#service_process .box {
		padding:64px 48px;
	}
	
	#service_process .intro {
		margin-bottom:32px;
	}
	
	#service_pricing .pricing_extras .items {
		justify-content:space-around;
	}
	
	#service_pricing .pricing_extras .item {
		flex-direction:row;
		justify-content:center;
		align-items:center;
		text-align:left;
	}
	
	#service_pricing .pricing_extras .item .image {
		margin:0 24px 0 0;
	}
	
	#batteries_options .option .col_text {
		padding:48px;
	}
	
	/* -------- products -------- */
	
	.category_list .list_item_category {
		padding:48px;
	}
	
    /* -------- news -------- */
	
	#news_article .cols {
		flex-direction:row;
	}
	
	#news_article .cols .col_article {
		flex:1 1 auto;
	}
	
	#news_article .cols .col_sidebar {
		flex:0 0 320px;
		margin:0 0 0 64px;
	}
  
	/* -------- about -------- */
	
	#about_banner {
		height:512px;
	}
	
	/* -------- contact -------- */
	
	#contact_main .cols .col_map {
		flex:0 0 320px;
	}
	
	/* -------- testimonials -------- */
		
	.reviews_featured .item {
		
	}
	
	.reviews_featured .item .col_video {
		flex:0 0 320px;
		padding:48px;
	}
	
	.reviews_featured .item .col_text {
		padding:48px 48px 48px 0;
	}
	
	.reviews_standard .item {
		padding:48px;
	}
	
	/* ---- finance options ---- */
	
	.finance_options {
		flex-direction:row;
		margin:-16px;
	}
	
	.finance_options .option {
		margin:16px;
		flex:1 1 100%;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1280px) {
	
	/* -------- overall -------- */
	
	.panel_padding {
		padding:96px 0;
	}
	
	.panel_padding.more_padding {
		padding:160px 0;
	}
	
	/* ---- text ---- */
	
	/* ---- buttons ---- */
	
	.button:active {
		transform:scale(0.95);
	}
		
	.button:hover {
		background-color:#333;
	}
	
	.button.large {
		padding:24px 32px;
		font-size:1.2em;
	}
	
	.button.darkblue:hover {
		background-color:#0d68ae;
	}
	
	.button.blue:hover {
		background-color:#4cbcf2;
	}
		
	.button.white:hover {
		background-color:#fff
	}
	
	.button.grey:hover {
		background-color:#f5f5f5;
	}
	
	.button.bluegrey:hover {
		background-color:#cfdbdf;
	}
	
	.button.outline:hover {
		background-color:#333;
		border:1px solid #333;
		color:#fff;
	}
	
	.button.outline.darkblue:hover {
		background-color:#0d68ae;
		border-color:#0d68ae;
		color:#fff;
	}
	
	.button.outline.blue:hover {
		background-color:#4cbcf2;
		border-color:#4cbcf2;
		color:#fff;
	}
	
	.button.outline.white:hover {
		background-color:#fff;
		border-color:#fff;
		color:#222;
	}
	
	/* ---- forms ---- */
	
	/* -------- header -------- */
	
	#header {
		display:flex;
		justify-content:space-between;
	}
	
	#header .header_top .get_quote,
	#header .header_bot .get_quote {
		padding:12px;
		font-size:0.9em;
	}
	
	#header .header_top .get_quote:hover,
	#header .header_bot .get_quote:hover {
		background-color:#1272bb;
	}
	
	#header .header_top .get_quote:active,
	#header .header_bot .get_quote:active {
		transform:scale(0.95);
	}
	
	#header .header_top {
		padding:32px 48px;
	}
	
	#header .header_top .top_right {
		display:none;
	}
	
	#header .header_bot {
		display:flex;
		padding:0 48px;
		background-color:transparent;
	}
	
	#header.open .header_bot {
		display:flex;
	}
	
	#header .header_bot > ul {
		display:flex;
		justify-content:flex-end;
	}
	
	#header .header_bot > ul > li {
		position:relative;
		display:flex;
	}
	
	#header .header_bot > ul > li > a:not(.get_quote) {
		
	}
	
	#header .header_bot > ul > li > a:not(.get_quote):before {
		position:absolute;
		display:block;
		content:'';
		right:0;
		bottom:0;
		left:0;
		height:4px;
		background-color:transparent;
	}
	
	#header .header_bot > ul > li:hover > a:not(.get_quote) {
		
	}
	
	#header .header_bot > ul > li:hover > a:not(.get_quote):before {
		background-color:#37aae1;
	}
	
	#header .header_bot > ul > li.has_dropdown > a:after {
		display:inline-block;
		content:'▼';
		font-size:0.4em;
		margin:0 0 0 8px;
		color:#999;
		transform:translateY(5%);
	}
	
	#header .header_bot > ul > li.has_dropdown:hover > a:after {
		color:#37aae1;
	}
	
	#header .header_bot > ul > li > ul {
		position:absolute;
		display:none;
		top:100%;
		left:0;
		width:auto;
		min-width:256px;
		background-color:#fcfcfc;
	}
	
	#header .header_bot > ul > li:hover > ul {
		display:block;
	}
		
	#header .header_bot > ul > li > a {
		display:flex;
		align-items:center;
		padding:0 12px;
		font-size:1.1em;
	}
		
	#header .header_bot > ul > li:first-child > a {
		padding:0 12px;
	}
	
	#header .header_bot .get_quote_wrap {
		align-items:center;
		padding:0 0 0 12px;
	}
	
	#header .header_bot > ul > li > ul > li > a {
		padding:8px 16px;
	}
	
	#header .header_bot > ul > li > ul > li > a:hover {
		background-color:#005698;
		color:#fff;
	}
	
	#header .header_bot > ul > li > ul > li:first-child > a {
		padding-top:16px;
	}
	
	#header .header_bot > ul > li > ul > li:last-child > a {
		padding-bottom:16px;
	}
	
	/* -------- footer -------- */
	
	#footer a:hover {
		text-decoration:underline;
	}
	
	#footer .footer_top .cols {
		margin:0 -24px;
	}
	
	#footer .footer_top .col {
		margin:0 24px;
	}
	
	#footer .footer_top .col.logo img {
		width:160px;
	}
	
	/* -------- page general -------- */
	
	.page_intro {
		
	}
	
	.page_intro .page_headline {
		font-size:2.6em;
	}
	
	.page_intro .page_subline {
		
	}
	
	/* -------- home -------- */
	
	#home_feature {
		min-height:600px;
	}
	
	#home_feature .bg.bg_mobile {
		display:none;
	}
	
	#home_feature .bg.bg_tablet {
		display:none;
	}
	
	#home_feature .bg.bg_desktop {
		display:block;
	}
	
	#home_feature .bg.bg_video.show {
		display:block;
	}
	
	#home_feature .bg_video_overlay.show {
		position:absolute;
		display:block;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-repeat:repeat;
		background-size:2px 2px;
		background-position:center center;
		z-index:20;
	}
	
	#home_feature[data-layout='personCutout'] .panel_maxwidth {
		flex-direction:row;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image {
		flex:0 0 50%;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image .cutout {
		height:600px;
		right:auto;
		left:0;
	}
	
	#home_feature .text {
		
	}
	
	#home_feature .headline {
		font-size:3em;
		margin-bottom:32px;
	}
	
	#home_feature .subline {
		font-size:1.4em;
	}
	
	#home_feature .action {
		margn-top:32px;
	}
	
	#home_boxes .box .cols {
		width:100%;
	}
	
	#home_boxes .box .col_text {
		flex:1 1 auto;
	}
	
	#home_boxes .box .col_image {
		flex:1 1 auto;
		text-align:right;
	}
	
	#home_boxes .box .subline {
		font-size:1.2em;
	}
	
	#home_boxes .box .col_image {
		margin:0 48px 0 0;
	}
	
	#home_boxes .box .col_image .cutout {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:192px;
	}
	
	#home_boxes .box_residential .headline {
		font-size:2.2em;
	}
	
	#home_boxes .box_commercial {
		
	}
	
	#home_boxes .box_commercial .cols {
		flex-direction:row-reverse;
	}
	
	#home_boxes .box_commercial .col_image {
		margin:0 0 0 48px;
		flex:0 0 128px;
	}
	
	#home_boxes .box_commercial .col_image .cutout {
		transform:scaleX(-1);
		position:absolute;
		right:10%;
		bottom:0;
		width:auto;
		height:auto;
		max-width:none;
		max-height:110%;
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			grid-auto-rows:minmax(256px,auto);
			grid-template-columns:1fr 1fr 1fr 1fr;
		}
		
		#home_boxes .box {
			
		}
		
		#home_boxes .box_residential {
			grid-column:1/3;
			grid-row:1/3;
		}
		
		#home_boxes .box_commercial {
			grid-column:3/5;
			grid-row:1/2;
		}
		
		#home_boxes .box_batteries {
			grid-column:3/5;
			grid-row:2/4;
		}
		
		#home_boxes .box_grants {
			grid-column:1/2;
			grid-row:3/4;
		}
		
		#home_boxes .box_photo {
			grid-column:2/3;
			grid-row:3/4;
		}
				
	}
	
	#panel_benefits {
		
	}
	
	#panel_benefits .headline {
		margin-bottom:1.5em;
	}
	
	#panel_benefits .items {
		margin:-16px -32px;
	}
	
	#panel_benefits .items .item {
		flex:0 1 auto;
		margin:16px 32px;
	}
	
	#home_testimonial {
		min-height:600px;
	}
	
	#home_testimonial .overlay {
		opacity:0;
	}
	
	#home_testimonial .items .item {
		
	}
	
	#home_testimonial .items .item .text {
		font-size:1.6em;
	}
	
	#home_testimonial .items .item.google {
		margin-bottom:64px;
	}
	
	#home_testimonial .items .item.google .stars {
		margin-bottom:32px;
	}
	
	#home_testimonial .items .item.google .stars .star {
		max-width:48px;
		max-height:48px;
	}
	
	#home_testimonial .items .item.google .quote {
		font-size:1.2em;
		margin-top:16px;
	}
	
	#home_testimonial .items .item.sunwiz {
		
	}
	
	#home_testimonial .items .item.sunwiz .icon {
		margin-right:32px;
	}
	
	#home_testimonial .items .item.sunwiz .icon .icon_img {
		max-width:128px;
		max-height:128px;
	}
	
	/* -------- services list -------- */
	
	#page_service_list .boxes .box .cols .col_image {
		flex-basis:160px;
	}
	
	#page_service_list .boxes .box .cols .col_image .cutout {
		max-width:160px;
		max-height:192px;
	}
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			grid-auto-rows:minmax(320px,auto);
			grid-template-columns:1fr 1fr 1fr;
		}
		
		#home_boxes .box {
			
		}
		
		#home_boxes .box.residential {
			grid-column:1/3;
			grid-row:1/2;
		}
		
		#home_boxes .box.commercial {
			grid-column:3/4;
			grid-row:1/2;
		}
		
		#home_boxes .box.maintenance {
			
		}
		
		#home_boxes .box.batteries {
			
		}
				
		#home_boxes .box.photo {
			
		}
				
	}
	
	/* -------- service detail -------- */
	
	#page_service_detail .panel_headline {
		font-size:2em;
	}
	
	#banner_headline {
		padding-top:192px;
	}
	
	#page_service_detail #banner_headline .panel_maxwidth {
		max-width:1280px;
	}
	
	#banner_headline .page_headline {
		font-size:2.6em;
	}
	
	#service_intro .col_main {
		margin-right:96px;
	}
	
	#service_intro .intro_image {
		margin-bottom:48px;
	}
	
	#service_intro .intro_content .checklist li {
		font-size:1.1em;
		line-height:120%;
		margin:12px 0;
	}
	
	#service_intro .intro_content .checklist li .tick {
		flex:0 0 24px;
		margin-right:12px;
	}
	
	#service_intro .intro_content .checklist li .tick img {
		max-width:24px;
		max-height:24px;
	}
	
	#service_intro .col_sidebar {
		flex:0 0 360px;
	}
	
	#service_intro .col_sidebar .headline {
		font-size:2em;
	}
	
	#service_more .col_text p {
		font-size:1.1em;
	}
	
	#panel_brands_alt .col_text p {
		font-size:1.1em;
	}
	
	#service_more .col_text .inner {
		margin:32px 0;
	}
	
	#service_process {
		padding:48px;
	}
	
	#panel_brands_alt .col_text {
		flex:0 0 46%;
	}
	
	#panel_brands_alt .col_logos .items {
		margin:-32px;
	}
	
	#panel_brands_alt .col_logos .items .item {
		max-width:160px;
		max-height:160px;
		margin:32px;
	}
	
	#service_process .box {
		padding:96px;
	}
	
	#service_process .intro {
		margin-bottom:48px;
	}
	
	#service_process .steps .col {
		flex:0 0 46%;
	}
		
	#service_process .steps .line {
		left:22px;
	}
	
	#service_process .steps .step {
		padding:24px 0;
	}
	
	#service_process .steps .col_1 .step.first_in_col:before,
	#service_process .steps .col_1 .step.last_in_col:before,
	#service_process .steps .col_2 .step.last_in_col:before,
	#service_process .steps .col_2 .step.first_in_col:before {
		width:48px;
	}
	
	#service_process .steps .step .icon {
		flex:0 0 48px;
		margin-right:32px;
	}
	
	#service_process .steps .step .icon .circle {
		width:48px;
		height:48px;
		font-size:1.4em;
	}
	
	#service_process .steps .step .headline {
		font-size:1.4em;
	}
	
	#service_process .steps .step .excerpt p {
		font-size:1.1em;
	}
	
	#service_pricing .intro {
		margin-bottom:64px;
	}
	
	#service_pricing .intro p {
		font-size:1.1em;
	}
	
	#service_pricing .intro .action {
		margin:32px 0 0 0;
	}
	
	#service_pricing .pricing_table .col {
		flex-basis:calc(25% - 8px);
	}
	
	#service_pricing .pricing_extras {
		margin-top:64px;
	}
	
	#service_pricing .pricing_extras .item .text .headline {
		margin-bottom:8px;
	}
	
	#service_pricing .pricing_terms {
		margin-top:64px;
	}
	
	#maintenance_services .items {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	#maintenance_services .items .item {
		flex:0 0 auto;
		flex-basis:calc(50% - 16px);
		padding:48px;
	}
	
	#batteries_options .options {
		margin:-16px;
	}
	
	#batteries_options .option {
		margin:16px;
	}
	
	#batteries_options .option .col_image {
		
	}
	
	#batteries_intro .cols .col_image .image {
		width:320px;
	}
	
	#batteries_options .option .col_image .zoom {
		opacity:0;
		transform:scale(0.9);
	}
	
	#batteries_options .option .col_image:hover .zoom {
		opacity:1;
		transform:scale(1);
		animation-name:pulse;
		animation-duration:0.25s;
		animation-iteration-count:1;
	}
		
	#batteries_options .option .col_text {
		padding:64px;
	}
	
	#batteries_options .option .col_text .products .product .image img {
		max-width:160px;
		max-height:160px;
		transition:transform 0.1s;
	}
	
	#batteries_options .option .col_text .products .product:hover .image img {
		transform:scale(1.1);
		transition:transform 0s;
	}
	
	#batteries_options .option .col_text .info .headline {
		font-size:1.8em;
	}
	
	#batteries_options .option .col_text .info ul li {
		font-size:1.2em;
	}
		
	#batteries_options .option .col_text .products .product .text .line1 {
		font-size:1.4em;
	}
	
	#batteries_options .option .col_text .products .product .text .line2 {
		margin-top:8px;
	}
	
	#batteries_options .option .col_text .products .product:hover .text .line2 {
		text-decoration:underline;
	}
		
	/* -------- products -------- */
	
	.category_list .list_item_category {
		flex-direction:row;
		align-items:center;
	}
	
	.category_list .list_item_category .image {
		margin:0 48px 0 0;
	}
	
	.category_list .list_item_category .image .cutout {
		transition:transform 0.2s;
	}
	
	.category_list .list_item_category:hover .image .cutout {
		transform:scale(1.05);
		transition:transform 0.1s;
	}
	
	.category_list .list_item_category .text {
		text-align:left;
	}
	
	.category_list .list_item_category .text .top {
		flex:0 1 auto;
	}
	
	.category_list .list_item_category:hover .button {
		background-color:#f5f5f5;
	}
	
	.category_list .list_item_category:active {
		transform:scale(0.98)
	}
	
	.product_list {
		
	}
	
	.product_list .product_item {
		flex-basis:calc(25% - 16px);
	}
	
	.product_list .product_item:hover {
		background-color:#fff;
	}
	
	.product_list .product_item:active {
		transform:scale(0.98);
	}
	
	.product_list .product_item .text {
		padding:32px;
	}
	
	/* -------- promotions -------- */	
	
	#page_promotions {
		
	}
	
	#promotion .col_details p {
		
	}
  
  	/* -------- news -------- */
  	
	.news_list {
		
	}
	
	.news_list .news_item {
		flex-basis:calc(33% - 32px);
	}
	
	.news_list .news_item .image {
		
	}
	
	.news_list .news_item .image:after {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#fff;
		opacity:0;
	}
	
	.news_list .news_item .image:hover:after {
		opacity:0.1;
	}
	
	.news_list .news_item .text {
		
	}
	
	.news_list .news_item .text .headline a:hover {
		text-decoration:underline;
	}
	
	.news_list .news_item .action {
		
	}
	
	#news_article .cols {
		
	}
	
	#news_article .cols .col_article {
		
	}
	
	#news_article .article_headline {
		font-size:2.6em;
	}
	
	#news_article .cols .col_sidebar {
		flex:0 0 420px;
		margin:0 0 0 96px;
	}
	
	#news_article .sidebar_item.more_articles ul li {
		padding:12px 0;
	}
	
	#news_article .sidebar_item.more_articles ul li a:hover {
		text-decoration:underline;
	}
	
	.pagination .item.enabled:hover {
		background-color:#37aae1;
		color:#fff;
	}
	
	/* -------- about -------- */
	
	#about_banner {
		height:640px;
	}
	
	#about_master .title_box {
		padding:96px 64px;
		margin-top:-128px;
	}
	
	#about_master .title_box .page_headline {
		font-size:3em;
		margin-bottom:16px;
	}
	
	#about_master .title_box .page_subline {
		font-size:1.4em;
	}
	
	/* -------- contact -------- */
	
	#contact_main .cols .col_details {
		margin-right:128px;
	}
	
	#contact_main .contact_items .item:hover {
		background-color:#fff;
	}
	
	#contact_main .cols .col_map {
		flex:0 0 480px;
	}
	
	#contact_main .map_box:hover:before {
		opacity:0.25;
	}
	
	#contact_main .map_box .zoom {
		opacity:0;
		transform:scale(0.9);
	}
	
	#contact_main .map_box:hover .zoom {
		opacity:1;
		transform:scale(1);
		animation-name:pulse;
		animation-duration:0.25s;
		animation-iteration-count:1;
	}
	
	/* -------- testimonials -------- */
		
	.reviews_featured .item {
		
	}
	
	.reviews_featured .item .col_video {
		flex:0 0 384px;
	}
	
	.reviews_featured .item .col_text {
		
	}
	
	.reviews_featured .item .col_text .headline {
		font-size:1.6em;
		margin-bottom:16px;
	}
	
	.reviews_featured .item .col_text .content {
		margin-top:16px;
		font-size:1em;
	}
	
	.reviews_featured .item .col_text .person {
		margin-top:16px;
	}
	
	.reviews_standard .item .headline {
		font-size:1.6em;
		margin-bottom:16px;
	}
	
	.reviews_standard .item .content {
		font-size:1em;
		margin-top:16px;
	}
	
	.reviews_standard .item .person {
		margin-top:16px;
	}
	
	/* ---- finance options ---- */
	
	.finance_options .option {
		padding:32px;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1366px) {
	
	/* -------- overall -------- */
		
	/* ---- text ---- */
	
	/* ---- buttons ---- */
	
	/* ---- forms ---- */
	
	/* -------- header -------- */
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	/* -------- home -------- */
	
	/* -------- services list -------- */
	
	/* -------- service detail -------- */
	
	/* -------- products -------- */
	
	/* -------- about -------- */
	
	#about_banner {
		height:768px;
	}
	
	/* -------- contact -------- */
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1600px) {
	
	/* -------- overall -------- */
	
	.panel_padding {
		padding:128px 0;
	}
	
	.panel_maxwidth.more_padding {
		padding:256px 0;
	}
	
	/* ---- text ---- */
	
	/* ---- buttons ---- */
	
	/* ---- forms ---- */
	
	/* -------- header -------- */
	
	#header .header_top {
		padding:48px 64px;
	}
	
	#header .header_top .logo img {
		width:192px;
	}
	
	#header.open .header_bot {
		display:flex;
		padding:0 64px;
	}
		
	#header .header_bot > ul > li > a {
		padding:0 24px;
		font-size:1.2em;
	}
	
	#header .header_bot > ul > li:first-child > a {
		padding:0 24px;
	}
	
	#header .header_bot .get_quote_wrap {
		align-items:center;
		padding:0 0 0 24px;
	}
	
	#header .header_top .get_quote,
	#header .header_bot .get_quote {
		padding:16px;
		font-size:1em;
	}
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	.page_intro {
		margin-bottom:40px;
	}
	
	.page_intro .page_headline {
		font-size:3em;
	}
		
	/* -------- home -------- */
	
	#home_feature {
		min-height:768px;
	}
		
	#home_feature[data-layout='personCutout'] .fg .image .cutout {
		height:768px;
		left:50%;
		transform:translateX(-95%);
	}
	
	#home_feature .text {
		width:550px;
	}
	
	#home_feature .headline {
		font-size:3.4em;
	}
	
	#home_feature .subline {
		
	}
	
	#home_feature .action {
		
	}
	
	#home_boxes .box .col_image {
		margin:0 64px 0 0;
	}
	
	#home_boxes .box .col_image .cutout {
		width:auto;
		height:auto;
		max-width:160px;
		max-height:256px;
	}
	
	#home_boxes .box_commercial .col_image {
		margin:0 0 0 64px;
		flex:0 0 160px;
	}
	
	#home_boxes .box_commercial .col_image .cutout {
		width:auto;
		height:auto;
		max-width:none;
		max-height:110%;
	}
	
	@supports( display:grid ){
		
		#home_boxes {
			grid-auto-rows:minmax(384px,auto);
		}

		#home_boxes .box {
			
		}
						
	}
		
	#panel_benefits .items {
		margin:-16px 48px;
	}
	
	#panel_benefits .items .item {
		margin:16px 48px;
	}
	
	#panel_benefits .items .item .image .icon {
		max-width:72px;
	}
	
	#home_testimonial {
		min-height:768px;
	}
	
	/* -------- services list -------- */
	
	#page_service_list .boxes .box {
		padding:72px;
	}
	
	#page_service_list .boxes .box .cols .col_image {
		margin-right:64px;
	}
	
	#page_service_list .boxes .box .cols .col_image .cutout {
		max-height:256px;
	}
	
	#page_service_list .boxes .box .headline {
		font-size:2.4em;
		margin-bottom:16px;
	}
	
	#page_service_list .boxes .box .subline {
		font-size:1.2em;
		margin:16px 0;
	}
	
	#page_service_list .boxes .box .action {
		margin:24px 0 0 0;
	}
	
	@supports( display:grid ){
		
		#page_service_list .boxes {
			grid-auto-rows:minmax(512px,auto);
		}

		#page_service_list .boxes .box {
			
		}
						
	}
	
	/* -------- service detail -------- */
	
	#page_service_detail .panel_headline {
		font-size:2.4em;
	}
	
	#banner_headline {
		padding-top:256px;
		padding-bottom:48px;
	}
	
	#banner_headline .page_headline {
		font-size:3em;
	}
	
	#service_more .col_text .inner {
		margin:64px 0;
	}
	
	#service_process {
		padding:64px;
	}
	
	#service_process .box {
		padding:128px;
	}
	
	#service_process .intro {
		margin-bottom:64px;
	}
	
	#service_process .steps .col {
		flex:0 0 45%;
	}
	
	#service_process .steps .line {
		left:30px;
	}
	
	#service_process .steps .step {
		padding:32px 0;
	}
	
	#service_process .steps .col_1 .step.first_in_col:before,
	#service_process .steps .col_1 .step.last_in_col:before,
	#service_process .steps .col_2 .step.last_in_col:before,
	#service_process .steps .col_2 .step.first_in_col:before {
		width:64px;
	}
	
	#service_process .steps .step .icon {
		flex:0 0 64px;
		margin-right:48px;
	}
	
	#service_process .steps .step .icon .circle {
		width:64px;
		height:64px;
		font-size:1.6em;
	}
	
	#service_process .steps .step .headline {
		margin-bottom:12px;
	}
	
	#service_pricing .intro p {
		font-size:1.2em;
	}
	
	/* -------- products -------- */
	
	.category_list .list_item_category {
		padding:96px 64px;
	}
	
	.category_list .list_item_category .image {
		flex-basis:192px;
	}
	
	.category_list .list_item_category .image .cutout {
		max-width:192px;
		max-height:192px;
	}
	
	.category_list .list_item_category .text .item_headline {
		font-size:2em;
	}
	
	.category_list .list_item_category .text .item_subline {
		font-size:1.2em;
	}
	
	.category_list .list_item_category .text .item_content {
		font-size:1.2em;
	}
  
	
	/* -------- promotions -------- */	
	
	#page_promotions {
		
	}
	
	/* -------- news -------- */
	
	.news_list {
		margin:-16px;
	}
	
	.news_list .news_item {
		margin:16px;
	}
	
	.news_list .news_item .image {
		flex:0 0 360px;
	}
	
	.news_list .news_item .text {
		padding:32px;
	}
	
	.news_list .news_item .text .headline {
		font-size:1.4em;
		margin-bottom:16px;
	}
	
	.news_list .news_item .text .subline {
		font-size:1.1em;
	}
	
	.news_list .news_item .action {
		padding:0 32px 32px 32px;
	}
	
	#news_article .article_headline {
		font-size:3em;
	}
  
  /* -------- testimonials -------- */
  .testimonial-video,
  .testimonial-item{
    flex: 0 0 32.33%;
    margin: .5%;
  }
	
	/* -------- about -------- */
	
	#about_banner {
		height:800px;
	}
	
	/* -------- contact -------- */
	
	/* ---- finance options ---- */
	
	.finance_options .option {
		padding:48px;
	}
	
	.finance_options .option .logo {
		flex-basis:96px;
		margin-bottom:32px;
	}
	
	.finance_options .option .logo img {
		max-width:160px;
		max-height:96px;
	}
	
	.finance_options .option .action {
		margin-top:32px;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@keyframes pulse {
	
	0% {
		transform:scale(0.9);
		opacity:0;
	}
	
	50% {
		transform:scale(1.1);
		opacity:1;
	}
	
	75% {
		transform:scale(0.95);
	}
	
	100% {
		transform:scale(1);
	}
	
}